diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..8df53fe --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ +"presets": ["react-native"] +} \ No newline at end of file diff --git a/.flowconfig b/.flowconfig index 45fd3cc..5912f47 100644 --- a/.flowconfig +++ b/.flowconfig @@ -1,71 +1,18 @@ [ignore] +; We fork some components by platform +.*/*[.]android.js -# We fork some components by platform. -.*/*.web.js -.*/*.android.js +; Ignore "BUCK" generated dirs +/\.buckd/ -# Some modules have their own node_modules with overlap -.*/node_modules/node-haste/.* - -# Ugh -.*/node_modules/babel.* -.*/node_modules/babylon.* -.*/node_modules/invariant.* - -# Ignore react and fbjs where there are overlaps, but don't ignore -# anything that react-native relies on -.*/node_modules/fbjs/lib/Map.js -.*/node_modules/fbjs/lib/ErrorUtils.js - -# Flow has a built-in definition for the 'react' module which we prefer to use -# over the currently-untyped source -.*/node_modules/react/react.js -.*/node_modules/react/lib/React.js -.*/node_modules/react/lib/ReactDOM.js - -.*/__mocks__/.* -.*/__tests__/.* - -.*/commoner/test/source/widget/share.js - -# Ignore commoner tests -.*/node_modules/commoner/test/.* - -# See https://github.com/facebook/flow/issues/442 -.*/react-tools/node_modules/commoner/lib/reader.js - -# Ignore jest -.*/node_modules/jest-cli/.* - -# Ignore Website -.*/website/.* - -# Ignore generators -.*/local-cli/generator.* - -# Ignore BUCK generated folders -.*\.buckd/ - -# Ignore RNPM -.*/local-cli/rnpm/.* - -.*/node_modules/is-my-json-valid/test/.*\.json -.*/node_modules/iconv-lite/encodings/tables/.*\.json -.*/node_modules/y18n/test/.*\.json -.*/node_modules/spdx-license-ids/spdx-license-ids.json -.*/node_modules/spdx-exceptions/index.json -.*/node_modules/resolve/test/subdirs/node_modules/a/b/c/x.json -.*/node_modules/resolve/lib/core.json -.*/node_modules/jsonparse/samplejson/.*\.json -.*/node_modules/json5/test/.*\.json -.*/node_modules/ua-parser-js/test/.*\.json -.*/node_modules/builtin-modules/builtin-modules.json -.*/node_modules/binary-extensions/binary-extensions.json -.*/node_modules/url-regex/tlds.json -.*/node_modules/joi/.*\.json -.*/node_modules/isemail/.*\.json -.*/node_modules/tr46/.*\.json +; Ignore unexpected extra "@providesModule" +.*/node_modules/.*/node_modules/fbjs/.* +; Ignore duplicate module providers +; For RN Apps installed via npm, "Libraries" folder is inside +; "node_modules/react-native" but in the source repo it is in the root +.*/Libraries/react-native/React.js +.*/Libraries/react-native/ReactNative.js [include] @@ -77,8 +24,7 @@ flow/ [options] module.system=haste -esproposal.class_static_fields=enable -esproposal.class_instance_fields=enable +experimental.strict_type_args=true munge_underscores=true @@ -89,9 +35,11 @@ suppress_type=$FlowIssue suppress_type=$FlowFixMe suppress_type=$FixMe -suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(2[0-5]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) -suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(2[0-5]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ +suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(3[0-5]\\|[1-2][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(3[0-5]\\|1[0-9]\\|[1-2][0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy +unsafe.enable_getters_and_setters=true + [version] -^0.25.0 +^0.35.0 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..d42ff18 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.pbxproj -text diff --git a/.gitignore b/.gitignore index 42c9490..93fd764 100644 --- a/.gitignore +++ b/.gitignore @@ -22,11 +22,13 @@ DerivedData *.xcuserstate project.xcworkspace -# Android/IJ +# Android/IntelliJ # +build/ .idea .gradle local.properties +*.iml # node.js # @@ -37,4 +39,4 @@ npm-debug.log buck-out/ \.buckd/ android/app/libs -android/keystores/debug.keystore +*.keystore diff --git a/README.md b/README.md index d07aa9c..3005c9a 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ ## iShiWuPai -iShiWuPai是基于React Native和Redux实现的展示型美食类APP。持续更新中,欢迎一起讨论学习! +iShiWuPai是基于React Native实现的展示型美食类APP,数据来源于[【薄荷】](http://www.boohee.com/)。master分支采用了Redux数据流管理模式,基本为UI展示型APP,未涉及深层内容,适合新人入门和学习。另因个人学习Mobx,新的分支不定时更新中,如有兴趣可移步[alpha分支](https://github.com/ljunb/react-native-iShiWuPai/tree/alpha),已适配iOS和Android两端。 ## 完成功能 -目前只针对iOS端,完成功能: +主分支只针对iOS端,完成功能: - [x] 逛吃界面,支持下拉刷新和上拖加载更多 - [x] 资讯详情界面 - [x] 食物百科界面 @@ -10,10 +10,6 @@ iShiWuPai是基于React Native和Redux实现的展示型美食类APP。持续更 - [x] 搜索历史记录、搜索结果功能及对应排序动画,支持上拖加载更多 - [x] 我的、食物对比基本界面 - [x] 食物对比 -- [ ] 食物详情 -- [ ] 我的页面功能 -- [ ] 分享&收藏 -- [ ] 性能优化 ## 部分功能演示 ![排序](https://github.com/ljunb/react-native-iShiWuPai/blob/master/screenshot/performance.gif) @@ -28,21 +24,21 @@ iShiWuPai是基于React Native和Redux实现的展示型美食类APP。持续更 ## 运行 ``` -$ git clone https://github.com/ljunb/react-native-iShiWuPai.git +$ git clone -b master https://github.com/ljunb/react-native-iShiWuPai.git $ cd react-native-iShiWuPai -$ npm install +$ npm install && react-native link $ react-native run-ios ``` ## 相关依赖 ``` "dependencies": { - "react": "^15.1.0", - "react-native": "^0.27.2", - "react-native-swiper": "^1.4.4", - "react-native-vector-icons": "^2.0.2", - "react-redux": "^4.4.5", - "redux": "^3.5.2", + "react": "^15.3.1", + "react-native": "^0.39.2", + "react-native-swiper": "^1.5.4", + "react-native-vector-icons": "^3.0.0", + "react-redux": "^5.0.1", + "redux": "^3.6.0", "redux-thunk": "^2.1.0" }, ``` \ No newline at end of file diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..ddeb671 --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-time-machine \ No newline at end of file diff --git a/android/app/BUCK b/android/app/BUCK index 55a2344..fcb9ed7 100644 --- a/android/app/BUCK +++ b/android/app/BUCK @@ -5,7 +5,7 @@ import re # - install Buck # - `npm start` - to start the packager # - `cd android` -# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US` +# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"` # - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck # - `buck install -r android/app` - compile, install and run application # diff --git a/android/app/build.gradle b/android/app/build.gradle index af476c8..12b1909 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -55,7 +55,13 @@ import com.android.build.OutputFile * // date; if you have any other folders that you want to ignore for performance reasons (gradle * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ * // for example, you might want to remove it from here. - * inputExcludes: ["android/**", "ios/**"] + * inputExcludes: ["android/**", "ios/**"], + * + * // override which node gets called and with what additional arguments + * nodeExecutableAndArgs: ["node"] + * + * // supply additional arguments to the packager + * extraPackagerArgs: [] * ] */ @@ -129,6 +135,6 @@ dependencies { // Run this once to be able to run the application with BUCK // puts all compile dependencies into folder libs for BUCK to use task copyDownloadableDepsToLibs(type: Copy) { - from configurations.compile - into 'libs' + from configurations.compile + into 'libs' } diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro index 9852871..48361a9 100644 --- a/android/app/proguard-rules.pro +++ b/android/app/proguard-rules.pro @@ -26,11 +26,14 @@ # See http://sourceforge.net/p/proguard/bugs/466/ -keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip -keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters +-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip # Do not strip any method/class that is annotated with @DoNotStrip -keep @com.facebook.proguard.annotations.DoNotStrip class * +-keep @com.facebook.common.internal.DoNotStrip class * -keepclassmembers class * { @com.facebook.proguard.annotations.DoNotStrip *; + @com.facebook.common.internal.DoNotStrip *; } -keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * { diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index b02a2f1..6843a5d 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -11,6 +11,7 @@ android:targetSdkVersion="22" /> getPackages() { - return Arrays.asList( - new MainReactPackage(), - new VectorIconsPackage() - ); - } } diff --git a/android/app/src/main/java/com/ishiwupai/MainApplication.java b/android/app/src/main/java/com/ishiwupai/MainApplication.java new file mode 100644 index 0000000..104104d --- /dev/null +++ b/android/app/src/main/java/com/ishiwupai/MainApplication.java @@ -0,0 +1,44 @@ +package com.ishiwupai; + +import android.app.Application; +import android.util.Log; + +import com.facebook.react.ReactApplication; +import com.oblador.vectoricons.VectorIconsPackage; +import com.facebook.react.ReactInstanceManager; +import com.facebook.react.ReactNativeHost; +import com.facebook.react.ReactPackage; +import com.facebook.react.shell.MainReactPackage; +import com.facebook.soloader.SoLoader; + +import java.util.Arrays; +import java.util.List; + +public class MainApplication extends Application implements ReactApplication { + + private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { + @Override + protected boolean getUseDeveloperSupport() { + return BuildConfig.DEBUG; + } + + @Override + protected List getPackages() { + return Arrays.asList( + new MainReactPackage(), + new VectorIconsPackage() + ); + } + }; + + @Override + public ReactNativeHost getReactNativeHost() { + return mReactNativeHost; + } + + @Override + public void onCreate() { + super.onCreate(); + SoLoader.init(this, /* native exopackage */ false); + } +} diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index 462d85d..329e39a 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,5 +1,3 @@ - - iShiWuPai diff --git a/android/build.gradle b/android/build.gradle index 403a007..fcba4c5 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -18,7 +18,7 @@ allprojects { jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm - url "$projectDir/../../node_modules/react-native/android" + url "$rootDir/../node_modules/react-native/android" } } } diff --git a/android/settings.gradle b/android/settings.gradle index 8a7993d..7f917f3 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,5 +1,5 @@ rootProject.name = 'iShiWuPai' - -include ':app' include ':react-native-vector-icons' project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android') + +include ':app' diff --git a/app/components/Header.js b/app/components/Header.js index 4f17580..1a5fd58 100644 --- a/app/components/Header.js +++ b/app/components/Header.js @@ -9,129 +9,127 @@ import { Text, Image, TouchableOpacity, + PixelRatio, + Dimensions } from 'react-native'; import Icon from 'react-native-vector-icons/FontAwesome'; +import Common from '../common/constants' + +const NavigationBarItem = ({icon, onPress, type}) => { + const style = type == 'left' ? styles.leftIcon : styles.rightIcon + return ( + + + + ) +} -export default class Header extends React.Component { - - render() { - - let NavigationBar = []; - - // 左边图片按钮 - if (this.props.leftIcon != undefined) { - NavigationBar.push( - - - - ) - } - - // 标题 - if (this.props.title != undefined) { - NavigationBar.push( - {this.props.title} - ) - } - - // 自定义标题View - if (this.props.titleView != undefined) { - let Component = this.props.titleView; - - NavigationBar.push( - - ) - } - - // 右边图片按钮 - if (this.props.rightIcon != undefined) { +const TitleBarItem = ({title, onPress}) => { + return ( + + {title} + + ) +} - NavigationBar.push( - - - - ) - } +const MenuItem = ({title, onPress}) => { + return ( + + {title} + + + ) +} - // 右边文字按钮 - if (this.props.rightButton != undefined) { - NavigationBar.push( - - {this.props.rightButton} - - ) - } +export default class Header extends React.Component { - if (this.props.rightMenu != undefined) { - NavigationBar.push( - - {this.props.rightMenu} - - - ) - } + render() { + const { + title, titleView, + leftIcon, leftIconAction, + rightIcon, rightIconAction, + rightButton, rightButtonAction, + rightMenu, rightMenuAction + } = this.props + const TitleView = titleView return ( - {NavigationBar} + + {leftIcon && } + {title && {title}} + {titleView && } + {rightIcon && } + {rightButton && } + {rightMenu && } ) } } const styles = StyleSheet.create({ - navigationBarContainer: { - flexDirection: 'row', - height: 44, + height: 64, + paddingTop: 20, + justifyContent: 'center', alignItems: 'center', - borderBottomColor: '#ccc', - borderBottomWidth: 0.5, - backgroundColor: 'white' + borderBottomColor: '#e9e9e9', + borderBottomWidth: 1 / PixelRatio.get(), + backgroundColor: 'white', + }, + + statusBar: { + position: 'absolute', + top: 0, + height: 20, + width: Common.window.width, + backgroundColor: Common.colors.themeColor }, title: { fontSize: 15, - marginLeft: 15, }, leftIcon: { - marginLeft: 15, + position: 'absolute', + justifyContent: 'center', + alignItems: 'center', + width: 44, + height: 44, + left: 0, + top: 20 }, rightIcon: { position: 'absolute', - right: 10, - top: 7 + justifyContent: 'center', + alignItems: 'center', + width: 44, + height: 44, + right: 0, + top: 20 }, rightButton: { position: 'absolute', - right: 10, + right: 0, + width: 44, height: 44, justifyContent: 'center', - flexDirection: 'row', + alignItems: 'center' }, buttonTitleFont: { @@ -141,9 +139,10 @@ const styles = StyleSheet.create({ rightMenu: { position: 'absolute', - right: 10, + right: 15, + top: 20, height: 44, - justifyContent: 'center', + justifyContent: 'flex-end', flexDirection: 'row', alignItems: 'center' }, diff --git a/app/components/LoadMoreFooter.js b/app/components/LoadMoreFooter.js index 09efc0a..fb6102d 100644 --- a/app/components/LoadMoreFooter.js +++ b/app/components/LoadMoreFooter.js @@ -3,7 +3,7 @@ */ import React from 'react'; import { - ActivityIndicatorIOS, + ActivityIndicator, View, Text, StyleSheet, @@ -13,7 +13,7 @@ export default class LoadMoreFooter extends React.Component { render() { return ( - + 正在加载更多…… ) diff --git a/app/components/Loading.js b/app/components/Loading.js index 421a86d..ea85dbb 100644 --- a/app/components/Loading.js +++ b/app/components/Loading.js @@ -6,7 +6,7 @@ import { StyleSheet, View, Text, - ActivityIndicatorIOS, + ActivityIndicator, } from 'react-native'; import Common from '../common/constants'; @@ -15,7 +15,7 @@ export default class Loading extends React.Component { render() { return ( - + 加载中…… ) diff --git a/app/components/SearchHeader.js b/app/components/SearchHeader.js index 0cf570c..75d7cc4 100644 --- a/app/components/SearchHeader.js +++ b/app/components/SearchHeader.js @@ -8,46 +8,65 @@ import { Text, TouchableOpacity, Image, + PixelRatio } from 'react-native'; import Common from '../common/constants'; export default class SearchHeader extends React.Component { render() { + const {searchAction, scanAction} = this.props + return ( - - - - 请输入食物名称 - - - - + + + + + + 请输入食物名称 + + + + + ) } } const styles = StyleSheet.create({ - header: { - flexDirection: 'row', + navigationBar: { alignItems: 'center', justifyContent: 'center', backgroundColor: 'white', borderBottomColor: '#ccc', - borderBottomWidth: 0.5, + borderBottomWidth: 1 / PixelRatio.get(), + height: 64 + }, + + statusBar: { + height: 20, + width: Common.window.width, + backgroundColor: Common.colors.themeColor + }, + + header: { + alignItems: 'center', + justifyContent: 'center', + backgroundColor: 'white', + flexDirection: 'row' }, searchInput: { diff --git a/app/components/SearchInputBar.js b/app/components/SearchInputBar.js index 56f07bc..a2101d0 100644 --- a/app/components/SearchInputBar.js +++ b/app/components/SearchInputBar.js @@ -8,6 +8,7 @@ import { TextInput, TouchableOpacity, Image, + PixelRatio } from 'react-native'; import Icon from 'react-native-vector-icons/FontAwesome'; @@ -15,12 +16,14 @@ import Common from '../common/constants'; export default class SearchInputBar extends React.Component { render() { + const {backAction, searchAction} = this.props return ( - + + @@ -32,7 +35,7 @@ export default class SearchInputBar extends React.Component { @@ -42,17 +45,26 @@ export default class SearchInputBar extends React.Component { } const styles = StyleSheet.create({ - searchContainer: { - flexDirection: 'row', - height: 44, + navigationBar: { + height: 64, + paddingTop: 20, + justifyContent: 'space-between', alignItems: 'center', - borderBottomColor: '#ccc', - borderBottomWidth: 0.5, + borderBottomColor: '#e9e9e9', + borderBottomWidth: 1 / PixelRatio.get(), backgroundColor: 'white', + flexDirection: 'row' + }, + + leftIcon: { + justifyContent: 'center', + alignItems: 'center', + width: 44, + height: 44, }, textInput: { - width: Common.window.width - 15 - 30 - 20, + width: Common.window.width * 0.7, height: 30, marginTop: 9, paddingLeft: 5, @@ -60,8 +72,17 @@ const styles = StyleSheet.create({ }, searchIcon: { + width: 44, + height: 44, + justifyContent: 'center', + alignItems: 'center' + }, + + statusBar: { position: 'absolute', - right: 15, - top: 12 - } + top: 0, + height: 20, + width: Common.window.width, + backgroundColor: Common.colors.themeColor + }, }) \ No newline at end of file diff --git a/app/components/StatusBarIOS.js b/app/components/StatusBarIOS.js deleted file mode 100644 index 1039a6f..0000000 --- a/app/components/StatusBarIOS.js +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Created by ljunb on 16/5/26. - */ -import React from 'react'; -import { - StyleSheet, - View, - StatusBar, -} from 'react-native'; -import Constants from '../common/constants'; - -export default class StatusBarIOS extends React.Component { - render() { - return ( - - - - - ) - } -} - -const styles = StyleSheet.create({ - statusBar: { - flex: 1, - height: 20, - backgroundColor: Constants.colors.themeColor, - } -}) \ No newline at end of file diff --git a/app/containers/app.js b/app/containers/app.js index a1af904..5f33791 100644 --- a/app/containers/app.js +++ b/app/containers/app.js @@ -5,17 +5,16 @@ import React from 'react'; import { Navigator, View, + StatusBar } from 'react-native'; -import StatusBarIOS from '../components/StatusBarIOS'; import TabBarView from '../containers/TabBarView'; class App extends React.Component { render() { - return ( - + { diff --git a/app/pages/Foods.js b/app/pages/Foods.js index 5ec94ba..210c440 100644 --- a/app/pages/Foods.js +++ b/app/pages/Foods.js @@ -85,7 +85,7 @@ export default class Foods extends React.Component { _renderRow(group) { - let title = '食物分类' + let title = '食物分类'; if (group.kind == 'brand') { title = '热门品牌'; } else if (group.kind == 'restaurant') { @@ -93,7 +93,7 @@ export default class Foods extends React.Component { } return ( - + {title} @@ -121,6 +121,7 @@ export default class Foods extends React.Component { {category.name} @@ -203,7 +204,7 @@ const styles = StyleSheet.create({ }, groupCell: { - borderTopColor: 'rgb(241, 241, 241)', + borderColor: 'rgb(241, 241, 241)', borderTopWidth: 10, paddingTop: 10, }, @@ -227,6 +228,7 @@ const styles = StyleSheet.create({ category: { width: Common.window.width / 3, + height: 60, alignItems: 'center', marginBottom: 25, }, diff --git a/app/pages/FoodsList.js b/app/pages/FoodsList.js index 3c203bc..d19b339 100644 --- a/app/pages/FoodsList.js +++ b/app/pages/FoodsList.js @@ -100,14 +100,14 @@ export default class FoodsList extends React.Component { renderCoverView() { return ( this.handleSortTypesViewAnimation()} > : - + {Search.searchText ? this.renderResultView() : + { InteractionManager.runAfterInteractions(()=>{ @@ -98,7 +98,7 @@ export default class Main extends React.Component { enableEmptySections={true} onScroll={this._onScroll} onEndReached={this._onEndReach.bind(this)} - onEndReachedThreshold={10} + onEndReachedThreshold={20} renderFooter={this._renderFooter.bind(this)} style={{height: Common.window.height - 64}} refreshControl={ diff --git a/app/pages/User.js b/app/pages/User.js index 5c922e7..e22450f 100644 --- a/app/pages/User.js +++ b/app/pages/User.js @@ -9,6 +9,7 @@ import { Image, Switch, TouchableOpacity, + PixelRatio } from 'react-native'; import Common from '../common/constants'; @@ -18,8 +19,9 @@ export default class User extends React.Component { let titles = ['清除缓存', '关于我', '将iShiWuPai分享给朋友']; return ( - + + 我的 @@ -35,20 +37,17 @@ export default class User extends React.Component { // thumbTintColor="white" /> - { - titles.map((title) => { - return ( - - {title} - - - ) - }) - } - + {titles.map((title) => { + return ( + + {title} + + + ) + })} ) } @@ -58,14 +57,12 @@ class HeadView extends React.Component { render() { return ( - - - - - 点击登录 - - - + + + + 点击登录 + + ) } } @@ -97,15 +94,24 @@ class JurisdictionView extends React.Component { const styles = StyleSheet.create({ header: { + paddingTop: 20, justifyContent: 'center', alignItems: 'center', - height: 44, + height: 64, borderBottomColor: '#ccc', - borderBottomWidth: 0.5 + borderBottomWidth: 1/PixelRatio.get() + }, + + statusBar: { + position: 'absolute', + top: 0, + left: 0, + height: 20, + width: Common.window.width, + backgroundColor: Common.colors.themeColor }, myBgImage: { - flex: 1, height: 160, justifyContent: 'center', alignItems: 'center', diff --git a/ios/Podfile b/ios/Podfile deleted file mode 100644 index e69de29..0000000 diff --git a/ios/Podfile.lock b/ios/Podfile.lock deleted file mode 100644 index a8b2796..0000000 --- a/ios/Podfile.lock +++ /dev/null @@ -1 +0,0 @@ -COCOAPODS: 0.39.0 diff --git a/ios/Pods/Manifest.lock b/ios/Pods/Manifest.lock deleted file mode 100644 index a8b2796..0000000 --- a/ios/Pods/Manifest.lock +++ /dev/null @@ -1 +0,0 @@ -COCOAPODS: 0.39.0 diff --git a/ios/Pods/Pods.xcodeproj/project.pbxproj b/ios/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index 47569f6..0000000 --- a/ios/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,272 +0,0 @@ - - - - - archiveVersion - 1 - classes - - objectVersion - 46 - objects - - 052A17875CB827423D627183396CEB60 - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES - CLANG_WARN_UNREACHABLE_CODE - YES - CLANG_WARN__DUPLICATE_METHOD_MATCH - YES - COPY_PHASE_STRIP - YES - ENABLE_NS_ASSERTIONS - NO - GCC_C_LANGUAGE_STANDARD - gnu99 - GCC_PREPROCESSOR_DEFINITIONS - - RELEASE=1 - - GCC_WARN_64_TO_32_BIT_CONVERSION - YES - GCC_WARN_ABOUT_RETURN_TYPE - YES - GCC_WARN_UNDECLARED_SELECTOR - YES - GCC_WARN_UNINITIALIZED_AUTOS - YES - GCC_WARN_UNUSED_FUNCTION - YES - GCC_WARN_UNUSED_VARIABLE - YES - IPHONEOS_DEPLOYMENT_TARGET - 7.0 - STRIP_INSTALLED_PRODUCT - NO - SYMROOT - ${SRCROOT}/../build - VALIDATE_PRODUCT - YES - - isa - XCBuildConfiguration - name - Release - - 09C5E90726D2521A760312DBF50D9358 - - children - - isa - PBXGroup - name - Products - sourceTree - <group> - - 0F8D2E47FE03D3B91B51069F7C273AF4 - - children - - isa - PBXGroup - name - Frameworks - sourceTree - <group> - - 2D8E8EC45A3A1A1D94AE762CB5028504 - - buildConfigurations - - B37F0F91F85060E28F1DAAB522DC7EC1 - 052A17875CB827423D627183396CEB60 - - defaultConfigurationIsVisible - 0 - defaultConfigurationName - Release - isa - XCConfigurationList - - 7DB346D0F39D3F0E887471402A8071AB - - children - - BA6428E9F66FD5A23C0A2E06ED26CD2F - 0F8D2E47FE03D3B91B51069F7C273AF4 - 09C5E90726D2521A760312DBF50D9358 - F6CCA5D896907CE7506C37FD31FC265A - - isa - PBXGroup - sourceTree - <group> - - B37F0F91F85060E28F1DAAB522DC7EC1 - - buildSettings - - ALWAYS_SEARCH_USER_PATHS - NO - CLANG_CXX_LANGUAGE_STANDARD - gnu++0x - CLANG_CXX_LIBRARY - libc++ - CLANG_ENABLE_MODULES - YES - CLANG_ENABLE_OBJC_ARC - YES - CLANG_WARN_BOOL_CONVERSION - YES - CLANG_WARN_CONSTANT_CONVERSION - YES - CLANG_WARN_DIRECT_OBJC_ISA_USAGE - YES - CLANG_WARN_EMPTY_BODY - YES - CLANG_WARN_ENUM_CONVERSION - YES - CLANG_WARN_INT_CONVERSION - YES - CLANG_WARN_OBJC_ROOT_CLASS - YES - CLANG_WARN_UNREACHABLE_CODE - YES - CLANG_WARN__DUPLICATE_METHOD_MATCH - YES - COPY_PHASE_STRIP - NO - GCC_C_LANGUAGE_STANDARD - gnu99 - GCC_DYNAMIC_NO_PIC - NO - GCC_OPTIMIZATION_LEVEL - 0 - GCC_PREPROCESSOR_DEFINITIONS - - DEBUG=1 - $(inherited) - - GCC_SYMBOLS_PRIVATE_EXTERN - NO - GCC_WARN_64_TO_32_BIT_CONVERSION - YES - GCC_WARN_ABOUT_RETURN_TYPE - YES - GCC_WARN_UNDECLARED_SELECTOR - YES - GCC_WARN_UNINITIALIZED_AUTOS - YES - GCC_WARN_UNUSED_FUNCTION - YES - GCC_WARN_UNUSED_VARIABLE - YES - IPHONEOS_DEPLOYMENT_TARGET - 7.0 - ONLY_ACTIVE_ARCH - YES - STRIP_INSTALLED_PRODUCT - NO - SYMROOT - ${SRCROOT}/../build - - isa - XCBuildConfiguration - name - Debug - - BA6428E9F66FD5A23C0A2E06ED26CD2F - - includeInIndex - 1 - isa - PBXFileReference - lastKnownFileType - text - name - Podfile - path - ../Podfile - sourceTree - SOURCE_ROOT - xcLanguageSpecificationIdentifier - xcode.lang.ruby - - D41D8CD98F00B204E9800998ECF8427E - - attributes - - LastSwiftUpdateCheck - 0700 - LastUpgradeCheck - 0700 - - buildConfigurationList - 2D8E8EC45A3A1A1D94AE762CB5028504 - compatibilityVersion - Xcode 3.2 - developmentRegion - English - hasScannedForEncodings - 0 - isa - PBXProject - knownRegions - - en - - mainGroup - 7DB346D0F39D3F0E887471402A8071AB - productRefGroup - 09C5E90726D2521A760312DBF50D9358 - projectDirPath - - projectReferences - - projectRoot - - targets - - - F6CCA5D896907CE7506C37FD31FC265A - - children - - isa - PBXGroup - name - Targets Support Files - sourceTree - <group> - - - rootObject - D41D8CD98F00B204E9800998ECF8427E - - diff --git a/ios/iShiWuPai.xcodeproj/project.pbxproj b/ios/iShiWuPai.xcodeproj/project.pbxproj index 75fd189..5145bb2 100644 --- a/ios/iShiWuPai.xcodeproj/project.pbxproj +++ b/ios/iShiWuPai.xcodeproj/project.pbxproj @@ -13,24 +13,27 @@ 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; 00E356F31AD99517003FC87E /* iShiWuPaiTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* iShiWuPaiTests.m */; }; + 10D1174EBE624CCFBC5294FC /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C5029C54721425D9471E4D5 /* libRNVectorIcons.a */; }; 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; - 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; - 1701D1E646DE4708B4024AF5 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8E6B3B44D192441CBE50B807 /* FontAwesome.ttf */; }; - 199A4888873B4942B4502299 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 49570613E80C4A4386C11C39 /* EvilIcons.ttf */; }; - 4D034ACF5883452494DDBEDB /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1EA0511B668F45F484137B10 /* libRNVectorIcons.a */; }; - 5FAB46D4A2894B328C0BA162 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9DEECCBC62CA46A880865D31 /* Ionicons.ttf */; }; + 15445F2B0C5745AA89F833A6 /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B74D8E70D2484B8D8D35A3C4 /* MaterialIcons.ttf */; }; + 50F6DA7117B44DEBBF4889F0 /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 16DDCAD816B645A5B22C5DAE /* Zocial.ttf */; }; + 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; + 7AAF7756DBE84F6AB9965662 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B28585121B754E98A3C78617 /* Octicons.ttf */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; - A9F22F5AED3E47568D8F11B2 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 77EC83889AB64819A4076E3D /* Foundation.ttf */; }; - C25D1D55F12C46C98726B302 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C6FFE54ED52C4CBEB6DDBDF8 /* Octicons.ttf */; }; - C89D48099CA6426C91B33CA8 /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B969BC81624B42FEA976B73A /* MaterialIcons.ttf */; }; - CB9596ED315A4FD0B0099C16 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0638212C40874F90A55298C4 /* Entypo.ttf */; }; - D5BA7F29A54941A5B504847E /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F861CF0394F54261849733ED /* Zocial.ttf */; }; + 94A878ED2FA6450483D5CED9 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 13E98AFC33A9479B9BD01418 /* Entypo.ttf */; }; + A32E1E359858408AA47FAE06 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0D7F21F6A54C485C8FCFCB7A /* EvilIcons.ttf */; }; + B2EE6F4ADBDB46C78212591C /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2C7852F293784CAD9B5BB852 /* Ionicons.ttf */; }; + EC0D42A41E1FE607008881AE /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = EC0D42A21E1FE607008881AE /* LaunchScreen.xib */; }; + EEC1B9F7E364456085BC3163 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F309242C7D55418EAC6CE01A /* SimpleLineIcons.ttf */; }; + EF95F4A421C94F9AB6622769 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A989F40972D94575817A917A /* Foundation.ttf */; }; + F6A9CB085EBF43AFB4BAA2DF /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = FC5806B73A314FBB9C0E607D /* FontAwesome.ttf */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -97,6 +100,20 @@ remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; remoteInfo = React; }; + 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RCTAnimation; + }; + 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28201D9B03D100D4039D; + remoteInfo = "RCTAnimation-tvOS"; + }; 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; @@ -111,9 +128,58 @@ remoteGlobalIDString = 58B5119B1A9E6C1200147676; remoteInfo = RCTText; }; - EC77BC8E1D1631AC00D45B44 /* PBXContainerItemProxy */ = { + EC20003A1E1E30CD0024CEEF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; + remoteInfo = "RCTImage-tvOS"; + }; + EC20003E1E1E30CE0024CEEF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28471D9B043800D4039D; + remoteInfo = "RCTLinking-tvOS"; + }; + EC2000421E1E30CE0024CEEF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28541D9B044C00D4039D; + remoteInfo = "RCTNetwork-tvOS"; + }; + EC2000461E1E30CE0024CEEF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28611D9B046600D4039D; + remoteInfo = "RCTSettings-tvOS"; + }; + EC20004A1E1E30CE0024CEEF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 31C9FF980E4D4B20AE18485E /* RNVectorIcons.xcodeproj */; + containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A287B1D9B048500D4039D; + remoteInfo = "RCTText-tvOS"; + }; + EC20004F1E1E30CE0024CEEF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28881D9B049200D4039D; + remoteInfo = "RCTWebSocket-tvOS"; + }; + EC2000531E1E30CE0024CEEF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28131D9B038B00D4039D; + remoteInfo = "React-tvOS"; + }; + EC2000561E1E30CE0024CEEF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A702DCEAA0834335AC6C3136 /* RNVectorIcons.xcodeproj */; proxyType = 2; remoteGlobalIDString = 5DBEB1501B18CEA900B34395; remoteInfo = RNVectorIcons; @@ -130,28 +196,30 @@ 00E356EE1AD99517003FC87E /* iShiWuPaiTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = iShiWuPaiTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* iShiWuPaiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = iShiWuPaiTests.m; sourceTree = ""; }; - 0638212C40874F90A55298C4 /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; }; + 0C5029C54721425D9471E4D5 /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = ""; }; + 0D7F21F6A54C485C8FCFCB7A /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; }; 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* iShiWuPai.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iShiWuPai.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = iShiWuPai/AppDelegate.h; sourceTree = ""; }; 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = iShiWuPai/AppDelegate.m; sourceTree = ""; }; - 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = iShiWuPai/Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = iShiWuPai/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = iShiWuPai/main.m; sourceTree = ""; }; + 13E98AFC33A9479B9BD01418 /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; }; 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; - 1EA0511B668F45F484137B10 /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = ""; }; - 31C9FF980E4D4B20AE18485E /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = ""; }; - 49570613E80C4A4386C11C39 /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; }; - 77EC83889AB64819A4076E3D /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = ""; }; + 16DDCAD816B645A5B22C5DAE /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = ""; }; + 2C7852F293784CAD9B5BB852 /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = ""; }; + 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; - 8E6B3B44D192441CBE50B807 /* FontAwesome.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = ""; }; - 9DEECCBC62CA46A880865D31 /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = ""; }; - B969BC81624B42FEA976B73A /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = ""; }; - C6FFE54ED52C4CBEB6DDBDF8 /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = ""; }; - F861CF0394F54261849733ED /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = ""; }; + A702DCEAA0834335AC6C3136 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = ""; }; + A989F40972D94575817A917A /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = ""; }; + B28585121B754E98A3C78617 /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = ""; }; + B74D8E70D2484B8D8D35A3C4 /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = ""; }; + EC0D42A31E1FE607008881AE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = iShiWuPai/Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + F309242C7D55418EAC6CE01A /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = SimpleLineIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = ""; }; + FC5806B73A314FBB9C0E607D /* FontAwesome.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -159,6 +227,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -166,6 +235,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */, 146834051AC3E58100842450 /* libReact.a in Frameworks */, 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, @@ -176,7 +246,7 @@ 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, - 4D034ACF5883452494DDBEDB /* libRNVectorIcons.a in Frameworks */, + 10D1174EBE624CCFBC5294FC /* libRNVectorIcons.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -203,6 +273,7 @@ isa = PBXGroup; children = ( 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, + EC20003B1E1E30CD0024CEEF /* libRCTImage-tvOS.a */, ); name = Products; sourceTree = ""; @@ -211,6 +282,7 @@ isa = PBXGroup; children = ( 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, + EC2000431E1E30CE0024CEEF /* libRCTNetwork-tvOS.a */, ); name = Products; sourceTree = ""; @@ -244,6 +316,7 @@ isa = PBXGroup; children = ( 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, + EC2000471E1E30CE0024CEEF /* libRCTSettings-tvOS.a */, ); name = Products; sourceTree = ""; @@ -252,6 +325,7 @@ isa = PBXGroup; children = ( 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, + EC2000501E1E30CE0024CEEF /* libRCTWebSocket-tvOS.a */, ); name = Products; sourceTree = ""; @@ -264,8 +338,8 @@ 13B07FB01A68108700A75B9A /* AppDelegate.m */, 13B07FB51A68108700A75B9A /* Images.xcassets */, 13B07FB61A68108700A75B9A /* Info.plist */, - 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, 13B07FB71A68108700A75B9A /* main.m */, + EC0D42A21E1FE607008881AE /* LaunchScreen.xib */, ); name = iShiWuPai; sourceTree = ""; @@ -274,29 +348,41 @@ isa = PBXGroup; children = ( 146834041AC3E56700842450 /* libReact.a */, + EC2000541E1E30CE0024CEEF /* libReact-tvOS.a */, ); name = Products; sourceTree = ""; }; - 15322CBA368F45F1B5FE4318 /* Resources */ = { + 5C2F2659878E458CBF0D8086 /* Resources */ = { isa = PBXGroup; children = ( - 0638212C40874F90A55298C4 /* Entypo.ttf */, - 49570613E80C4A4386C11C39 /* EvilIcons.ttf */, - 8E6B3B44D192441CBE50B807 /* FontAwesome.ttf */, - 77EC83889AB64819A4076E3D /* Foundation.ttf */, - 9DEECCBC62CA46A880865D31 /* Ionicons.ttf */, - B969BC81624B42FEA976B73A /* MaterialIcons.ttf */, - C6FFE54ED52C4CBEB6DDBDF8 /* Octicons.ttf */, - F861CF0394F54261849733ED /* Zocial.ttf */, + 13E98AFC33A9479B9BD01418 /* Entypo.ttf */, + 0D7F21F6A54C485C8FCFCB7A /* EvilIcons.ttf */, + FC5806B73A314FBB9C0E607D /* FontAwesome.ttf */, + A989F40972D94575817A917A /* Foundation.ttf */, + 2C7852F293784CAD9B5BB852 /* Ionicons.ttf */, + B74D8E70D2484B8D8D35A3C4 /* MaterialIcons.ttf */, + B28585121B754E98A3C78617 /* Octicons.ttf */, + 16DDCAD816B645A5B22C5DAE /* Zocial.ttf */, + F309242C7D55418EAC6CE01A /* SimpleLineIcons.ttf */, ); name = Resources; sourceTree = ""; }; + 5E91572E1DD0AC6500FF2AA8 /* Products */ = { + isa = PBXGroup; + children = ( + 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */, + 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation-tvOS.a */, + ); + name = Products; + sourceTree = ""; + }; 78C398B11ACF4ADC00677621 /* Products */ = { isa = PBXGroup; children = ( 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, + EC20003F1E1E30CE0024CEEF /* libRCTLinking-tvOS.a */, ); name = Products; sourceTree = ""; @@ -304,6 +390,7 @@ 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( + 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */, 146833FF1AC3E56700842450 /* React.xcodeproj */, 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */, @@ -314,7 +401,7 @@ 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, - 31C9FF980E4D4B20AE18485E /* RNVectorIcons.xcodeproj */, + A702DCEAA0834335AC6C3136 /* RNVectorIcons.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -323,6 +410,7 @@ isa = PBXGroup; children = ( 832341B51AAA6A8300B99B32 /* libRCTText.a */, + EC20004B1E1E30CE0024CEEF /* libRCTText-tvOS.a */, ); name = Products; sourceTree = ""; @@ -334,7 +422,7 @@ 832341AE1AAA6A7D00B99B32 /* Libraries */, 00E356EF1AD99517003FC87E /* iShiWuPaiTests */, 83CBBA001A601CBA00E9B192 /* Products */, - 15322CBA368F45F1B5FE4318 /* Resources */, + 5C2F2659878E458CBF0D8086 /* Resources */, ); indentWidth = 2; sourceTree = ""; @@ -349,10 +437,10 @@ name = Products; sourceTree = ""; }; - EC77BC811D1631AC00D45B44 /* Products */ = { + EC2000321E1E30CD0024CEEF /* Products */ = { isa = PBXGroup; children = ( - EC77BC8F1D1631AC00D45B44 /* libRNVectorIcons.a */, + EC2000571E1E30CE0024CEEF /* libRNVectorIcons.a */, ); name = Products; sourceTree = ""; @@ -427,6 +515,10 @@ ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; }, + { + ProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */; + ProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; + }, { ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; @@ -464,8 +556,8 @@ ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; }, { - ProductGroup = EC77BC811D1631AC00D45B44 /* Products */; - ProjectRef = 31C9FF980E4D4B20AE18485E /* RNVectorIcons.xcodeproj */; + ProductGroup = EC2000321E1E30CD0024CEEF /* Products */; + ProjectRef = A702DCEAA0834335AC6C3136 /* RNVectorIcons.xcodeproj */; }, ); projectRoot = ""; @@ -533,6 +625,20 @@ remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTAnimation.a; + remoteRef = 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTAnimation-tvOS.a"; + remoteRef = 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -547,11 +653,60 @@ remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - EC77BC8F1D1631AC00D45B44 /* libRNVectorIcons.a */ = { + EC20003B1E1E30CD0024CEEF /* libRCTImage-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTImage-tvOS.a"; + remoteRef = EC20003A1E1E30CD0024CEEF /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + EC20003F1E1E30CE0024CEEF /* libRCTLinking-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTLinking-tvOS.a"; + remoteRef = EC20003E1E1E30CE0024CEEF /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + EC2000431E1E30CE0024CEEF /* libRCTNetwork-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTNetwork-tvOS.a"; + remoteRef = EC2000421E1E30CE0024CEEF /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + EC2000471E1E30CE0024CEEF /* libRCTSettings-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTSettings-tvOS.a"; + remoteRef = EC2000461E1E30CE0024CEEF /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + EC20004B1E1E30CE0024CEEF /* libRCTText-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTText-tvOS.a"; + remoteRef = EC20004A1E1E30CE0024CEEF /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + EC2000501E1E30CE0024CEEF /* libRCTWebSocket-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTWebSocket-tvOS.a"; + remoteRef = EC20004F1E1E30CE0024CEEF /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + EC2000541E1E30CE0024CEEF /* libReact-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libReact-tvOS.a"; + remoteRef = EC2000531E1E30CE0024CEEF /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + EC2000571E1E30CE0024CEEF /* libRNVectorIcons.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libRNVectorIcons.a; - remoteRef = EC77BC8E1D1631AC00D45B44 /* PBXContainerItemProxy */; + remoteRef = EC2000561E1E30CE0024CEEF /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXReferenceProxy section */ @@ -569,15 +724,16 @@ buildActionMask = 2147483647; files = ( 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, - 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, - CB9596ED315A4FD0B0099C16 /* Entypo.ttf in Resources */, - 199A4888873B4942B4502299 /* EvilIcons.ttf in Resources */, - 1701D1E646DE4708B4024AF5 /* FontAwesome.ttf in Resources */, - A9F22F5AED3E47568D8F11B2 /* Foundation.ttf in Resources */, - 5FAB46D4A2894B328C0BA162 /* Ionicons.ttf in Resources */, - C89D48099CA6426C91B33CA8 /* MaterialIcons.ttf in Resources */, - C25D1D55F12C46C98726B302 /* Octicons.ttf in Resources */, - D5BA7F29A54941A5B504847E /* Zocial.ttf in Resources */, + 94A878ED2FA6450483D5CED9 /* Entypo.ttf in Resources */, + A32E1E359858408AA47FAE06 /* EvilIcons.ttf in Resources */, + F6A9CB085EBF43AFB4BAA2DF /* FontAwesome.ttf in Resources */, + EF95F4A421C94F9AB6622769 /* Foundation.ttf in Resources */, + B2EE6F4ADBDB46C78212591C /* Ionicons.ttf in Resources */, + 15445F2B0C5745AA89F833A6 /* MaterialIcons.ttf in Resources */, + 7AAF7756DBE84F6AB9965662 /* Octicons.ttf in Resources */, + 50F6DA7117B44DEBBF4889F0 /* Zocial.ttf in Resources */, + EC0D42A41E1FE607008881AE /* LaunchScreen.xib in Resources */, + EEC1B9F7E364456085BC3163 /* SimpleLineIcons.ttf in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -629,13 +785,12 @@ /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { + EC0D42A21E1FE607008881AE /* LaunchScreen.xib */ = { isa = PBXVariantGroup; children = ( - 13B07FB21A68108700A75B9A /* Base */, + EC0D42A31E1FE607008881AE /* Base */, ); name = LaunchScreen.xib; - path = iShiWuPai; sourceTree = ""; }; /* End PBXVariantGroup section */ @@ -650,7 +805,7 @@ "$(inherited)", ); INFOPLIST_FILE = iShiWuPaiTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.2; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", @@ -667,7 +822,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; INFOPLIST_FILE = iShiWuPaiTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.2; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", @@ -682,20 +837,17 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = NO; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, - "$(SRCROOT)/../node_modules/react-native/React/**", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - ); INFOPLIST_FILE = iShiWuPai/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( + "$(inherited)", "-ObjC", "-lc++", ); PRODUCT_NAME = iShiWuPai; + VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; }; @@ -703,19 +855,17 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, - "$(SRCROOT)/../node_modules/react-native/React/**", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - ); + CURRENT_PROJECT_VERSION = 1; INFOPLIST_FILE = iShiWuPai/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ( + "$(inherited)", "-ObjC", "-lc++", ); PRODUCT_NAME = iShiWuPai; + VERSIONING_SYSTEM = "apple-generic"; }; name = Release; }; @@ -755,11 +905,11 @@ GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( "$(inherited)", - /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, "$(SRCROOT)/../node_modules/react-native/React/**", + "$(SRCROOT)/../node_modules/react-native/ReactCommon/**", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", ); - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -796,11 +946,11 @@ GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( "$(inherited)", - /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, "$(SRCROOT)/../node_modules/react-native/React/**", + "$(SRCROOT)/../node_modules/react-native/ReactCommon/**", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", ); - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; diff --git a/ios/iShiWuPai.xcworkspace/contents.xcworkspacedata b/ios/iShiWuPai.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index a18f0d8..0000000 --- a/ios/iShiWuPai.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/ios/iShiWuPai/AppDelegate.m b/ios/iShiWuPai/AppDelegate.m index dbf9541..6977111 100644 --- a/ios/iShiWuPai/AppDelegate.m +++ b/ios/iShiWuPai/AppDelegate.m @@ -9,6 +9,7 @@ #import "AppDelegate.h" +#import "RCTBundleURLProvider.h" #import "RCTRootView.h" @implementation AppDelegate @@ -17,31 +18,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( { NSURL *jsCodeLocation; - /** - * Loading JavaScript code - uncomment the one you want. - * - * OPTION 1 - * Load from development server. Start the server from the repository root: - * - * $ npm start - * - * To run on device, change `localhost` to the IP address of your computer - * (you can get this by typing `ifconfig` into the terminal and selecting the - * `inet` value under `en0:`) and make sure your computer and iOS device are - * on the same Wi-Fi network. - */ - - jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"]; - - /** - * OPTION 2 - * Load from pre-bundled file on disk. The static bundle is automatically - * generated by the "Bundle React Native code and images" build step when - * running the project on an actual device or running the project on the - * simulator in the "Release" build configuration. - */ - -// jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; + jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"iShiWuPai" diff --git a/ios/iShiWuPai/Base.lproj/LaunchScreen.xib b/ios/iShiWuPai/Base.lproj/LaunchScreen.xib index b5ef772..032d867 100644 --- a/ios/iShiWuPai/Base.lproj/LaunchScreen.xib +++ b/ios/iShiWuPai/Base.lproj/LaunchScreen.xib @@ -1,9 +1,12 @@ - - + + + + + - - + + @@ -12,31 +15,23 @@ - - + + + - + - - - - - - + + + + + + + diff --git a/ios/iShiWuPai/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/iShiWuPai/Images.xcassets/AppIcon.appiconset/Contents.json index 1024a77..09e28ea 100644 --- a/ios/iShiWuPai/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/iShiWuPai/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,5 +1,15 @@ { "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, { "size" : "29x29", "idiom" : "iphone", diff --git a/ios/iShiWuPai/Images.xcassets/launch.imageset/Contents.json b/ios/iShiWuPai/Images.xcassets/launch.imageset/Contents.json new file mode 100644 index 0000000..5989f83 --- /dev/null +++ b/ios/iShiWuPai/Images.xcassets/launch.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "launch.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ios/iShiWuPai/Images.xcassets/launch.imageset/launch.png b/ios/iShiWuPai/Images.xcassets/launch.imageset/launch.png new file mode 100644 index 0000000..6f5a47f Binary files /dev/null and b/ios/iShiWuPai/Images.xcassets/launch.imageset/launch.png differ diff --git a/ios/iShiWuPai/Info.plist b/ios/iShiWuPai/Info.plist index df389b1..09f34d5 100644 --- a/ios/iShiWuPai/Info.plist +++ b/ios/iShiWuPai/Info.plist @@ -1,58 +1,67 @@ - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - NSLocationWhenInUseUsageDescription - - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - UIAppFonts - - Entypo.ttf - EvilIcons.ttf - FontAwesome.ttf - Foundation.ttf - Ionicons.ttf - MaterialIcons.ttf - Octicons.ttf - Zocial.ttf - - - \ No newline at end of file + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + 食物派RN + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSExceptionDomains + + localhost + + NSTemporaryExceptionAllowsInsecureHTTPLoads + + + + + NSLocationWhenInUseUsageDescription + + UIAppFonts + + Entypo.ttf + EvilIcons.ttf + FontAwesome.ttf + Foundation.ttf + Ionicons.ttf + MaterialIcons.ttf + Octicons.ttf + Zocial.ttf + SimpleLineIcons.ttf + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/package.json b/package.json index a9b71f4..2ea025d 100644 --- a/package.json +++ b/package.json @@ -6,12 +6,12 @@ "start": "node node_modules/react-native/local-cli/cli.js start" }, "dependencies": { - "react": "^15.1.0", - "react-native": "^0.27.2", - "react-native-swiper": "^1.4.4", - "react-native-vector-icons": "^2.0.2", - "react-redux": "^4.4.5", - "redux": "^3.5.2", + "react": "^15.3.1", + "react-native": "^0.39.2", + "react-native-swiper": "^1.5.4", + "react-native-vector-icons": "^3.0.0", + "react-redux": "^5.0.1", + "redux": "^3.6.0", "redux-thunk": "^2.1.0" }, "devDependencies": {