diff --git a/.babelrc b/.babelrc index a9ce1369..8df53fe4 100644 --- a/.babelrc +++ b/.babelrc @@ -1,3 +1,3 @@ { - "presets": ["react-native"] -} +"presets": ["react-native"] +} \ No newline at end of file diff --git a/.flowconfig b/.flowconfig index 712a830e..b38ea97e 100644 --- a/.flowconfig +++ b/.flowconfig @@ -1,13 +1,18 @@ [ignore] +; We fork some components by platform +.*/*[.]android.js -# We fork some components by platform. -.*/*.android.js +; Ignore "BUCK" generated dirs +/\.buckd/ -# Ignore templates with `@flow` in header -.*/local-cli/generator.* +; Ignore unexpected extra "@providesModule" +.*/node_modules/.*/node_modules/fbjs/.* -# Ignore malformed json -.*/node_modules/y18n/test/.*\.json +; 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] @@ -19,20 +24,21 @@ flow/ [options] module.system=haste -esproposal.class_static_fields=enable -esproposal.class_instance_fields=enable - experimental.strict_type_args=true munge_underscores=true -module.name_mapper='^image![a-zA-Z0-9$_-]+$' -> 'GlobalImageStub' module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' suppress_type=$FlowIssue suppress_type=$FlowFixMe suppress_type=$FixMe -suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(2[0-7]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) -suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(2[0-7]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ +suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(3[0-7]\\|[1-2][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(3[0-7]\\|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.37.0 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..d42ff183 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.pbxproj -text diff --git a/.gitignore b/.gitignore index 8d1a9e3c..587d0338 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,7 @@ # OSX # .DS_Store -.tern-port - + # Xcode # build/ @@ -23,30 +22,39 @@ DerivedData *.xcuserstate project.xcworkspace -#Fastlane output of gym -snowflake.app.dSYM.zip - -# Android/IJ +# Android/IntelliJ # -*.iml +build/ .idea .gradle local.properties +*.iml # node.js # -npm-debug.log node_modules/ -# jest -coverage/ - -src/lib/config.js +npm-debug.log +yarn-error.log # BUCK buck-out/ \.buckd/ android/app/libs -android/keystores/debug.keystore +*.keystore + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots + +# Jest test coverage +coverage -#vs code -.vscode/ \ No newline at end of file +# app configuration +src/lib/config.js \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle index 37d8f28a..8684ef0c 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -66,7 +66,7 @@ import com.android.build.OutputFile */ apply from: "../../node_modules/react-native/react.gradle" -apply from: "../../node_modules/react-native-vector-icons/fonts.gradle" + /** * Set this to true to create two separate APKs instead of one: * - An APK that only works on ARM devices @@ -126,6 +126,7 @@ android { } dependencies { + compile project(':react-native-vector-icons') compile project(':react-native-simpledialog-android') compile project(':react-native-i18n') compile fileTree(dir: "libs", include: ["*.jar"]) @@ -136,6 +137,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/src/main/assets/fonts/Entypo.ttf b/android/app/src/main/assets/fonts/Entypo.ttf new file mode 100644 index 00000000..1c8f5e91 Binary files /dev/null and b/android/app/src/main/assets/fonts/Entypo.ttf differ diff --git a/android/app/src/main/assets/fonts/EvilIcons.ttf b/android/app/src/main/assets/fonts/EvilIcons.ttf new file mode 100644 index 00000000..b270f985 Binary files /dev/null and b/android/app/src/main/assets/fonts/EvilIcons.ttf differ diff --git a/android/app/src/main/assets/fonts/FontAwesome.ttf b/android/app/src/main/assets/fonts/FontAwesome.ttf new file mode 100644 index 00000000..35acda2f Binary files /dev/null and b/android/app/src/main/assets/fonts/FontAwesome.ttf differ diff --git a/android/app/src/main/assets/fonts/Foundation.ttf b/android/app/src/main/assets/fonts/Foundation.ttf new file mode 100644 index 00000000..6cce217d Binary files /dev/null and b/android/app/src/main/assets/fonts/Foundation.ttf differ diff --git a/android/app/src/main/assets/fonts/Ionicons.ttf b/android/app/src/main/assets/fonts/Ionicons.ttf new file mode 100644 index 00000000..307ad889 Binary files /dev/null and b/android/app/src/main/assets/fonts/Ionicons.ttf differ diff --git a/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf b/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf new file mode 100644 index 00000000..fb796951 Binary files /dev/null and b/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf differ diff --git a/android/app/src/main/assets/fonts/MaterialIcons.ttf b/android/app/src/main/assets/fonts/MaterialIcons.ttf new file mode 100644 index 00000000..7015564a Binary files /dev/null and b/android/app/src/main/assets/fonts/MaterialIcons.ttf differ diff --git a/android/app/src/main/assets/fonts/Octicons.ttf b/android/app/src/main/assets/fonts/Octicons.ttf new file mode 100644 index 00000000..5b1f7d6e Binary files /dev/null and b/android/app/src/main/assets/fonts/Octicons.ttf differ diff --git a/android/app/src/main/assets/fonts/SimpleLineIcons.ttf b/android/app/src/main/assets/fonts/SimpleLineIcons.ttf new file mode 100644 index 00000000..6ecb6868 Binary files /dev/null and b/android/app/src/main/assets/fonts/SimpleLineIcons.ttf differ diff --git a/android/app/src/main/assets/fonts/Zocial.ttf b/android/app/src/main/assets/fonts/Zocial.ttf new file mode 100644 index 00000000..e4ae46c6 Binary files /dev/null and b/android/app/src/main/assets/fonts/Zocial.ttf differ diff --git a/android/app/src/main/java/com/snowflake/MainApplication.java b/android/app/src/main/java/com/snowflake/MainApplication.java index 0274c47b..458f5ad2 100644 --- a/android/app/src/main/java/com/snowflake/MainApplication.java +++ b/android/app/src/main/java/com/snowflake/MainApplication.java @@ -6,10 +6,12 @@ import com.facebook.react.ReactApplication; import com.burnweb.rnsimplealertdialog.RNSimpleAlertDialogPackage; import com.i18n.reactnativei18n.ReactNativeI18n; +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; @@ -18,7 +20,7 @@ public class MainApplication extends Application implements ReactApplication { private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { @Override - protected boolean getUseDeveloperSupport() { + public boolean getUseDeveloperSupport() { return BuildConfig.DEBUG; } @@ -27,13 +29,19 @@ protected List getPackages() { return Arrays.asList( new MainReactPackage(), new RNSimpleAlertDialogPackage(), - new ReactNativeI18n() + new VectorIconsPackage() ); } }; @Override public ReactNativeHost getReactNativeHost() { - return mReactNativeHost; + 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 ce5b4c2f..99e39ef5 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,9 +1,3 @@ - - - - - - snowflake diff --git a/android/build.gradle b/android/build.gradle index fcba4c58..eed9972b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:1.3.1' + classpath 'com.android.tools.build:gradle:2.2.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index b9fbfaba..ce951e93 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Fri Feb 24 18:23:09 CET 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip diff --git a/android/settings.gradle b/android/settings.gradle index b6e4a620..027db695 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,4 +1,6 @@ rootProject.name = 'snowflake' +include ':react-native-vector-icons' +project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android') include ':app' include ':react-native-simpledialog-android' diff --git a/app.json b/app.json new file mode 100644 index 00000000..3855bff1 --- /dev/null +++ b/app.json @@ -0,0 +1,4 @@ +{ + "name": "snowflake", + "displayName": "snowflake" +} \ No newline at end of file diff --git a/ios/FontAwesome.ttf b/ios/FontAwesome.ttf index d7994e13..35acda2f 100644 Binary files a/ios/FontAwesome.ttf and b/ios/FontAwesome.ttf differ diff --git a/ios/snowflake-tvOS/Info.plist b/ios/snowflake-tvOS/Info.plist new file mode 100644 index 00000000..2fb6a11c --- /dev/null +++ b/ios/snowflake-tvOS/Info.plist @@ -0,0 +1,54 @@ + + + + + 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 + + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + + diff --git a/ios/snowflake-tvOSTests/Info.plist b/ios/snowflake-tvOSTests/Info.plist new file mode 100644 index 00000000..886825cc --- /dev/null +++ b/ios/snowflake-tvOSTests/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/ios/snowflake.xcodeproj/project.pbxproj b/ios/snowflake.xcodeproj/project.pbxproj index 478b39f9..99cb7cca 100644 --- a/ios/snowflake.xcodeproj/project.pbxproj +++ b/ios/snowflake.xcodeproj/project.pbxproj @@ -5,7 +5,6 @@ }; objectVersion = 46; objects = { - /* Begin PBXBuildFile section */ 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; @@ -22,17 +21,37 @@ 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 */; }; - 23C4801D639B4D54B38E69B5 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7ED984D34C16434EA8C4C768 /* Entypo.ttf */; }; - 26C60313DC6E4ACBB8A3E012 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F3684ED0774C476A9927C2E0 /* EvilIcons.ttf */; }; - 411721BC829B4B05875F77D2 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F4097A8CD5EE41829C932B79 /* Octicons.ttf */; }; - 4D5A8358ED4648DCA9EF03C5 /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9F8BFF77D4524F448A3482C4 /* MaterialIcons.ttf */; }; - 5831F9276B0B4F3E8834529B /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F1322AC77C46403CB5D6F353 /* FontAwesome.ttf */; }; - 5E6E72CC525B4B5982FB76DE /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5572187539064C678E9A3BEE /* Zocial.ttf */; }; - 69C576D689E240DEB0789BC8 /* libRNI18n.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5EA2328395E04F33968D1603 /* libRNI18n.a */; }; + 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; + 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation-tvOS.a */; }; + 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */; }; + 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */; }; + 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */; }; + 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */; }; + 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */; }; + 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; }; + 2D02E4C91E0B4AEC006451C7 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; }; + 2DCD954D1E0B4F2C00145EB5 /* snowflakeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* snowflakeTests.m */; }; + 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; - 83CB0DAC888843F2AD6221CC /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 3CC28823B50A4E9EBA68016B /* Foundation.ttf */; }; - B65E7ACF9E8E4CB395A84872 /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 10010D58D66C4C7987A78006 /* libRNVectorIcons.a */; }; - D760CA904B854635A18F4A56 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D7DF56CC491D48C5B76A89E6 /* Ionicons.ttf */; }; + A72D1C3D1E5CFFFC005D3FEE /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A72D1C3C1E5CFFFC005D3FEE /* FontAwesome.ttf */; }; + A72D1C3E1E5CFFFC005D3FEE /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A72D1C3C1E5CFFFC005D3FEE /* FontAwesome.ttf */; }; + B628C1C7250C4CFEA506E1B3 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D06D317BAE4C47ADAD09C440 /* libReact.a */; }; + D1280981FEE14E789EB7447D /* libyoga.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BD69D7D1997747ABB10C3D78 /* libyoga.a */; }; + 1ADD186AFFDE4DDF88709045 /* libcxxreact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 659CE02BA53041A4B90BFB08 /* libcxxreact.a */; }; + 272C6948188A4009B65D3E04 /* libjschelpers.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F5F85E4CB0BF4B68BE2DBA4E /* libjschelpers.a */; }; + B095077C87844596A406D40D /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D5AC7184EEF84C42A266B4FB /* libRNVectorIcons.a */; }; + 4FA109E661114640B2551220 /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 4FABD879B0BB47C1BD539EED /* Entypo.ttf */; }; + 98F609FC46D84C2F9630EEB7 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE3EC0F13BC741E68DEC57B7 /* EvilIcons.ttf */; }; + 76AD6A8CAF7B400FAE3AD7B2 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 5DBEA62C16B14F3C98FEBBC2 /* FontAwesome.ttf */; }; + FB9FCCE6EB574BBC8CE7E152 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BC08FA17CEBC439287B3988C /* Foundation.ttf */; }; + 98B280A6F15C493A9E3EF4E3 /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 359C2E0630BF486EB7677D49 /* Ionicons.ttf */; }; + 23B03FDCBF7D4289B7B1D574 /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C8720F1F1DAE407E83A754E7 /* MaterialCommunityIcons.ttf */; }; + 753C3B9DCE50454795C17A2B /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EE7B395B76054198A520945E /* MaterialIcons.ttf */; }; + B2DF996FC2514CED8F8E5266 /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C9B4C62894FB418B892B6966 /* Octicons.ttf */; }; + 5D363C824A19462AA165D794 /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CF489282CB944D65A126CA93 /* SimpleLineIcons.ttf */; }; + 182CCD8A25CE4D7FB9C1FC01 /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B7286A7C88064705A74E632D /* Zocial.ttf */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -99,26 +118,117 @@ remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; remoteInfo = React; }; - 369EFF9D1D75E181001AEF71 /* PBXContainerItemProxy */ = { + 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7; + remoteInfo = "snowflake-tvOS"; + }; + 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; + remoteInfo = "RCTImage-tvOS"; + }; + 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28471D9B043800D4039D; + remoteInfo = "RCTLinking-tvOS"; + }; + 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28541D9B044C00D4039D; + remoteInfo = "RCTNetwork-tvOS"; + }; + 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28611D9B046600D4039D; + remoteInfo = "RCTSettings-tvOS"; + }; + 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A287B1D9B048500D4039D; + remoteInfo = "RCTText-tvOS"; + }; + 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28881D9B049200D4039D; + remoteInfo = "RCTWebSocket-tvOS"; + }; + 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A28131D9B038B00D4039D; + remoteInfo = "React-tvOS"; + }; + 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3C059A1DE3340900C268FA; + remoteInfo = yoga; + }; + 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3C06751DE3340C00C268FA; + remoteInfo = "yoga-tvOS"; + }; + 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = E8FB7D755BDD478A96EEEAAF /* RNI18n.xcodeproj */; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; proxyType = 2; - remoteGlobalIDString = CDD7BF781B2D5125006FDA75; - remoteInfo = RNI18n; + remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4; + remoteInfo = cxxreact; }; - 369EFF9F1D75E181001AEF71 /* PBXContainerItemProxy */ = { + 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = E8FB7D755BDD478A96EEEAAF /* RNI18n.xcodeproj */; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; proxyType = 2; - remoteGlobalIDString = CDD7BF831B2D5126006FDA75; - remoteInfo = RNI18nTests; + remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; + remoteInfo = "cxxreact-tvOS"; }; - 369EFFA21D75E181001AEF71 /* PBXContainerItemProxy */ = { + 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 1B9D93BF176D4A2685E7E033 /* RNVectorIcons.xcodeproj */; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; proxyType = 2; - remoteGlobalIDString = 5DBEB1501B18CEA900B34395; - remoteInfo = RNVectorIcons; + remoteGlobalIDString = 3D3CD90B1DE5FBD600167DC4; + remoteInfo = jschelpers; + }; + 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D3CD9181DE5FBD800167DC4; + remoteInfo = "jschelpers-tvOS"; + }; + 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; @@ -146,7 +256,6 @@ 00E356EE1AD99517003FC87E /* snowflakeTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = snowflakeTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* snowflakeTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = snowflakeTests.m; sourceTree = ""; }; - 10010D58D66C4C7987A78006 /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; 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 /* snowflake.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = snowflake.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -157,19 +266,29 @@ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = snowflake/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = snowflake/main.m; sourceTree = ""; }; 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; - 1B9D93BF176D4A2685E7E033 /* 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 = ""; }; - 3CC28823B50A4E9EBA68016B /* 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 = ""; }; - 5572187539064C678E9A3BEE /* 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 = ""; }; - 5EA2328395E04F33968D1603 /* libRNI18n.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNI18n.a; sourceTree = ""; }; + 2D02E47B1E0B4A5D006451C7 /* snowflake-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "snowflake-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2D02E4901E0B4A5D006451C7 /* snowflake-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "snowflake-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 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 = ""; }; - 7ED984D34C16434EA8C4C768 /* 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 = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; - 9F8BFF77D4524F448A3482C4 /* 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 = ""; }; - D7DF56CC491D48C5B76A89E6 /* 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 = ""; }; - E8FB7D755BDD478A96EEEAAF /* RNI18n.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNI18n.xcodeproj; path = "../node_modules/react-native-i18n/RNI18n.xcodeproj"; sourceTree = ""; }; - F1322AC77C46403CB5D6F353 /* 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 = ""; }; - F3684ED0774C476A9927C2E0 /* 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 = ""; }; - F4097A8CD5EE41829C932B79 /* 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 = ""; }; + A72D1C3C1E5CFFFC005D3FEE /* FontAwesome.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FontAwesome.ttf; sourceTree = ""; }; + E642D10A858F487A98D9952D /* RNI18n.xcodeproj */ = {isa = PBXFileReference; name = "RNI18n.xcodeproj"; path = "../node_modules/react-native-i18n/RNI18n.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; }; + D06D317BAE4C47ADAD09C440 /* libReact.a */ = {isa = PBXFileReference; name = "libReact.a"; path = "libReact.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; + BD69D7D1997747ABB10C3D78 /* libyoga.a */ = {isa = PBXFileReference; name = "libyoga.a"; path = "libyoga.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; + 659CE02BA53041A4B90BFB08 /* libcxxreact.a */ = {isa = PBXFileReference; name = "libcxxreact.a"; path = "libcxxreact.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; + F5F85E4CB0BF4B68BE2DBA4E /* libjschelpers.a */ = {isa = PBXFileReference; name = "libjschelpers.a"; path = "libjschelpers.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; + 4EFEBAB5CDF442F7B1778328 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; name = "RNVectorIcons.xcodeproj"; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; }; + D5AC7184EEF84C42A266B4FB /* libRNVectorIcons.a */ = {isa = PBXFileReference; name = "libRNVectorIcons.a"; path = "libRNVectorIcons.a"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; }; + 4FABD879B0BB47C1BD539EED /* Entypo.ttf */ = {isa = PBXFileReference; name = "Entypo.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + BE3EC0F13BC741E68DEC57B7 /* EvilIcons.ttf */ = {isa = PBXFileReference; name = "EvilIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + 5DBEA62C16B14F3C98FEBBC2 /* FontAwesome.ttf */ = {isa = PBXFileReference; name = "FontAwesome.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + BC08FA17CEBC439287B3988C /* Foundation.ttf */ = {isa = PBXFileReference; name = "Foundation.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + 359C2E0630BF486EB7677D49 /* Ionicons.ttf */ = {isa = PBXFileReference; name = "Ionicons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + C8720F1F1DAE407E83A754E7 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; name = "MaterialCommunityIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + EE7B395B76054198A520945E /* MaterialIcons.ttf */ = {isa = PBXFileReference; name = "MaterialIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + C9B4C62894FB418B892B6966 /* Octicons.ttf */ = {isa = PBXFileReference; name = "Octicons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + CF489282CB944D65A126CA93 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; name = "SimpleLineIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; + B7286A7C88064705A74E632D /* Zocial.ttf */ = {isa = PBXFileReference; name = "Zocial.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -186,6 +305,7 @@ buildActionMask = 2147483647; files = ( 146834051AC3E58100842450 /* libReact.a in Frameworks */, + 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */, 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, @@ -195,8 +315,33 @@ 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, - 69C576D689E240DEB0789BC8 /* libRNI18n.a in Frameworks */, - B65E7ACF9E8E4CB395A84872 /* libRNVectorIcons.a in Frameworks */, + B628C1C7250C4CFEA506E1B3 /* libReact.a in Frameworks */, + D1280981FEE14E789EB7447D /* libyoga.a in Frameworks */, + 1ADD186AFFDE4DDF88709045 /* libcxxreact.a in Frameworks */, + 272C6948188A4009B65D3E04 /* libjschelpers.a in Frameworks */, + B095077C87844596A406D40D /* libRNVectorIcons.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2D02E4781E0B4A5D006451C7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 2D02E4C91E0B4AEC006451C7 /* libReact.a in Frameworks */, + 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation-tvOS.a in Frameworks */, + 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */, + 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */, + 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */, + 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */, + 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */, + 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2D02E48D1E0B4A5D006451C7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( ); runOnlyForDeploymentPostprocessing = 0; }; @@ -223,6 +368,7 @@ isa = PBXGroup; children = ( 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, + 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */, ); name = Products; sourceTree = ""; @@ -231,6 +377,7 @@ isa = PBXGroup; children = ( 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, + 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */, ); name = Products; sourceTree = ""; @@ -264,6 +411,7 @@ isa = PBXGroup; children = ( 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, + 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */, ); name = Products; sourceTree = ""; @@ -272,6 +420,7 @@ isa = PBXGroup; children = ( 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, + 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */, ); name = Products; sourceTree = ""; @@ -285,6 +434,7 @@ 13B07FB51A68108700A75B9A /* Images.xcassets */, 13B07FB61A68108700A75B9A /* Info.plist */, 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, + A72D1C3C1E5CFFFC005D3FEE /* FontAwesome.ttf */, 13B07FB71A68108700A75B9A /* main.m */, ); name = snowflake; @@ -294,38 +444,22 @@ isa = PBXGroup; children = ( 146834041AC3E56700842450 /* libReact.a */, + 3DAD3EA31DF850E9000B6D8A /* libReact.a */, + 3DAD3EA51DF850E9000B6D8A /* libyoga.a */, + 3DAD3EA71DF850E9000B6D8A /* libyoga.a */, + 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */, + 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */, + 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */, + 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */, ); name = Products; sourceTree = ""; }; - 1B028B8FCBD9451B87521A0F /* Resources */ = { - isa = PBXGroup; - children = ( - 7ED984D34C16434EA8C4C768 /* Entypo.ttf */, - F3684ED0774C476A9927C2E0 /* EvilIcons.ttf */, - F1322AC77C46403CB5D6F353 /* FontAwesome.ttf */, - 3CC28823B50A4E9EBA68016B /* Foundation.ttf */, - D7DF56CC491D48C5B76A89E6 /* Ionicons.ttf */, - 9F8BFF77D4524F448A3482C4 /* MaterialIcons.ttf */, - F4097A8CD5EE41829C932B79 /* Octicons.ttf */, - 5572187539064C678E9A3BEE /* Zocial.ttf */, - ); - name = Resources; - sourceTree = ""; - }; - 369EFF8D1D75E180001AEF71 /* Products */ = { - isa = PBXGroup; - children = ( - 369EFF9E1D75E181001AEF71 /* libRNI18n.a */, - 369EFFA01D75E181001AEF71 /* RNI18nTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 369EFF8F1D75E180001AEF71 /* Products */ = { + 5E91572E1DD0AC6500FF2AA8 /* Products */ = { isa = PBXGroup; children = ( - 369EFFA31D75E181001AEF71 /* libRNVectorIcons.a */, + 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */, + 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation-tvOS.a */, ); name = Products; sourceTree = ""; @@ -334,6 +468,7 @@ isa = PBXGroup; children = ( 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, + 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */, ); name = Products; sourceTree = ""; @@ -341,6 +476,7 @@ 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( + 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */, 146833FF1AC3E56700842450 /* React.xcodeproj */, 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */, @@ -351,8 +487,8 @@ 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, - E8FB7D755BDD478A96EEEAAF /* RNI18n.xcodeproj */, - 1B9D93BF176D4A2685E7E033 /* RNVectorIcons.xcodeproj */, + E642D10A858F487A98D9952D /* RNI18n.xcodeproj */, + 4EFEBAB5CDF442F7B1778328 /* RNVectorIcons.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -361,6 +497,7 @@ isa = PBXGroup; children = ( 832341B51AAA6A8300B99B32 /* libRCTText.a */, + 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */, ); name = Products; sourceTree = ""; @@ -372,7 +509,7 @@ 832341AE1AAA6A7D00B99B32 /* Libraries */, 00E356EF1AD99517003FC87E /* snowflakeTests */, 83CBBA001A601CBA00E9B192 /* Products */, - 1B028B8FCBD9451B87521A0F /* Resources */, + E20F7E2B362D4016AC02C5EF /* Resources */, ); indentWidth = 2; sourceTree = ""; @@ -383,10 +520,30 @@ children = ( 13B07F961A680F5B00A75B9A /* snowflake.app */, 00E356EE1AD99517003FC87E /* snowflakeTests.xctest */, + 2D02E47B1E0B4A5D006451C7 /* snowflake-tvOS.app */, + 2D02E4901E0B4A5D006451C7 /* snowflake-tvOSTests.xctest */, ); name = Products; sourceTree = ""; }; + E20F7E2B362D4016AC02C5EF /* Resources */ = { + isa = PBXGroup; + children = ( + 4FABD879B0BB47C1BD539EED /* Entypo.ttf */, + BE3EC0F13BC741E68DEC57B7 /* EvilIcons.ttf */, + 5DBEA62C16B14F3C98FEBBC2 /* FontAwesome.ttf */, + BC08FA17CEBC439287B3988C /* Foundation.ttf */, + 359C2E0630BF486EB7677D49 /* Ionicons.ttf */, + C8720F1F1DAE407E83A754E7 /* MaterialCommunityIcons.ttf */, + EE7B395B76054198A520945E /* MaterialIcons.ttf */, + C9B4C62894FB418B892B6966 /* Octicons.ttf */, + CF489282CB944D65A126CA93 /* SimpleLineIcons.ttf */, + B7286A7C88064705A74E632D /* Zocial.ttf */, + ); + name = Resources; + path = ""; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -426,13 +583,49 @@ productReference = 13B07F961A680F5B00A75B9A /* snowflake.app */; productType = "com.apple.product-type.application"; }; + 2D02E47A1E0B4A5D006451C7 /* snowflake-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "snowflake-tvOS" */; + buildPhases = ( + 2D02E4771E0B4A5D006451C7 /* Sources */, + 2D02E4781E0B4A5D006451C7 /* Frameworks */, + 2D02E4791E0B4A5D006451C7 /* Resources */, + 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "snowflake-tvOS"; + productName = "snowflake-tvOS"; + productReference = 2D02E47B1E0B4A5D006451C7 /* snowflake-tvOS.app */; + productType = "com.apple.product-type.application"; + }; + 2D02E48F1E0B4A5D006451C7 /* snowflake-tvOSTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "snowflake-tvOSTests" */; + buildPhases = ( + 2D02E48C1E0B4A5D006451C7 /* Sources */, + 2D02E48D1E0B4A5D006451C7 /* Frameworks */, + 2D02E48E1E0B4A5D006451C7 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */, + ); + name = "snowflake-tvOSTests"; + productName = "snowflake-tvOSTests"; + productReference = 2D02E4901E0B4A5D006451C7 /* snowflake-tvOSTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 83CBB9F71A601CBA00E9B192 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 610; + LastUpgradeCheck = 820; ORGANIZATIONNAME = Facebook; TargetAttributes = { 00E356ED1AD99517003FC87E = { @@ -440,7 +633,16 @@ TestTargetID = 13B07F861A680F5B00A75B9A; }; 13B07F861A680F5B00A75B9A = { - DevelopmentTeam = BJW5E7FWWV; + ProvisioningStyle = Manual; + }; + 2D02E47A1E0B4A5D006451C7 = { + CreatedOnToolsVersion = 8.2.1; + ProvisioningStyle = Automatic; + }; + 2D02E48F1E0B4A5D006451C7 = { + CreatedOnToolsVersion = 8.2.1; + ProvisioningStyle = Automatic; + TestTargetID = 2D02E47A1E0B4A5D006451C7; }; }; }; @@ -460,6 +662,10 @@ ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; }, + { + ProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */; + ProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; + }, { ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; @@ -496,19 +702,13 @@ ProductGroup = 146834001AC3E56700842450 /* Products */; ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; }, - { - ProductGroup = 369EFF8D1D75E180001AEF71 /* Products */; - ProjectRef = E8FB7D755BDD478A96EEEAAF /* RNI18n.xcodeproj */; - }, - { - ProductGroup = 369EFF8F1D75E180001AEF71 /* Products */; - ProjectRef = 1B9D93BF176D4A2685E7E033 /* RNVectorIcons.xcodeproj */; - }, ); projectRoot = ""; targets = ( 13B07F861A680F5B00A75B9A /* snowflake */, 00E356ED1AD99517003FC87E /* snowflakeTests */, + 2D02E47A1E0B4A5D006451C7 /* snowflake-tvOS */, + 2D02E48F1E0B4A5D006451C7 /* snowflake-tvOSTests */, ); }; /* End PBXProject section */ @@ -570,25 +770,109 @@ remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 369EFF9E1D75E181001AEF71 /* libRNI18n.a */ = { + 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTImage-tvOS.a"; + remoteRef = 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTLinking-tvOS.a"; + remoteRef = 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = libRNI18n.a; - remoteRef = 369EFF9D1D75E181001AEF71 /* PBXContainerItemProxy */; + path = "libRCTNetwork-tvOS.a"; + remoteRef = 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 369EFFA01D75E181001AEF71 /* RNI18nTests.xctest */ = { + 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */ = { isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = RNI18nTests.xctest; - remoteRef = 369EFF9F1D75E181001AEF71 /* PBXContainerItemProxy */; + fileType = archive.ar; + path = "libRCTSettings-tvOS.a"; + remoteRef = 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 369EFFA31D75E181001AEF71 /* libRNVectorIcons.a */ = { + 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = libRNVectorIcons.a; - remoteRef = 369EFFA21D75E181001AEF71 /* PBXContainerItemProxy */; + path = "libRCTText-tvOS.a"; + remoteRef = 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRCTWebSocket-tvOS.a"; + remoteRef = 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EA31DF850E9000B6D8A /* libReact.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libReact.a; + remoteRef = 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EA51DF850E9000B6D8A /* libyoga.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libyoga.a; + remoteRef = 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EA71DF850E9000B6D8A /* libyoga.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libyoga.a; + remoteRef = 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libcxxreact.a; + remoteRef = 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libcxxreact.a; + remoteRef = 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libjschelpers.a; + remoteRef = 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libjschelpers.a; + remoteRef = 3DAD3EAE1DF850E9000B6D8A /* 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 */ = { @@ -621,14 +905,33 @@ files = ( 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, - 23C4801D639B4D54B38E69B5 /* Entypo.ttf in Resources */, - 26C60313DC6E4ACBB8A3E012 /* EvilIcons.ttf in Resources */, - 5831F9276B0B4F3E8834529B /* FontAwesome.ttf in Resources */, - 83CB0DAC888843F2AD6221CC /* Foundation.ttf in Resources */, - D760CA904B854635A18F4A56 /* Ionicons.ttf in Resources */, - 4D5A8358ED4648DCA9EF03C5 /* MaterialIcons.ttf in Resources */, - 411721BC829B4B05875F77D2 /* Octicons.ttf in Resources */, - 5E6E72CC525B4B5982FB76DE /* Zocial.ttf in Resources */, + A72D1C3D1E5CFFFC005D3FEE /* FontAwesome.ttf in Resources */, + 4FA109E661114640B2551220 /* Entypo.ttf in Resources */, + 98F609FC46D84C2F9630EEB7 /* EvilIcons.ttf in Resources */, + 76AD6A8CAF7B400FAE3AD7B2 /* FontAwesome.ttf in Resources */, + FB9FCCE6EB574BBC8CE7E152 /* Foundation.ttf in Resources */, + 98B280A6F15C493A9E3EF4E3 /* Ionicons.ttf in Resources */, + 23B03FDCBF7D4289B7B1D574 /* MaterialCommunityIcons.ttf in Resources */, + 753C3B9DCE50454795C17A2B /* MaterialIcons.ttf in Resources */, + B2DF996FC2514CED8F8E5266 /* Octicons.ttf in Resources */, + 5D363C824A19462AA165D794 /* SimpleLineIcons.ttf in Resources */, + 182CCD8A25CE4D7FB9C1FC01 /* Zocial.ttf in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2D02E4791E0B4A5D006451C7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */, + A72D1C3E1E5CFFFC005D3FEE /* FontAwesome.ttf in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2D02E48E1E0B4A5D006451C7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( ); runOnlyForDeploymentPostprocessing = 0; }; @@ -649,6 +952,20 @@ shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/packager/react-native-xcode.sh"; }; + 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Bundle React Native Code And Images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/packager/react-native-xcode.sh"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -669,6 +986,23 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 2D02E4771E0B4A5D006451C7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */, + 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2D02E48C1E0B4A5D006451C7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2DCD954D1E0B4F2C00145EB5 /* snowflakeTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -677,6 +1011,11 @@ target = 13B07F861A680F5B00A75B9A /* snowflake */; targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; }; + 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 2D02E47A1E0B4A5D006451C7 /* snowflake-tvOS */; + targetProxy = 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -701,15 +1040,23 @@ "$(inherited)", ); INFOPLIST_FILE = snowflakeTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.2; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + OTHER_LDFLAGS = ( + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/snowflake.app/snowflake"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/snowflake.app/snowflake"; }; name = Debug; }; @@ -719,15 +1066,23 @@ BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; INFOPLIST_FILE = snowflakeTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.2; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + OTHER_LDFLAGS = ( + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/snowflake.app/snowflake"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/snowflake.app/snowflake"; }; name = Release; }; @@ -735,18 +1090,9 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 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-i18n/RNI18n", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - ); + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = snowflake/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( @@ -754,10 +1100,8 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = mobi.snowflake.demo; + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = snowflake; - PROVISIONING_PROFILE = ""; - TARGETED_DEVICE_FAMILY = 1; VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; @@ -766,17 +1110,8 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CURRENT_PROJECT_VERSION = 1; - 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-i18n/RNI18n", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - ); + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = snowflake/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( @@ -784,14 +1119,138 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = mobi.snowflake.demo; + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = snowflake; - PROVISIONING_PROFILE = ""; - TARGETED_DEVICE_FAMILY = 1; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; }; + 2D02E4971E0B4A5E006451C7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_TESTABILITY = YES; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "snowflake-tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.snowflake-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.2; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + ); + }; + name = Debug; + }; + 2D02E4981E0B4A5E006451C7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "snowflake-tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.snowflake-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.2; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + ); + }; + name = Release; + }; + 2D02E4991E0B4A5E006451C7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_TESTABILITY = YES; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "snowflake-tvOSTests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.snowflake-tvOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/snowflake-tvOS.app/snowflake-tvOS"; + TVOS_DEPLOYMENT_TARGET = 10.1; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + ); + }; + name = Debug; + }; + 2D02E49A1E0B4A5E006451C7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "snowflake-tvOSTests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.snowflake-tvOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/snowflake-tvOS.app/snowflake-tvOS"; + TVOS_DEPLOYMENT_TARGET = 10.1; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + ); + }; + name = Release; + }; 83CBBA201A601CBA00E9B192 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -805,17 +1264,19 @@ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Distribution"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -828,19 +1289,10 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; 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-i18n/RNI18n", - "$(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; - PROVISIONING_PROFILE = "$(sigh_mobi.snowflake.demo_appstore)"; SDKROOT = iphoneos; - VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; }; @@ -857,36 +1309,28 @@ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "iPhone Distribution"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; - CURRENT_PROJECT_VERSION = 1; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; 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-i18n/RNI18n", - "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", - ); - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; MTL_ENABLE_DEBUG_INFO = NO; - PROVISIONING_PROFILE = "$(sigh_mobi.snowflake.demo_appstore)"; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; }; name = Release; }; @@ -911,6 +1355,24 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "snowflake-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2D02E4971E0B4A5E006451C7 /* Debug */, + 2D02E4981E0B4A5E006451C7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "snowflake-tvOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2D02E4991E0B4A5E006451C7 /* Debug */, + 2D02E49A1E0B4A5E006451C7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "snowflake" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/ios/snowflake.xcodeproj/xcshareddata/xcschemes/snowflake-tvOS.xcscheme b/ios/snowflake.xcodeproj/xcshareddata/xcschemes/snowflake-tvOS.xcscheme new file mode 100644 index 00000000..cfa1c0ad --- /dev/null +++ b/ios/snowflake.xcodeproj/xcshareddata/xcschemes/snowflake-tvOS.xcscheme @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/snowflake.xcodeproj/xcshareddata/xcschemes/snowflake.xcscheme b/ios/snowflake.xcodeproj/xcshareddata/xcschemes/snowflake.xcscheme index e75890c8..a2d01ebb 100644 --- a/ios/snowflake.xcodeproj/xcshareddata/xcschemes/snowflake.xcscheme +++ b/ios/snowflake.xcodeproj/xcshareddata/xcschemes/snowflake.xcscheme @@ -1,11 +1,25 @@ + + + + + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -62,15 +76,18 @@ ReferencedContainer = "container:snowflake.xcodeproj"> + + @@ -82,14 +99,21 @@ ReferencedContainer = "container:snowflake.xcodeproj"> + + + + diff --git a/ios/snowflake/AppDelegate.m b/ios/snowflake/AppDelegate.m index acec3b86..f66bda3f 100644 --- a/ios/snowflake/AppDelegate.m +++ b/ios/snowflake/AppDelegate.m @@ -9,8 +9,8 @@ #import "AppDelegate.h" -#import "RCTBundleURLProvider.h" -#import "RCTRootView.h" +#import +#import @implementation AppDelegate diff --git a/ios/snowflake/Info.plist b/ios/snowflake/Info.plist index ffb905a7..7860c6e3 100644 --- a/ios/snowflake/Info.plist +++ b/ios/snowflake/Info.plist @@ -1,70 +1,69 @@ - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.1 - LSRequiresIPhoneOS - - NSAppTransportSecurity - - NSExceptionDomains - - https://snowflake-parse.herokuapp.com - - NSTemporaryExceptionAllowsInsecureHTTPLoads - - - localhost - - NSTemporaryExceptionAllowsInsecureHTTPLoads - - - - - NSLocationWhenInUseUsageDescription - - UIAppFonts - - Entypo.ttf - EvilIcons.ttf - FontAwesome.ttf - Foundation.ttf - Ionicons.ttf - MaterialIcons.ttf - Octicons.ttf - Zocial.ttf - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - UIInterfaceOrientationPortraitUpsideDown - - UIViewControllerBasedStatusBarAppearance - - - + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + snowflake + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + NSLocationWhenInUseUsageDescription + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + UIAppFonts + + FontAwesome.ttf + Entypo.ttf + EvilIcons.ttf + FontAwesome.ttf + Foundation.ttf + Ionicons.ttf + MaterialCommunityIcons.ttf + MaterialIcons.ttf + Octicons.ttf + SimpleLineIcons.ttf + Zocial.ttf + + + \ No newline at end of file diff --git a/ios/snowflakeTests/Info.plist b/ios/snowflakeTests/Info.plist index 886825cc..ba72822e 100644 --- a/ios/snowflakeTests/Info.plist +++ b/ios/snowflakeTests/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/ios/snowflakeTests/snowflakeTests.m b/ios/snowflakeTests/snowflakeTests.m index db400374..bdd2b07f 100644 --- a/ios/snowflakeTests/snowflakeTests.m +++ b/ios/snowflakeTests/snowflakeTests.m @@ -10,8 +10,8 @@ #import #import -#import "RCTLog.h" -#import "RCTRootView.h" +#import +#import #define TIMEOUT_SECONDS 600 #define TEXT_TO_LOOK_FOR @"Welcome to React Native!" diff --git a/package.json b/package.json index 52bf5e00..d3dce4fe 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.2.0", "private": true, "jest": { - "preset": "jest-react-native", + "preset": "react-native", "moduleNameMapper": { "\\./datepicker$": "/node_modules/tcomb-form-native/lib/templates/bootstrap/datepicker.ios.js", "\\./select$": "/node_modules/tcomb-form-native/lib/templates/bootstrap/select.ios.js" @@ -24,25 +24,26 @@ "docs": "./node_modules/docker/docker -w -i src/ -o ../snowflake-pages " }, "dependencies": { - "apsl-react-native-button": "3.0.1", + "apsl-react-native-button": "3.0.2", "immutable": "3.8.1", "key-mirror": "1.0.1", "parse": "1.8.5", - "react": "15.3.2", + "react": "15.4.2", + "react-dom": "15.4.2", "react-mixin": "3.0.5", - "react-native": "0.35.0", - "react-native-i18n": "0.1.1", - "react-native-navbar": "1.5.4", - "react-native-router-flux": "3.36.0", + "react-native": "0.41.2", + "react-native-i18n": "1.0.0", + "react-native-navbar": "1.6.0", + "react-native-router-flux": "3.37.0", "react-native-simple-store": "1.1.0", "react-native-simpledialog-android": "1.0.8", - "react-native-vector-icons": "2.1.0", - "react-redux": "4.4.5", + "react-native-vector-icons": "4.0.0", + "react-redux": "5.0.2", "react-timer-mixin": "0.13.3", "redux": "3.6.0", - "redux-thunk": "2.1.0", + "redux-thunk": "2.2.0", "regenerator": "0.8.46", - "tcomb-form-native": "0.6.1", + "tcomb-form-native": "0.6.5", "undefined": "0.1.0", "underscore": "1.8.3", "validate.js": "0.10.0" @@ -58,13 +59,11 @@ "eslint-formatter-pretty": "1.1.0", "eslint-plugin-flowtype-errors": "1.4.1", "eslint-plugin-promise": "3.3.0", - "eslint-plugin-react": "6.4.1", + "eslint-plugin-react": "6.9.0", "eslint-plugin-standard": "2.0.1", "istanbul": "0.4.5", "jest": "16.0.1", - "jest-react-native": "16.0.0", - "react-addons-test-utils": "15.3.2", - "redux-mock-store": "1.2.1", - "rnpm-plugin-upgrade": "0.26.0" + "react-addons-test-utils": "15.4.2", + "redux-mock-store": "1.2.1" } } diff --git a/src/components/ItemCheckbox.js b/src/components/ItemCheckbox.js index 6115b727..d34cf89a 100644 --- a/src/components/ItemCheckbox.js +++ b/src/components/ItemCheckbox.js @@ -25,7 +25,7 @@ import /** * The vector icon */ -var Icon = require('react-native-vector-icons/FontAwesome') +import Icon from 'react-native-vector-icons/FontAwesome' var ItemCheckbox = React.createClass({ /** diff --git a/src/components/__tests__/FormButton-test.js b/src/components/__tests__/FormButton-test.js index 2edeb154..a66719c6 100644 --- a/src/components/__tests__/FormButton-test.js +++ b/src/components/__tests__/FormButton-test.js @@ -17,7 +17,8 @@ import React from 'react' import FormButton from '../FormButton' -import renderer from 'react/lib/ReactTestRenderer' +import ReactTestUtils from 'react-addons-test-utils' +const renderer = ReactTestUtils.createRenderer() it('FormButton', () => { const props = { @@ -25,6 +26,7 @@ it('FormButton', () => { onPress: () => {}, buttonText: 'TestString' } - const tree = renderer.create().toJSON() + renderer.render() + const tree = renderer.getRenderOutput() expect(tree).toMatchSnapshot() }) diff --git a/src/components/__tests__/Header-test.js b/src/components/__tests__/Header-test.js index 68b7a503..f9bd820a 100644 --- a/src/components/__tests__/Header-test.js +++ b/src/components/__tests__/Header-test.js @@ -19,7 +19,8 @@ import React from 'react' import Header from '../Header' -import renderer from 'react/lib/ReactTestRenderer' +import ReactTestUtils from 'react-addons-test-utils' +const renderer = ReactTestUtils.createRenderer() /** * ## Test @@ -33,7 +34,8 @@ describe('Header', () => { const props = { isFetching: false } - const tree = renderer.create(
).toJSON() + renderer.render(
) + const tree = renderer.getRenderOutput() expect(tree).toMatchSnapshot() }) /** @@ -44,8 +46,8 @@ describe('Header', () => { const props = { isFetching: true } - - const tree = renderer.create(
).toJSON() + renderer.render(
) + const tree = renderer.getRenderOutput() expect(tree).toMatchSnapshot() }) })// describe Header diff --git a/src/components/__tests__/ItemCheckbox-test.js b/src/components/__tests__/ItemCheckbox-test.js index 4662e92b..09afe3ef 100644 --- a/src/components/__tests__/ItemCheckbox-test.js +++ b/src/components/__tests__/ItemCheckbox-test.js @@ -15,7 +15,8 @@ import React from 'react' import ItemCheckbox from '../ItemCheckbox' -import renderer from 'react/lib/ReactTestRenderer' +import ReactTestUtils from 'react-addons-test-utils' +const renderer = ReactTestUtils.createRenderer() /** * ## Test @@ -31,7 +32,8 @@ describe('ItemCheckbox', () => { text: 'TextShouldDisplay', disabled: false } - const tree = renderer.create().toJSON() + renderer.render() + const tree = renderer.getRenderOutput() expect(tree).toMatchSnapshot() }) @@ -45,7 +47,8 @@ describe('ItemCheckbox', () => { text: 'TextShouldDisplay', disabled: false } - const tree = renderer.create().toJSON() + renderer.render() + const tree = renderer.getRenderOutput() expect(tree).toMatchSnapshot() }) @@ -59,7 +62,8 @@ describe('ItemCheckbox', () => { text: 'TextShouldDisplay', disabled: true } - const tree = renderer.create().toJSON() + renderer.render() + const tree = renderer.getRenderOutput() expect(tree).toMatchSnapshot() }) @@ -73,7 +77,8 @@ describe('ItemCheckbox', () => { text: 'TextShouldDisplay', disabled: true } - const tree = renderer.create().toJSON() + renderer.render() + const tree = renderer.getRenderOutput() expect(tree).toMatchSnapshot() }) })// describe ItemCheckbox diff --git a/src/components/__tests__/LoginForm-test.js b/src/components/__tests__/LoginForm-test.js index 629be41b..956ed483 100644 --- a/src/components/__tests__/LoginForm-test.js +++ b/src/components/__tests__/LoginForm-test.js @@ -27,7 +27,8 @@ import React from 'react' import LoginForm from '../LoginForm' -import renderer from 'react/lib/ReactTestRenderer' +import ReactTestUtils from 'react-addons-test-utils' +const renderer = ReactTestUtils.createRenderer() const { REGISTER, @@ -45,7 +46,8 @@ describe('LoginForm', () => { * component has the correct data */ function snapshotForm (props) { - const tree = renderer.create().toJSON() + renderer.render() + const tree = renderer.getRenderOutput() expect(tree).toMatchSnapshot() } /** diff --git a/src/components/__tests__/__snapshots__/FormButton-test.js.snap b/src/components/__tests__/__snapshots__/FormButton-test.js.snap index b58b658a..16fab43b 100644 --- a/src/components/__tests__/__snapshots__/FormButton-test.js.snap +++ b/src/components/__tests__/__snapshots__/FormButton-test.js.snap @@ -6,51 +6,21 @@ exports[`test FormButton 1`] = ` "marginRight": 10, } }> - - - TestString - - + textStyle={ + Object { + "fontSize": 18, + } + }> + TestString + `; diff --git a/src/components/__tests__/__snapshots__/Header-test.js.snap b/src/components/__tests__/__snapshots__/Header-test.js.snap index b0ad6ca3..38ea5364 100644 --- a/src/components/__tests__/__snapshots__/Header-test.js.snap +++ b/src/components/__tests__/__snapshots__/Header-test.js.snap @@ -9,28 +9,10 @@ exports[`Header should be display empty text when not fetching 1`] = ` "marginTop": 20, } }> - + - + `; @@ -55,28 +37,10 @@ exports[`Header should be display spinner when fetching 1`] = ` "marginTop": 20, } }> - + - + diff --git a/src/components/__tests__/__snapshots__/ItemCheckbox-test.js.snap b/src/components/__tests__/__snapshots__/ItemCheckbox-test.js.snap index 05e57b04..c405aa08 100644 --- a/src/components/__tests__/__snapshots__/ItemCheckbox-test.js.snap +++ b/src/components/__tests__/__snapshots__/ItemCheckbox-test.js.snap @@ -1,132 +1,64 @@ exports[`ItemCheckbox if disabled and checked, it should display check-square and text 1`] = ` - - + -  - - - - TextShouldDisplay - - + + + + TextShouldDisplay + + + `; exports[`ItemCheckbox if disabled and not checked, it should display square-o and text 1`] = ` - - + -  - - - - TextShouldDisplay - - + + + + TextShouldDisplay + + + `; exports[`ItemCheckbox if not disabled and checked, it should display check-square and text 1`] = ` - + - -  - + name="check-square" + size={20} /> - + `; exports[`ItemCheckbox if not disabled and not checked, it should display square-o and text 1`] = ` - + - -  - + name="check-square" + size={20} /> - + `; diff --git a/src/components/__tests__/__snapshots__/LoginForm-test.js.snap b/src/components/__tests__/__snapshots__/LoginForm-test.js.snap index e24a0975..93d6f3ea 100644 --- a/src/components/__tests__/__snapshots__/LoginForm-test.js.snap +++ b/src/components/__tests__/__snapshots__/LoginForm-test.js.snap @@ -1,184 +1,13 @@ exports[`LoginForm FORGOT_PASSWORD password fields are not secured if shown 1`] = ` - +`; + +exports[`LoginForm LOGIN should display errors and values 1`] = ` +
`; -exports[`LoginForm LOGIN should display errors and values 1`] = ` - -`; - -exports[`LoginForm LOGIN should display without errors and without values 1`] = ` -