diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bdfced2..ede5aa9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +### Version 4.11.4 (3rd August 2017) +#### Added +- **[AND]** Added support for `React Native 0.47.0 and higher` (thanks to @robertmerten and @ruiaraujo). + +#### Changed +- **[REPO]** Example app built `React Native 0.47.0`. + +#### Native SDKs +- **[iOS]** [iOS@v4.11.4][ios_sdk_v4.11.4] +- **[AND]** [Android@v4.11.4][android_sdk_v4.11.4] + +--- + ### Version 4.11.3 (15th May 2017) #### Added - **[iOS][AND]** Added check if `sdk_click` package response contains attribution information. diff --git a/VERSION b/VERSION index e9fdaa8c..0ce5c18e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.11.3 +4.11.4 diff --git a/android/src/main/java/com/adjust/sdk/AdjustPackage.java b/android/src/main/java/com/adjust/sdk/AdjustPackage.java index 9f7bdab9..23c0b46d 100755 --- a/android/src/main/java/com/adjust/sdk/AdjustPackage.java +++ b/android/src/main/java/com/adjust/sdk/AdjustPackage.java @@ -27,7 +27,7 @@ public List createNativeModules(ReactApplicationContext reactConte ); } - @Override + // Deprecated RN 0.47 public List> createJSModules() { return Collections.emptyList(); } diff --git a/example/.babelrc b/example/.babelrc index 8df53fe4..a9ce1369 100644 --- a/example/.babelrc +++ b/example/.babelrc @@ -1,3 +1,3 @@ { -"presets": ["react-native"] -} \ No newline at end of file + "presets": ["react-native"] +} diff --git a/example/.flowconfig b/example/.flowconfig index b38ea97e..83461209 100644 --- a/example/.flowconfig +++ b/example/.flowconfig @@ -22,9 +22,9 @@ node_modules/react-native/flow flow/ [options] -module.system=haste +emoji=true -experimental.strict_type_args=true +module.system=haste munge_underscores=true @@ -34,11 +34,12 @@ suppress_type=$FlowIssue suppress_type=$FlowFixMe suppress_type=$FixMe -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\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(4[0-9]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(4[0-9]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy +suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError unsafe.enable_getters_and_setters=true [version] -^0.37.0 +^0.49.1 diff --git a/example/.gitignore b/example/.gitignore index 8fce6397..10be1975 100644 --- a/example/.gitignore +++ b/example/.gitignore @@ -39,7 +39,6 @@ yarn-error.log # BUCK buck-out/ \.buckd/ -android/app/libs *.keystore # fastlane diff --git a/example/Screen1.js b/example/Screen1.js deleted file mode 100644 index a1fe3d20..00000000 --- a/example/Screen1.js +++ /dev/null @@ -1,360 +0,0 @@ -/** - * Example React Native App - * https://github.com/facebook/react-native - * @flow - */ - -import React, { Component } from 'react'; -import { Adjust, AdjustEvent, AdjustConfig } from 'react-native-adjust'; -import { AppRegistry, StyleSheet, Text, TouchableHighlight, View, Linking, Navigator } from 'react-native'; - -export default class Screen1 extends Component { - componentDidMount() { - Linking.addEventListener('url', this.handleDeepLink); - Linking.getInitialURL().then((url) => { - if (url) { - this.handleDeepLink({ url }); - } - }) - } - - componentWillMount() { - this._onPress_trackSimpleEvent = this._onPress_trackSimpleEvent.bind(this); - this._onPress_trackRevenueEvent = this._onPress_trackRevenueEvent.bind(this); - this._onPress_trackCallbackEvent = this._onPress_trackCallbackEvent.bind(this); - this._onPress_trackPartnerEvent = this._onPress_trackPartnerEvent.bind(this); - this._onPress_toggleOfflineMode = this._onPress_toggleOfflineMode.bind(this); - this._onPress_toggleSdk = this._onPress_toggleSdk.bind(this); - this._onPress_isSdkEnabled = this._onPress_isSdkEnabled.bind(this); - this._onPress_jumpToNextPage = this._onPress_jumpToNextPage.bind(this); - this._onPress_getIds = this._onPress_getIds.bind(this); - this._onPress_sendPushToken = this._onPress_sendPushToken.bind(this); - - this.isOffline = false; - - var adjustConfig = new AdjustConfig("2fm9gkqubvpc", AdjustConfig.EnvironmentSandbox); - adjustConfig.setLogLevel(AdjustConfig.LogLevelVerbose); - adjustConfig.setDelayStart(6.0); - adjustConfig.setShouldLaunchDeeplink(true); - adjustConfig.setSendInBackground(true); - - // adjustConfig.setEventBufferingEnabled(true); - // adjustConfig.setUserAgent("little_bunny_foo_foo"); - - adjustConfig.setAttributionCallbackListener(function(attribution) { - console.log(">>> Attribution callback received"); - - console.log("Tracker token = " + attribution.trackerToken); - console.log("Tracker name = " + attribution.trackerName); - console.log("Network = " + attribution.network); - console.log("Campaign = " + attribution.campaign); - console.log("Adgroup = " + attribution.adgroup); - console.log("Creative = " + attribution.creative); - console.log("Click label = " + attribution.clickLabel); - console.log("Adid = " + attribution.adid); - }); - - adjustConfig.setEventTrackingSucceededCallbackListener(function(eventSuccess) { - console.log(">>> Event tracking succeeded callback received"); - - console.log("Message: " + eventSuccess.message); - console.log("Timestamp: " + eventSuccess.timestamp); - console.log("Adid: " + eventSuccess.adid); - console.log("Event token: " + eventSuccess.eventToken); - console.log("JSON response: " + eventSuccess.jsonResponse ); - }); - - adjustConfig.setEventTrackingFailedCallbackListener(function(eventFailed) { - console.log(">>> Event tracking failed callback received"); - - console.log("Message: " + eventFailed.message); - console.log("Timestamp: " + eventFailed.timestamp); - console.log("Adid: " + eventFailed.adid); - console.log("Event token: " + eventFailed.eventToken); - console.log("Will retry: " + eventFailed.willRetry); - console.log("JSON response: " + eventFailed.jsonResponse); - }); - - adjustConfig.setSessionTrackingSucceededCallbackListener(function(sessionSuccess) { - console.log(">>> Session tracking succeeded callback received"); - - console.log("Message: " + sessionSuccess.message); - console.log("Timestamp: " + sessionSuccess.timestamp); - console.log("Adid: " + sessionSuccess.adid); - console.log("JSON response: " + sessionSuccess.jsonResponse); - }); - - adjustConfig.setSessionTrackingFailedCallbackListener(function(sessionFailed) { - console.log(">>> Session tracking failed callback received"); - - console.log("Message: " + sessionFailed.message); - console.log("Timestamp: " + sessionFailed.timestamp); - console.log("Adid: " + sessionFailed.adid); - console.log("Will retry: " + sessionFailed.willRetry); - console.log("JSON response: " + sessionFailed.jsonResponse); - }); - - adjustConfig.setDeferredDeeplinkCallbackListener(function(uri) { - console.log(">>> Deferred Deeplink Callback received"); - - console.log("URL: " + uri.uri); - }); - - Adjust.addSessionCallbackParameter("dummy_foo", "dummy_bar"); - Adjust.addSessionCallbackParameter("dummy_foo_foo", "dummy_bar"); - - Adjust.addSessionPartnerParameter("dummy_foo", "dummy_bar"); - Adjust.addSessionPartnerParameter("dummy_foo_foo", "dummy_bar"); - - Adjust.removeSessionCallbackParameter("dummy_foo"); - Adjust.removeSessionPartnerParameter("dummy_foo"); - - // Adjust.resetSessionCallbackParameters(); - // Adjust.resetSessionPartnerParameters(); - - // Adjust.setPushToken("bunny_foo_foo"); - - Adjust.create(adjustConfig); - - Adjust.sendFirstPackages(); - } - - componentWillUnmount() { - Linking.removeEventListener('url', this.handleDeepLink); - } - - handleDeepLink(e) { - Adjust.appWillOpenUrl(e.url); - } - - render() { - return ( - - - Welcome to Adjust SDK - - - - Track Simple Event - - - - Track Revenue Event - - - - Track Callback Event - - - - Track Partner Event - - - - Toggle Offline Mode - - - - Toggle SDK - - - - is SDK Enabled? - - - - Send Push Token - - - - Get Ids - - - - Jump to Next Page - - - ); - } - - _onPress_trackSimpleEvent() { - Adjust.isEnabled((isEnabled) => { - if (isEnabled) { - var adjustEvent = new AdjustEvent("g3mfiw"); - Adjust.trackEvent(adjustEvent); - } else { - console.log(">>> SDK is disabled"); - } - }); - } - - _onPress_trackRevenueEvent() { - Adjust.isEnabled((isEnabled) => { - if (isEnabled) { - var adjustEvent = new AdjustEvent("a4fd35"); - - adjustEvent.setRevenue(10.0, "USD"); - adjustEvent.setTransactionId("DUMMY_TRANSACTION_ID"); - - Adjust.trackEvent(adjustEvent); - } else { - console.log(">>> SDK is disabled"); - } - }); - } - - _onPress_trackCallbackEvent() { - Adjust.isEnabled((isEnabled) => { - if (isEnabled) { - var adjustEvent = new AdjustEvent("34vgg9"); - - adjustEvent.addCallbackParameter("DUMMY_KEY", "DUMMY_VALUE"); - adjustEvent.addCallbackParameter("DUMMY_KEY_2", "DUMMY_VALUE_2"); - - Adjust.trackEvent(adjustEvent); - } else { - console.log(">>> SDK is disabled"); - } - }); - } - - _onPress_trackPartnerEvent() { - Adjust.isEnabled((isEnabled) => { - if (isEnabled) { - var adjustEvent = new AdjustEvent("w788qs"); - - adjustEvent.addPartnerParameter("DUMMY_KEY", "DUMMY_VALUE"); - adjustEvent.addPartnerParameter("DUMMY_KEY_2", "DUMMY_VALUE_2"); - - Adjust.trackEvent(adjustEvent); - } else { - console.log(">>> SDK is disabled"); - } - }); - } - - _onPress_toggleOfflineMode() { - Adjust.isEnabled((isEnabled) => { - if (isEnabled) { - this.isOffline = !this.isOffline; - Adjust.setOfflineMode(this.isOffline); - } else { - console.log(">>> SDK is disabled"); - } - }); - } - - _onPress_toggleSdk() { - Adjust.isEnabled( (isEnabled) => { - if (isEnabled) { - Adjust.setEnabled(false); - console.log(">>> SDK disabled"); - } else { - Adjust.setEnabled(true); - console.log(">>> SDK enabled"); - } - }); - } - - _onPress_isSdkEnabled() { - Adjust.isEnabled( (isEnabled) => { - if (isEnabled) { - console.log(">>> SDK is enabled"); - } else { - console.log(">>> SDK is disabled"); - } - }); - } - - _onPress_sendPushToken() { - Adjust.isEnabled((isEnabled) => { - if (isEnabled) { - Adjust.setPushToken("bunny_foo_foo"); - } else { - console.log(">>> SDK is disabled"); - } - }); - } - - _onPress_getIds() { - Adjust.isEnabled((isEnabled) => { - if (isEnabled) { - Adjust.getAdid((adid) => { - console.log(">>> Adid = " + adid); - }); - - Adjust.getIdfa((idfa) => { - console.log(">>> IDFA = " + idfa); - }); - - Adjust.getGoogleAdId((googleAdId) => { - console.log(">>> Google Ad Id = " + googleAdId); - }); - - Adjust.getAttribution((attribution) => { - console.log(">>> Attribution:"); - console.log("Tracker token = " + attribution.trackerToken); - console.log("Tracker name = " + attribution.trackerName); - console.log("Network = " + attribution.network); - console.log("Campaign = " + attribution.campaign); - console.log("Adgroup = " + attribution.adgroup); - console.log("Creative = " + attribution.creative); - console.log("Click label = " + attribution.clickLabel); - console.log("Adid = " + attribution.adid); - }); - } else { - console.log(">>> SDK is disabled"); - } - }); - } - - _onPress_jumpToNextPage() { - this.props.navigator.push({ - name: 'screen_2', - data: {} - }); - } -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - backgroundColor: '#F5FCFF', - }, - welcome: { - fontSize: 20, - textAlign: 'center', - margin: 9, - }, - instructions: { - textAlign: 'center', - color: '#333333', - marginBottom: 5, - }, - buttons: { - margin: 5, - padding: 5 - } -}); diff --git a/example/Screen2.js b/example/Screen2.js deleted file mode 100644 index 28400536..00000000 --- a/example/Screen2.js +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; - -import React, { Component } from 'react'; -import { Adjust, AdjustEvent, AdjustConfig } from 'react-native-adjust'; -import { StyleSheet, View, Text, TouchableHighlight } from 'react-native'; - -export default class Screen2 extends Component { - - constructor(props) { - super(props); - - this._onPress = this._onPress.bind(this); - - Adjust.isEnabled((isEnabled) => { - if (isEnabled) { - var adjustEvent = new AdjustEvent("g3mfiw"); - Adjust.trackEvent(adjustEvent); - } else { - console.log(">>> SDK is disabled"); - } - }); - } - - render() { - return ( - - This is Screen 2 - - Jump to screen 1 - - - ); - } - - _onPress() { - this.props.navigator.push({ - name: 'screen_1', - data: {} - }); - } -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - backgroundColor: 'teal' - }, -}); diff --git a/example/android/app/BUCK b/example/android/app/BUCK index 38a19280..b02ba050 100644 --- a/example/android/app/BUCK +++ b/example/android/app/BUCK @@ -1,5 +1,3 @@ -import re - # To learn about Buck see [Docs](https://buckbuild.com/). # To run your application with Buck: # - install Buck @@ -11,8 +9,9 @@ import re # lib_deps = [] + for jarfile in glob(['libs/*.jar']): - name = 'jars__' + re.sub(r'^.*/([^/]+)\.jar$', r'\1', jarfile) + name = 'jars__' + jarfile[jarfile.rindex('/') + 1: jarfile.rindex('.jar')] lib_deps.append(':' + name) prebuilt_jar( name = name, @@ -20,7 +19,7 @@ for jarfile in glob(['libs/*.jar']): ) for aarfile in glob(['libs/*.aar']): - name = 'aars__' + re.sub(r'^.*/([^/]+)\.aar$', r'\1', aarfile) + name = 'aars__' + aarfile[aarfile.rindex('/') + 1: aarfile.rindex('.aar')] lib_deps.append(':' + name) android_prebuilt_aar( name = name, @@ -28,39 +27,39 @@ for aarfile in glob(['libs/*.aar']): ) android_library( - name = 'all-libs', - exported_deps = lib_deps + name = "all-libs", + exported_deps = lib_deps, ) android_library( - name = 'app-code', - srcs = glob([ - 'src/main/java/**/*.java', - ]), - deps = [ - ':all-libs', - ':build_config', - ':res', - ], + name = "app-code", + srcs = glob([ + "src/main/java/**/*.java", + ]), + deps = [ + ":all-libs", + ":build_config", + ":res", + ], ) android_build_config( - name = 'build_config', - package = 'com.adjust.examples', + name = "build_config", + package = "com.adjust.examples", ) android_resource( - name = 'res', - res = 'src/main/res', - package = 'com.adjust.examples', + name = "res", + package = "com.adjust.examples", + res = "src/main/res", ) android_binary( - name = 'app', - package_type = 'debug', - manifest = 'src/main/AndroidManifest.xml', - keystore = '//android/keystores:debug', - deps = [ - ':app-code', - ], + name = "app", + keystore = "//android/keystores:debug", + manifest = "src/main/AndroidManifest.xml", + package_type = "debug", + deps = [ + ":app-code", + ], ) diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index cec54be6..86f62d23 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -33,6 +33,13 @@ import com.android.build.OutputFile * // bundleInPaidRelease: true, * // bundleInBeta: true, * + * // whether to disable dev mode in custom build variants (by default only disabled in release) + * // for example: to disable dev mode in the staging build type (if configured) + * devDisabledInStaging: true, + * // The configuration property can be in the following formats + * // 'devDisabledIn${productFlavor}${buildType}' + * // 'devDisabledIn${buildType}' + * * // the root of your project, i.e. where "package.json" lives * root: "../../", * @@ -58,7 +65,7 @@ import com.android.build.OutputFile * inputExcludes: ["android/**", "ios/**"], * * // override which node gets called and with what additional arguments - * nodeExecutableAndArgs: ["node"] + * nodeExecutableAndArgs: ["node"], * * // supply additional arguments to the packager * extraPackagerArgs: [] @@ -83,13 +90,13 @@ def enableSeparateBuildPerCPUArchitecture = false def enableProguardInReleaseBuilds = false android { - compileSdkVersion 23 - buildToolsVersion "23.0.1" + compileSdkVersion 25 + buildToolsVersion "25.0.2" defaultConfig { applicationId "com.adjust.examples" minSdkVersion 16 - targetSdkVersion 22 + targetSdkVersion 25 versionCode 1 versionName "1.0" ndk { @@ -126,11 +133,11 @@ android { } dependencies { - compile project(':react-native-adjust') compile fileTree(dir: "libs", include: ["*.jar"]) - compile "com.android.support:appcompat-v7:23.0.1" + compile 'com.android.support:appcompat-v7:25.0.1' compile "com.facebook.react:react-native:+" // From node_modules - compile 'com.google.android.gms:play-services-analytics:10.2.1' + compile project(':react-native-adjust') + compile 'com.google.android.gms:play-services-analytics:+' } // Run this once to be able to run the application with BUCK diff --git a/example/android/app/proguard-rules.pro b/example/android/app/proguard-rules.pro index 48361a90..6e8516c8 100644 --- a/example/android/app/proguard-rules.pro +++ b/example/android/app/proguard-rules.pro @@ -50,6 +50,10 @@ -dontwarn com.facebook.react.** +# TextLayoutBuilder uses a non-public Android constructor within StaticLayout. +# See libs/proxy/src/main/java/com/facebook/fbui/textlayoutbuilder/proxy for details. +-dontwarn android.text.StaticLayout + # okhttp -keepattributes Signature diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml index 1f7c9283..118f54f0 100644 --- a/example/android/app/src/main/AndroidManifest.xml +++ b/example/android/app/src/main/AndroidManifest.xml @@ -19,20 +19,14 @@ + android:configChanges="keyboard|keyboardHidden|orientation|screenSize" + android:windowSoftInputMode="adjustResize"> - - - - - - - - + diff --git a/example/android/app/src/main/java/com/adjust/examples/MainActivity.java b/example/android/app/src/main/java/com/adjust/examples/MainActivity.java index 71545785..1c152cc3 100644 --- a/example/android/app/src/main/java/com/adjust/examples/MainActivity.java +++ b/example/android/app/src/main/java/com/adjust/examples/MainActivity.java @@ -10,6 +10,6 @@ public class MainActivity extends ReactActivity { */ @Override protected String getMainComponentName() { - return "Example"; + return "example"; } } diff --git a/example/android/app/src/main/java/com/adjust/examples/MainApplication.java b/example/android/app/src/main/java/com/adjust/examples/MainApplication.java index 2eb01761..c0409ed7 100644 --- a/example/android/app/src/main/java/com/adjust/examples/MainApplication.java +++ b/example/android/app/src/main/java/com/adjust/examples/MainApplication.java @@ -1,11 +1,9 @@ package com.adjust.examples; import android.app.Application; -import android.util.Log; +import com.adjust.nativemodule.AdjustPackage; import com.facebook.react.ReactApplication; -import com.adjust.nativemodule.AdjustPackage; -import com.facebook.react.ReactInstanceManager; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; import com.facebook.react.shell.MainReactPackage; diff --git a/example/android/app/src/main/res/values/strings.xml b/example/android/app/src/main/res/values/strings.xml index 0057fcb9..d75426c8 100644 --- a/example/android/app/src/main/res/values/strings.xml +++ b/example/android/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - Example + example diff --git a/example/android/build.gradle b/example/android/build.gradle index fcba4c58..53e555f8 100644 --- a/example/android/build.gradle +++ b/example/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 @@ -16,6 +16,9 @@ allprojects { repositories { mavenLocal() jcenter() + maven { + url "https://jitpack.io" + } maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url "$rootDir/../node_modules/react-native/android" diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index b9fbfaba..dbdc05d2 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ 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/example/android/keystores/BUCK b/example/android/keystores/BUCK index 15da20e6..88e4c31b 100644 --- a/example/android/keystores/BUCK +++ b/example/android/keystores/BUCK @@ -1,8 +1,8 @@ keystore( - name = 'debug', - store = 'debug.keystore', - properties = 'debug.keystore.properties', - visibility = [ - 'PUBLIC', - ], + name = "debug", + properties = "debug.keystore.properties", + store = "debug.keystore", + visibility = [ + "PUBLIC", + ], ) diff --git a/example/android/settings.gradle b/example/android/settings.gradle index 1543446a..45924b54 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -1,5 +1,5 @@ -rootProject.name = 'Example' -include ':react-native-adjust' -project(':react-native-adjust').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-adjust/android') +rootProject.name = 'example' include ':app' +include ':react-native-adjust' +project(':react-native-adjust').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-adjust/android') diff --git a/example/app.json b/example/app.json new file mode 100644 index 00000000..3fed6761 --- /dev/null +++ b/example/app.json @@ -0,0 +1,4 @@ +{ + "name": "example", + "displayName": "example" +} diff --git a/example/index.android.js b/example/index.android.js index 2d4f01ac..ffb14964 100644 --- a/example/index.android.js +++ b/example/index.android.js @@ -1,38 +1,345 @@ 'use strict'; import React, { Component } from 'react'; -import { AppRegistry, StyleSheet, Text, View, Navigator, TouchableHighlight } from 'react-native'; - -import Screen1 from './Screen1'; -import Screen2 from './Screen2'; - -class Example extends Component { - - _renderScene(route, navigator) { - switch (route.name) { - case 'screen_1': - return ; - case 'screen_2': - return ; - default: - console.error('Encountered unexpected route: ' + route.name); - } - - return ; - } - - render() { - return ( - - ); - } +import { AppRegistry, StyleSheet, Text, View, Linking, TouchableHighlight } from 'react-native'; +import { Adjust, AdjustEvent, AdjustConfig } from 'react-native-adjust'; + +export class example extends Component { + componentDidMount() { + Linking.addEventListener('url', this.handleDeepLink); + Linking.getInitialURL().then((url) => { + if (url) { + this.handleDeepLink({ url }); + } + }) + } + + componentWillMount() { + this._onPress_trackSimpleEvent = this._onPress_trackSimpleEvent.bind(this); + this._onPress_trackRevenueEvent = this._onPress_trackRevenueEvent.bind(this); + this._onPress_trackCallbackEvent = this._onPress_trackCallbackEvent.bind(this); + this._onPress_trackPartnerEvent = this._onPress_trackPartnerEvent.bind(this); + this._onPress_toggleOfflineMode = this._onPress_toggleOfflineMode.bind(this); + this._onPress_toggleSdk = this._onPress_toggleSdk.bind(this); + this._onPress_isSdkEnabled = this._onPress_isSdkEnabled.bind(this); + this._onPress_getIds = this._onPress_getIds.bind(this); + this._onPress_sendPushToken = this._onPress_sendPushToken.bind(this); + + this.isOffline = false; + + var adjustConfig = new AdjustConfig("2fm9gkqubvpc", AdjustConfig.EnvironmentSandbox); + adjustConfig.setLogLevel(AdjustConfig.LogLevelVerbose); + adjustConfig.setDelayStart(6.0); + adjustConfig.setShouldLaunchDeeplink(true); + adjustConfig.setSendInBackground(true); + + // adjustConfig.setEventBufferingEnabled(true); + // adjustConfig.setUserAgent("little_bunny_foo_foo"); + + adjustConfig.setAttributionCallbackListener(function(attribution) { + console.log(">>> Attribution callback received"); + + console.log("Tracker token = " + attribution.trackerToken); + console.log("Tracker name = " + attribution.trackerName); + console.log("Network = " + attribution.network); + console.log("Campaign = " + attribution.campaign); + console.log("Adgroup = " + attribution.adgroup); + console.log("Creative = " + attribution.creative); + console.log("Click label = " + attribution.clickLabel); + console.log("Adid = " + attribution.adid); + }); + + adjustConfig.setEventTrackingSucceededCallbackListener(function(eventSuccess) { + console.log(">>> Event tracking succeeded callback received"); + + console.log("Message: " + eventSuccess.message); + console.log("Timestamp: " + eventSuccess.timestamp); + console.log("Adid: " + eventSuccess.adid); + console.log("Event token: " + eventSuccess.eventToken); + console.log("JSON response: " + eventSuccess.jsonResponse ); + }); + + adjustConfig.setEventTrackingFailedCallbackListener(function(eventFailed) { + console.log(">>> Event tracking failed callback received"); + + console.log("Message: " + eventFailed.message); + console.log("Timestamp: " + eventFailed.timestamp); + console.log("Adid: " + eventFailed.adid); + console.log("Event token: " + eventFailed.eventToken); + console.log("Will retry: " + eventFailed.willRetry); + console.log("JSON response: " + eventFailed.jsonResponse); + }); + + adjustConfig.setSessionTrackingSucceededCallbackListener(function(sessionSuccess) { + console.log(">>> Session tracking succeeded callback received"); + + console.log("Message: " + sessionSuccess.message); + console.log("Timestamp: " + sessionSuccess.timestamp); + console.log("Adid: " + sessionSuccess.adid); + console.log("JSON response: " + sessionSuccess.jsonResponse); + }); + + adjustConfig.setSessionTrackingFailedCallbackListener(function(sessionFailed) { + console.log(">>> Session tracking failed callback received"); + + console.log("Message: " + sessionFailed.message); + console.log("Timestamp: " + sessionFailed.timestamp); + console.log("Adid: " + sessionFailed.adid); + console.log("Will retry: " + sessionFailed.willRetry); + console.log("JSON response: " + sessionFailed.jsonResponse); + }); + + adjustConfig.setDeferredDeeplinkCallbackListener(function(uri) { + console.log(">>> Deferred Deeplink Callback received"); + + console.log("URL: " + uri.uri); + }); + + Adjust.addSessionCallbackParameter("dummy_foo", "dummy_bar"); + Adjust.addSessionCallbackParameter("dummy_foo_foo", "dummy_bar"); + + Adjust.addSessionPartnerParameter("dummy_foo", "dummy_bar"); + Adjust.addSessionPartnerParameter("dummy_foo_foo", "dummy_bar"); + + Adjust.removeSessionCallbackParameter("dummy_foo"); + Adjust.removeSessionPartnerParameter("dummy_foo"); + + // Adjust.resetSessionCallbackParameters(); + // Adjust.resetSessionPartnerParameters(); + + // Adjust.setPushToken("bunny_foo_foo"); + + Adjust.create(adjustConfig); + + Adjust.sendFirstPackages(); + } + + componentWillUnmount() { + Linking.removeEventListener('url', this.handleDeepLink); + } + + handleDeepLink(e) { + Adjust.appWillOpenUrl(e.url); + } + + render() { + return ( + + + Welcome to Adjust SDK + + + + Track Simple Event + + + + Track Revenue Event + + + + Track Callback Event + + + + Track Partner Event + + + + Toggle Offline Mode + + + + Toggle SDK + + + + is SDK Enabled? + + + + Send Push Token + + + + Get Ids + + + + ); + } + + _onPress_trackSimpleEvent() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("g3mfiw"); + Adjust.trackEvent(adjustEvent); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_trackRevenueEvent() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("a4fd35"); + + adjustEvent.setRevenue(10.0, "USD"); + adjustEvent.setTransactionId("DUMMY_TRANSACTION_ID"); + + Adjust.trackEvent(adjustEvent); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_trackCallbackEvent() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("34vgg9"); + + adjustEvent.addCallbackParameter("DUMMY_KEY", "DUMMY_VALUE"); + adjustEvent.addCallbackParameter("DUMMY_KEY_2", "DUMMY_VALUE_2"); + + Adjust.trackEvent(adjustEvent); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_trackPartnerEvent() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("w788qs"); + + adjustEvent.addPartnerParameter("DUMMY_KEY", "DUMMY_VALUE"); + adjustEvent.addPartnerParameter("DUMMY_KEY_2", "DUMMY_VALUE_2"); + + Adjust.trackEvent(adjustEvent); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_toggleOfflineMode() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + this.isOffline = !this.isOffline; + Adjust.setOfflineMode(this.isOffline); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_toggleSdk() { + Adjust.isEnabled( (isEnabled) => { + if (isEnabled) { + Adjust.setEnabled(false); + console.log(">>> SDK disabled"); + } else { + Adjust.setEnabled(true); + console.log(">>> SDK enabled"); + } + }); + } + + _onPress_isSdkEnabled() { + Adjust.isEnabled( (isEnabled) => { + if (isEnabled) { + console.log(">>> SDK is enabled"); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_sendPushToken() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + Adjust.setPushToken("bunny_foo_foo"); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_getIds() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + Adjust.getAdid((adid) => { + console.log(">>> Adid = " + adid); + }); + + Adjust.getIdfa((idfa) => { + console.log(">>> IDFA = " + idfa); + }); + + Adjust.getGoogleAdId((googleAdId) => { + console.log(">>> Google Ad Id = " + googleAdId); + }); + + Adjust.getAttribution((attribution) => { + console.log(">>> Attribution:"); + console.log("Tracker token = " + attribution.trackerToken); + console.log("Tracker name = " + attribution.trackerName); + console.log("Network = " + attribution.network); + console.log("Campaign = " + attribution.campaign); + console.log("Adgroup = " + attribution.adgroup); + console.log("Creative = " + attribution.creative); + console.log("Click label = " + attribution.clickLabel); + console.log("Adid = " + attribution.adid); + }); + } else { + console.log(">>> SDK is disabled"); + } + }); + } } const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: '#F5FCFF', + }, + welcome: { + fontSize: 20, + textAlign: 'center', + margin: 9, + }, + instructions: { + textAlign: 'center', + color: '#333333', + marginBottom: 5, + }, + buttons: { + margin: 5, + padding: 5 + } }); -AppRegistry.registerComponent('Example', () => Example); +AppRegistry.registerComponent('example', () => example); diff --git a/example/index.ios.js b/example/index.ios.js index 2d4f01ac..bf2d093b 100644 --- a/example/index.ios.js +++ b/example/index.ios.js @@ -1,38 +1,345 @@ 'use strict'; import React, { Component } from 'react'; -import { AppRegistry, StyleSheet, Text, View, Navigator, TouchableHighlight } from 'react-native'; - -import Screen1 from './Screen1'; -import Screen2 from './Screen2'; - -class Example extends Component { - - _renderScene(route, navigator) { - switch (route.name) { - case 'screen_1': - return ; - case 'screen_2': - return ; - default: - console.error('Encountered unexpected route: ' + route.name); - } - - return ; - } - - render() { - return ( - - ); - } +import { AppRegistry, StyleSheet, Text, View, Navigator, Linking, TouchableHighlight } from 'react-native'; +import { Adjust, AdjustEvent, AdjustConfig } from 'react-native-adjust'; + +export class example extends Component { + componentDidMount() { + Linking.addEventListener('url', this.handleDeepLink); + Linking.getInitialURL().then((url) => { + if (url) { + this.handleDeepLink({ url }); + } + }) + } + + componentWillMount() { + this._onPress_trackSimpleEvent = this._onPress_trackSimpleEvent.bind(this); + this._onPress_trackRevenueEvent = this._onPress_trackRevenueEvent.bind(this); + this._onPress_trackCallbackEvent = this._onPress_trackCallbackEvent.bind(this); + this._onPress_trackPartnerEvent = this._onPress_trackPartnerEvent.bind(this); + this._onPress_toggleOfflineMode = this._onPress_toggleOfflineMode.bind(this); + this._onPress_toggleSdk = this._onPress_toggleSdk.bind(this); + this._onPress_isSdkEnabled = this._onPress_isSdkEnabled.bind(this); + this._onPress_getIds = this._onPress_getIds.bind(this); + this._onPress_sendPushToken = this._onPress_sendPushToken.bind(this); + + this.isOffline = false; + + var adjustConfig = new AdjustConfig("2fm9gkqubvpc", AdjustConfig.EnvironmentSandbox); + adjustConfig.setLogLevel(AdjustConfig.LogLevelVerbose); + adjustConfig.setDelayStart(6.0); + adjustConfig.setShouldLaunchDeeplink(true); + adjustConfig.setSendInBackground(true); + + // adjustConfig.setEventBufferingEnabled(true); + // adjustConfig.setUserAgent("little_bunny_foo_foo"); + + adjustConfig.setAttributionCallbackListener(function(attribution) { + console.log(">>> Attribution callback received"); + + console.log("Tracker token = " + attribution.trackerToken); + console.log("Tracker name = " + attribution.trackerName); + console.log("Network = " + attribution.network); + console.log("Campaign = " + attribution.campaign); + console.log("Adgroup = " + attribution.adgroup); + console.log("Creative = " + attribution.creative); + console.log("Click label = " + attribution.clickLabel); + console.log("Adid = " + attribution.adid); + }); + + adjustConfig.setEventTrackingSucceededCallbackListener(function(eventSuccess) { + console.log(">>> Event tracking succeeded callback received"); + + console.log("Message: " + eventSuccess.message); + console.log("Timestamp: " + eventSuccess.timestamp); + console.log("Adid: " + eventSuccess.adid); + console.log("Event token: " + eventSuccess.eventToken); + console.log("JSON response: " + eventSuccess.jsonResponse ); + }); + + adjustConfig.setEventTrackingFailedCallbackListener(function(eventFailed) { + console.log(">>> Event tracking failed callback received"); + + console.log("Message: " + eventFailed.message); + console.log("Timestamp: " + eventFailed.timestamp); + console.log("Adid: " + eventFailed.adid); + console.log("Event token: " + eventFailed.eventToken); + console.log("Will retry: " + eventFailed.willRetry); + console.log("JSON response: " + eventFailed.jsonResponse); + }); + + adjustConfig.setSessionTrackingSucceededCallbackListener(function(sessionSuccess) { + console.log(">>> Session tracking succeeded callback received"); + + console.log("Message: " + sessionSuccess.message); + console.log("Timestamp: " + sessionSuccess.timestamp); + console.log("Adid: " + sessionSuccess.adid); + console.log("JSON response: " + sessionSuccess.jsonResponse); + }); + + adjustConfig.setSessionTrackingFailedCallbackListener(function(sessionFailed) { + console.log(">>> Session tracking failed callback received"); + + console.log("Message: " + sessionFailed.message); + console.log("Timestamp: " + sessionFailed.timestamp); + console.log("Adid: " + sessionFailed.adid); + console.log("Will retry: " + sessionFailed.willRetry); + console.log("JSON response: " + sessionFailed.jsonResponse); + }); + + adjustConfig.setDeferredDeeplinkCallbackListener(function(uri) { + console.log(">>> Deferred Deeplink Callback received"); + + console.log("URL: " + uri.uri); + }); + + Adjust.addSessionCallbackParameter("dummy_foo", "dummy_bar"); + Adjust.addSessionCallbackParameter("dummy_foo_foo", "dummy_bar"); + + Adjust.addSessionPartnerParameter("dummy_foo", "dummy_bar"); + Adjust.addSessionPartnerParameter("dummy_foo_foo", "dummy_bar"); + + Adjust.removeSessionCallbackParameter("dummy_foo"); + Adjust.removeSessionPartnerParameter("dummy_foo"); + + // Adjust.resetSessionCallbackParameters(); + // Adjust.resetSessionPartnerParameters(); + + // Adjust.setPushToken("bunny_foo_foo"); + + Adjust.create(adjustConfig); + + Adjust.sendFirstPackages(); + } + + componentWillUnmount() { + Linking.removeEventListener('url', this.handleDeepLink); + } + + handleDeepLink(e) { + Adjust.appWillOpenUrl(e.url); + } + + render() { + return ( + + + Welcome to Adjust SDK + + + + Track Simple Event + + + + Track Revenue Event + + + + Track Callback Event + + + + Track Partner Event + + + + Toggle Offline Mode + + + + Toggle SDK + + + + is SDK Enabled? + + + + Send Push Token + + + + Get Ids + + + + ); + } + + _onPress_trackSimpleEvent() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("g3mfiw"); + Adjust.trackEvent(adjustEvent); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_trackRevenueEvent() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("a4fd35"); + + adjustEvent.setRevenue(10.0, "USD"); + adjustEvent.setTransactionId("DUMMY_TRANSACTION_ID"); + + Adjust.trackEvent(adjustEvent); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_trackCallbackEvent() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("34vgg9"); + + adjustEvent.addCallbackParameter("DUMMY_KEY", "DUMMY_VALUE"); + adjustEvent.addCallbackParameter("DUMMY_KEY_2", "DUMMY_VALUE_2"); + + Adjust.trackEvent(adjustEvent); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_trackPartnerEvent() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + var adjustEvent = new AdjustEvent("w788qs"); + + adjustEvent.addPartnerParameter("DUMMY_KEY", "DUMMY_VALUE"); + adjustEvent.addPartnerParameter("DUMMY_KEY_2", "DUMMY_VALUE_2"); + + Adjust.trackEvent(adjustEvent); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_toggleOfflineMode() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + this.isOffline = !this.isOffline; + Adjust.setOfflineMode(this.isOffline); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_toggleSdk() { + Adjust.isEnabled( (isEnabled) => { + if (isEnabled) { + Adjust.setEnabled(false); + console.log(">>> SDK disabled"); + } else { + Adjust.setEnabled(true); + console.log(">>> SDK enabled"); + } + }); + } + + _onPress_isSdkEnabled() { + Adjust.isEnabled( (isEnabled) => { + if (isEnabled) { + console.log(">>> SDK is enabled"); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_sendPushToken() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + Adjust.setPushToken("bunny_foo_foo"); + } else { + console.log(">>> SDK is disabled"); + } + }); + } + + _onPress_getIds() { + Adjust.isEnabled((isEnabled) => { + if (isEnabled) { + Adjust.getAdid((adid) => { + console.log(">>> Adid = " + adid); + }); + + Adjust.getIdfa((idfa) => { + console.log(">>> IDFA = " + idfa); + }); + + Adjust.getGoogleAdId((googleAdId) => { + console.log(">>> Google Ad Id = " + googleAdId); + }); + + Adjust.getAttribution((attribution) => { + console.log(">>> Attribution:"); + console.log("Tracker token = " + attribution.trackerToken); + console.log("Tracker name = " + attribution.trackerName); + console.log("Network = " + attribution.network); + console.log("Campaign = " + attribution.campaign); + console.log("Adgroup = " + attribution.adgroup); + console.log("Creative = " + attribution.creative); + console.log("Click label = " + attribution.clickLabel); + console.log("Adid = " + attribution.adid); + }); + } else { + console.log(">>> SDK is disabled"); + } + }); + } } const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: '#F5FCFF', + }, + welcome: { + fontSize: 20, + textAlign: 'center', + margin: 9, + }, + instructions: { + textAlign: 'center', + color: '#333333', + marginBottom: 5, + }, + buttons: { + margin: 5, + padding: 5 + } }); -AppRegistry.registerComponent('Example', () => Example); +AppRegistry.registerComponent('example', () => example); diff --git a/example/ios/Example.xcodeproj/project.pbxproj b/example/ios/Example.xcodeproj/project.pbxproj index 633a69ca..4c07c7de 100644 --- a/example/ios/Example.xcodeproj/project.pbxproj +++ b/example/ios/Example.xcodeproj/project.pbxproj @@ -12,8 +12,9 @@ 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; - 00E356F31AD99517003FC87E /* ExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ExampleTests.m */; }; + 00E356F31AD99517003FC87E /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; }; 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; + 1361A2CF329D4836A0E7AF1E /* libAdjustSdk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BFC922DBF74D4E2EB5C22FAE /* libAdjustSdk.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 */; }; @@ -22,13 +23,10 @@ 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 */; }; - 2005DB761E9E721F007B2E3E /* iAd.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2005DB751E9E721F007B2E3E /* iAd.framework */; }; - 2005DB791E9E7225007B2E3E /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2005DB781E9E7225007B2E3E /* AdSupport.framework */; }; - 2C984810DB344B9897EDA296 /* libAdjustSdk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B1F3B55E50441DA918DA9CF /* libAdjustSdk.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 */; }; + 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.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 */; }; @@ -36,7 +34,7 @@ 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 /* ExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ExampleTests.m */; }; + 2DCD954D1E0B4F2C00145EB5 /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; }; 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; /* End PBXBuildFile section */ @@ -82,7 +80,7 @@ containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; proxyType = 1; remoteGlobalIDString = 13B07F861A680F5B00A75B9A; - remoteInfo = Example; + remoteInfo = example; }; 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -110,7 +108,7 @@ containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; proxyType = 1; remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7; - remoteInfo = "Example-tvOS"; + remoteInfo = "example-tvOS"; }; 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -231,13 +229,41 @@ remoteGlobalIDString = 58B5119B1A9E6C1200147676; remoteInfo = RCTText; }; - 9DBE01E31E5C3E1000A56D3C /* PBXContainerItemProxy */ = { + 9DEF02191F33221100B0FA1B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = F15B98BFE83F4277AE142E42 /* AdjustSdk.xcodeproj */; + containerPortal = 92201A15C6024A4EB91CE47C /* AdjustSdk.xcodeproj */; proxyType = 2; remoteGlobalIDString = 134814201AA4EA6300B7C361; remoteInfo = AdjustSdk; }; + 9DEF02381F33221100B0FA1B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7; + remoteInfo = "third-party"; + }; + 9DEF023A1F33221100B0FA1B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D383D3C1EBD27B6005632C8; + remoteInfo = "third-party-tvOS"; + }; + 9DEF023C1F33221100B0FA1B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 139D7E881E25C6D100323FB7; + remoteInfo = "double-conversion"; + }; + 9DEF023E1F33221100B0FA1B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D383D621EBD27B9005632C8; + remoteInfo = "double-conversion-tvOS"; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ @@ -247,29 +273,26 @@ 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; }; 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; }; 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; }; - 00E356EE1AD99517003FC87E /* ExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 00E356EE1AD99517003FC87E /* exampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = exampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 00E356F21AD99517003FC87E /* ExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ExampleTests.m; sourceTree = ""; }; + 00E356F21AD99517003FC87E /* exampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = exampleTests.m; 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 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Example/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = Example/AppDelegate.m; sourceTree = ""; }; + 13B07F961A680F5B00A75B9A /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = example/AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = example/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 = Example/Images.xcassets; sourceTree = ""; }; - 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Example/Info.plist; sourceTree = ""; }; - 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = Example/main.m; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = example/Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = example/Info.plist; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = example/main.m; sourceTree = ""; }; 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; - 2005DB751E9E721F007B2E3E /* iAd.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = iAd.framework; path = System/Library/Frameworks/iAd.framework; sourceTree = SDKROOT; }; - 2005DB781E9E7225007B2E3E /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; }; - 20CA8E0B1E9F7EE800A6D216 /* Example.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Example.entitlements; path = Example/Example.entitlements; sourceTree = ""; }; - 2B1F3B55E50441DA918DA9CF /* libAdjustSdk.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libAdjustSdk.a; sourceTree = ""; }; - 2D02E47B1E0B4A5D006451C7 /* Example-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Example-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2D02E4901E0B4A5D006451C7 /* Example-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Example-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "example-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "example-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 = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; - F15B98BFE83F4277AE142E42 /* AdjustSdk.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = AdjustSdk.xcodeproj; path = "../node_modules/react-native-adjust/ios/AdjustSdk.xcodeproj"; sourceTree = ""; }; + 92201A15C6024A4EB91CE47C /* AdjustSdk.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = AdjustSdk.xcodeproj; path = "../node_modules/react-native-adjust/ios/AdjustSdk.xcodeproj"; sourceTree = ""; }; + BFC922DBF74D4E2EB5C22FAE /* libAdjustSdk.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libAdjustSdk.a; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -285,8 +308,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2005DB791E9E7225007B2E3E /* AdSupport.framework in Frameworks */, - 2005DB761E9E721F007B2E3E /* iAd.framework in Frameworks */, 146834051AC3E58100842450 /* libReact.a in Frameworks */, 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */, 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, @@ -298,7 +319,7 @@ 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, - 2C984810DB344B9897EDA296 /* libAdjustSdk.a in Frameworks */, + 1361A2CF329D4836A0E7AF1E /* libAdjustSdk.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -307,7 +328,7 @@ buildActionMask = 2147483647; files = ( 2D02E4C91E0B4AEC006451C7 /* libReact.a in Frameworks */, - 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation-tvOS.a in Frameworks */, + 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */, 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */, 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */, 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */, @@ -369,13 +390,13 @@ name = Products; sourceTree = ""; }; - 00E356EF1AD99517003FC87E /* ExampleTests */ = { + 00E356EF1AD99517003FC87E /* exampleTests */ = { isa = PBXGroup; children = ( - 00E356F21AD99517003FC87E /* ExampleTests.m */, + 00E356F21AD99517003FC87E /* exampleTests.m */, 00E356F01AD99517003FC87E /* Supporting Files */, ); - path = ExampleTests; + path = exampleTests; sourceTree = ""; }; 00E356F01AD99517003FC87E /* Supporting Files */ = { @@ -404,10 +425,9 @@ name = Products; sourceTree = ""; }; - 13B07FAE1A68108700A75B9A /* Example */ = { + 13B07FAE1A68108700A75B9A /* example */ = { isa = PBXGroup; children = ( - 20CA8E0B1E9F7EE800A6D216 /* Example.entitlements */, 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 13B07FB01A68108700A75B9A /* AppDelegate.m */, @@ -416,7 +436,7 @@ 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, 13B07FB71A68108700A75B9A /* main.m */, ); - name = Example; + name = example; sourceTree = ""; }; 146834001AC3E56700842450 /* Products */ = { @@ -430,24 +450,19 @@ 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */, 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */, 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */, + 9DEF02391F33221100B0FA1B /* libthird-party.a */, + 9DEF023B1F33221100B0FA1B /* libthird-party.a */, + 9DEF023D1F33221100B0FA1B /* libdouble-conversion.a */, + 9DEF023F1F33221100B0FA1B /* libdouble-conversion.a */, ); name = Products; sourceTree = ""; }; - 2005DB741E9E721F007B2E3E /* Frameworks */ = { - isa = PBXGroup; - children = ( - 2005DB781E9E7225007B2E3E /* AdSupport.framework */, - 2005DB751E9E721F007B2E3E /* iAd.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 5E91572E1DD0AC6500FF2AA8 /* Products */ = { isa = PBXGroup; children = ( 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */, - 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation-tvOS.a */, + 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */, ); name = Products; sourceTree = ""; @@ -475,7 +490,7 @@ 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, - F15B98BFE83F4277AE142E42 /* AdjustSdk.xcodeproj */, + 92201A15C6024A4EB91CE47C /* AdjustSdk.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -492,11 +507,10 @@ 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( - 13B07FAE1A68108700A75B9A /* Example */, + 13B07FAE1A68108700A75B9A /* example */, 832341AE1AAA6A7D00B99B32 /* Libraries */, - 00E356EF1AD99517003FC87E /* ExampleTests */, + 00E356EF1AD99517003FC87E /* exampleTests */, 83CBBA001A601CBA00E9B192 /* Products */, - 2005DB741E9E721F007B2E3E /* Frameworks */, ); indentWidth = 2; sourceTree = ""; @@ -505,18 +519,18 @@ 83CBBA001A601CBA00E9B192 /* Products */ = { isa = PBXGroup; children = ( - 13B07F961A680F5B00A75B9A /* Example.app */, - 00E356EE1AD99517003FC87E /* ExampleTests.xctest */, - 2D02E47B1E0B4A5D006451C7 /* Example-tvOS.app */, - 2D02E4901E0B4A5D006451C7 /* Example-tvOSTests.xctest */, + 13B07F961A680F5B00A75B9A /* example.app */, + 00E356EE1AD99517003FC87E /* exampleTests.xctest */, + 2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */, + 2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */, ); name = Products; sourceTree = ""; }; - 9DBE01E01E5C3E1000A56D3C /* Products */ = { + 9DEF02161F33221100B0FA1B /* Products */ = { isa = PBXGroup; children = ( - 9DBE01E41E5C3E1000A56D3C /* libAdjustSdk.a */, + 9DEF021A1F33221100B0FA1B /* libAdjustSdk.a */, ); name = Products; sourceTree = ""; @@ -524,9 +538,9 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 00E356ED1AD99517003FC87E /* ExampleTests */ = { + 00E356ED1AD99517003FC87E /* exampleTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ExampleTests" */; + buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */; buildPhases = ( 00E356EA1AD99517003FC87E /* Sources */, 00E356EB1AD99517003FC87E /* Frameworks */, @@ -537,14 +551,14 @@ dependencies = ( 00E356F51AD99517003FC87E /* PBXTargetDependency */, ); - name = ExampleTests; - productName = ExampleTests; - productReference = 00E356EE1AD99517003FC87E /* ExampleTests.xctest */; + name = exampleTests; + productName = exampleTests; + productReference = 00E356EE1AD99517003FC87E /* exampleTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 13B07F861A680F5B00A75B9A /* Example */ = { + 13B07F861A680F5B00A75B9A /* example */ = { isa = PBXNativeTarget; - buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Example" */; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */; buildPhases = ( 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, @@ -555,14 +569,14 @@ ); dependencies = ( ); - name = Example; + name = example; productName = "Hello World"; - productReference = 13B07F961A680F5B00A75B9A /* Example.app */; + productReference = 13B07F961A680F5B00A75B9A /* example.app */; productType = "com.apple.product-type.application"; }; - 2D02E47A1E0B4A5D006451C7 /* Example-tvOS */ = { + 2D02E47A1E0B4A5D006451C7 /* example-tvOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Example-tvOS" */; + buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */; buildPhases = ( 2D02E4771E0B4A5D006451C7 /* Sources */, 2D02E4781E0B4A5D006451C7 /* Frameworks */, @@ -573,14 +587,14 @@ ); dependencies = ( ); - name = "Example-tvOS"; - productName = "Example-tvOS"; - productReference = 2D02E47B1E0B4A5D006451C7 /* Example-tvOS.app */; + name = "example-tvOS"; + productName = "example-tvOS"; + productReference = 2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */; productType = "com.apple.product-type.application"; }; - 2D02E48F1E0B4A5D006451C7 /* Example-tvOSTests */ = { + 2D02E48F1E0B4A5D006451C7 /* example-tvOSTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Example-tvOSTests" */; + buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */; buildPhases = ( 2D02E48C1E0B4A5D006451C7 /* Sources */, 2D02E48D1E0B4A5D006451C7 /* Frameworks */, @@ -591,9 +605,9 @@ dependencies = ( 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */, ); - name = "Example-tvOSTests"; - productName = "Example-tvOSTests"; - productReference = 2D02E4901E0B4A5D006451C7 /* Example-tvOSTests.xctest */; + name = "example-tvOSTests"; + productName = "example-tvOSTests"; + productReference = 2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -602,7 +616,7 @@ 83CBB9F71A601CBA00E9B192 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 820; + LastUpgradeCheck = 610; ORGANIZATIONNAME = Facebook; TargetAttributes = { 00E356ED1AD99517003FC87E = { @@ -612,14 +626,10 @@ }; 13B07F861A680F5B00A75B9A = { DevelopmentTeam = QGUGW9AUMK; - SystemCapabilities = { - com.apple.SafariKeychain = { - enabled = 1; - }; - }; }; 2D02E47A1E0B4A5D006451C7 = { CreatedOnToolsVersion = 8.2.1; + DevelopmentTeam = QGUGW9AUMK; ProvisioningStyle = Automatic; }; 2D02E48F1E0B4A5D006451C7 = { @@ -642,8 +652,8 @@ projectDirPath = ""; projectReferences = ( { - ProductGroup = 9DBE01E01E5C3E1000A56D3C /* Products */; - ProjectRef = F15B98BFE83F4277AE142E42 /* AdjustSdk.xcodeproj */; + ProductGroup = 9DEF02161F33221100B0FA1B /* Products */; + ProjectRef = 92201A15C6024A4EB91CE47C /* AdjustSdk.xcodeproj */; }, { ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; @@ -692,10 +702,10 @@ ); projectRoot = ""; targets = ( - 13B07F861A680F5B00A75B9A /* Example */, - 00E356ED1AD99517003FC87E /* ExampleTests */, - 2D02E47A1E0B4A5D006451C7 /* Example-tvOS */, - 2D02E48F1E0B4A5D006451C7 /* Example-tvOSTests */, + 13B07F861A680F5B00A75B9A /* example */, + 00E356ED1AD99517003FC87E /* exampleTests */, + 2D02E47A1E0B4A5D006451C7 /* example-tvOS */, + 2D02E48F1E0B4A5D006451C7 /* example-tvOSTests */, ); }; /* End PBXProject section */ @@ -855,10 +865,10 @@ remoteRef = 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation-tvOS.a */ = { + 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = "libRCTAnimation-tvOS.a"; + path = libRCTAnimation.a; remoteRef = 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -876,11 +886,39 @@ remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 9DBE01E41E5C3E1000A56D3C /* libAdjustSdk.a */ = { + 9DEF021A1F33221100B0FA1B /* libAdjustSdk.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libAdjustSdk.a; - remoteRef = 9DBE01E31E5C3E1000A56D3C /* PBXContainerItemProxy */; + remoteRef = 9DEF02191F33221100B0FA1B /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9DEF02391F33221100B0FA1B /* libthird-party.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libthird-party.a"; + remoteRef = 9DEF02381F33221100B0FA1B /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9DEF023B1F33221100B0FA1B /* libthird-party.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libthird-party.a"; + remoteRef = 9DEF023A1F33221100B0FA1B /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9DEF023D1F33221100B0FA1B /* libdouble-conversion.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libdouble-conversion.a"; + remoteRef = 9DEF023C1F33221100B0FA1B /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 9DEF023F1F33221100B0FA1B /* libdouble-conversion.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libdouble-conversion.a"; + remoteRef = 9DEF023E1F33221100B0FA1B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXReferenceProxy section */ @@ -932,7 +970,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n../node_modules/react-native/packager/react-native-xcode.sh"; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = { isa = PBXShellScriptBuildPhase; @@ -946,7 +984,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n../node_modules/react-native/packager/react-native-xcode.sh"; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; /* End PBXShellScriptBuildPhase section */ @@ -955,7 +993,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 00E356F31AD99517003FC87E /* ExampleTests.m in Sources */, + 00E356F31AD99517003FC87E /* exampleTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -981,7 +1019,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2DCD954D1E0B4F2C00145EB5 /* ExampleTests.m in Sources */, + 2DCD954D1E0B4F2C00145EB5 /* exampleTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -990,12 +1028,12 @@ /* Begin PBXTargetDependency section */ 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 13B07F861A680F5B00A75B9A /* Example */; + target = 13B07F861A680F5B00A75B9A /* example */; targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; }; 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 2D02E47A1E0B4A5D006451C7 /* Example-tvOS */; + target = 2D02E47A1E0B4A5D006451C7 /* example-tvOS */; targetProxy = 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -1007,7 +1045,7 @@ 13B07FB21A68108700A75B9A /* Base */, ); name = LaunchScreen.xib; - path = Example; + path = example; sourceTree = ""; }; /* End PBXVariantGroup section */ @@ -1022,7 +1060,11 @@ "DEBUG=1", "$(inherited)", ); - INFOPLIST_FILE = ExampleTests/Info.plist; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/react-native-adjust/ios/**", + ); + INFOPLIST_FILE = exampleTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( @@ -1033,9 +1075,8 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example.app/Example"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/example"; }; name = Debug; }; @@ -1045,7 +1086,11 @@ BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; DEVELOPMENT_TEAM = QGUGW9AUMK; - INFOPLIST_FILE = ExampleTests/Info.plist; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/react-native-adjust/ios/**", + ); + INFOPLIST_FILE = exampleTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( @@ -1056,9 +1101,8 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example.app/Example"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/example"; }; name = Release; }; @@ -1066,12 +1110,14 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Example/Example.entitlements; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = NO; DEVELOPMENT_TEAM = QGUGW9AUMK; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS\"/**"; - INFOPLIST_FILE = Example/Info.plist; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/react-native-adjust/ios/**", + ); + INFOPLIST_FILE = example/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", @@ -1079,7 +1125,7 @@ "-lc++", ); PRODUCT_BUNDLE_IDENTIFIER = com.adjust.examples; - PRODUCT_NAME = Example; + PRODUCT_NAME = example; VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; @@ -1088,11 +1134,13 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = Example/Example.entitlements; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = QGUGW9AUMK; - HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS\"/**"; - INFOPLIST_FILE = Example/Info.plist; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/react-native-adjust/ios/**", + ); + INFOPLIST_FILE = example/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", @@ -1100,7 +1148,7 @@ "-lc++", ); PRODUCT_BUNDLE_IDENTIFIER = com.adjust.examples; - PRODUCT_NAME = Example; + PRODUCT_NAME = example; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; @@ -1115,9 +1163,14 @@ CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = QGUGW9AUMK; ENABLE_TESTABILITY = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Example-tvOS/Info.plist"; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/react-native-adjust/ios/**", + ); + INFOPLIST_FILE = "example-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", @@ -1127,7 +1180,7 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.Example-tvOS"; + PRODUCT_BUNDLE_IDENTIFIER = org.reactjs.native.example.example; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; TARGETED_DEVICE_FAMILY = 3; @@ -1146,8 +1199,13 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = QGUGW9AUMK; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Example-tvOS/Info.plist"; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/react-native-adjust/ios/**", + ); + INFOPLIST_FILE = "example-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", @@ -1157,7 +1215,7 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.Example-tvOS"; + PRODUCT_BUNDLE_IDENTIFIER = org.reactjs.native.example.example; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; TARGETED_DEVICE_FAMILY = 3; @@ -1176,16 +1234,16 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_TESTABILITY = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Example-tvOSTests/Info.plist"; + INFOPLIST_FILE = "example-tvOSTests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/$(TARGET_NAME)\"", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.Example-tvOSTests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example-tvOS.app/Example-tvOS"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example-tvOS.app/example-tvOS"; TVOS_DEPLOYMENT_TARGET = 10.1; }; name = Debug; @@ -1201,16 +1259,16 @@ COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Example-tvOSTests/Info.plist"; + INFOPLIST_FILE = "example-tvOSTests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)/$(TARGET_NAME)\"", ); - PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.Example-tvOSTests"; + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example-tvOS.app/Example-tvOS"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example-tvOS.app/example-tvOS"; TVOS_DEPLOYMENT_TARGET = 10.1; }; name = Release; @@ -1228,19 +1286,15 @@ 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[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; 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", @@ -1273,10 +1327,8 @@ 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[sdk=iphoneos*]" = "iPhone Developer"; @@ -1284,7 +1336,6 @@ 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; @@ -1301,7 +1352,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ExampleTests" */ = { + 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 00E356F61AD99517003FC87E /* Debug */, @@ -1310,7 +1361,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Example" */ = { + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */ = { isa = XCConfigurationList; buildConfigurations = ( 13B07F941A680F5B00A75B9A /* Debug */, @@ -1319,7 +1370,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Example-tvOS" */ = { + 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */ = { isa = XCConfigurationList; buildConfigurations = ( 2D02E4971E0B4A5E006451C7 /* Debug */, @@ -1328,7 +1379,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "Example-tvOSTests" */ = { + 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 2D02E4991E0B4A5E006451C7 /* Debug */, diff --git a/example/ios/Example.xcodeproj/xcshareddata/xcschemes/Example-tvOS.xcscheme b/example/ios/Example.xcodeproj/xcshareddata/xcschemes/Example-tvOS.xcscheme index e2da6acd..a36391c9 100644 --- a/example/ios/Example.xcodeproj/xcshareddata/xcschemes/Example-tvOS.xcscheme +++ b/example/ios/Example.xcodeproj/xcshareddata/xcschemes/Example-tvOS.xcscheme @@ -29,9 +29,9 @@ + BuildableName = "example-tvOS.app" + BlueprintName = "example-tvOS" + ReferencedContainer = "container:example.xcodeproj"> + BuildableName = "example-tvOSTests.xctest" + BlueprintName = "example-tvOSTests" + ReferencedContainer = "container:example.xcodeproj"> @@ -61,9 +61,9 @@ + BuildableName = "example-tvOSTests.xctest" + BlueprintName = "example-tvOSTests" + ReferencedContainer = "container:example.xcodeproj"> @@ -71,9 +71,9 @@ + BuildableName = "example-tvOS.app" + BlueprintName = "example-tvOS" + ReferencedContainer = "container:example.xcodeproj"> @@ -94,9 +94,9 @@ + BuildableName = "example-tvOS.app" + BlueprintName = "example-tvOS" + ReferencedContainer = "container:example.xcodeproj"> @@ -113,9 +113,9 @@ + BuildableName = "example-tvOS.app" + BlueprintName = "example-tvOS" + ReferencedContainer = "container:example.xcodeproj"> diff --git a/example/ios/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme b/example/ios/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme index 3db69060..eae95137 100644 --- a/example/ios/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme +++ b/example/ios/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme @@ -1,6 +1,6 @@ + BuildableName = "example.app" + BlueprintName = "example" + ReferencedContainer = "container:example.xcodeproj"> + BuildableName = "exampleTests.xctest" + BlueprintName = "exampleTests" + ReferencedContainer = "container:example.xcodeproj"> @@ -61,9 +61,9 @@ + BuildableName = "exampleTests.xctest" + BlueprintName = "exampleTests" + ReferencedContainer = "container:example.xcodeproj"> @@ -71,9 +71,9 @@ + BuildableName = "example.app" + BlueprintName = "example" + ReferencedContainer = "container:example.xcodeproj"> @@ -94,9 +94,9 @@ + BuildableName = "example.app" + BlueprintName = "example" + ReferencedContainer = "container:example.xcodeproj"> @@ -113,9 +113,9 @@ + BuildableName = "example.app" + BlueprintName = "example" + ReferencedContainer = "container:example.xcodeproj"> diff --git a/example/ios/Example/AppDelegate.m b/example/ios/Example/AppDelegate.m index 0d73f48e..0f5c06b3 100644 --- a/example/ios/Example/AppDelegate.m +++ b/example/ios/Example/AppDelegate.m @@ -8,7 +8,6 @@ */ #import "AppDelegate.h" -#import "RCTLinkingManager.h" #import #import @@ -22,7 +21,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation - moduleName:@"Example" + moduleName:@"example" initialProperties:nil launchOptions:launchOptions]; rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; @@ -35,15 +34,4 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( return YES; } -- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation -{ - return [RCTLinkingManager application:application openURL:url sourceApplication:sourceApplication annotation:annotation]; -} - -// Only if your app is using [Universal Links](https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html). -- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler -{ - return [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler]; -} - @end diff --git a/example/ios/Example/Base.lproj/LaunchScreen.xib b/example/ios/Example/Base.lproj/LaunchScreen.xib index 8c70b043..9e04807a 100644 --- a/example/ios/Example/Base.lproj/LaunchScreen.xib +++ b/example/ios/Example/Base.lproj/LaunchScreen.xib @@ -18,7 +18,7 @@ -