Upgrade for new React Native version (#19)

* Upgrade iOS imports

* Added release build to android example app

* Fix example deps

* Updated build.gradle

* Fix react-native version to >=0.40

* Added compatibility section to README.md
This commit is contained in:
Anton Petrov
2017-01-18 16:55:46 +03:00
committed by Kirill Pinchuk
parent fe3cd738fb
commit 1a2913d35e
27 changed files with 400 additions and 320 deletions

View File

@@ -17,6 +17,10 @@ React Native Stripe binding for iOS/Andriod platforms
* SDK 17+
## Compatibility
This package is now built for React Native `0.40` or greater! If you need to support React Native < `0.40`, you should install this package `@1.4.0`.
## Installation
Run `npm install --save tipsi-stripe` to add the package to your app's dependencies.

View File

@@ -1,29 +1,18 @@
[ignore]
# We fork some components by platform.
; We fork some components by platform
.*/*[.]android.js
# Ignore templates with `@flow` in header
.*/local-cli/generator.*
# Ignore malformed json
.*/node_modules/y18n/test/.*\.json
# Ignore the website subdir
<PROJECT_ROOT>/website/.*
# Ignore BUCK generated dirs
; Ignore "BUCK" generated dirs
<PROJECT_ROOT>/\.buckd/
# Ignore unexpected extra @providesModule
.*/node_modules/commoner/test/source/widget/share.js
; Ignore unexpected extra "@providesModule"
.*/node_modules/.*/node_modules/fbjs/.*
# Ignore duplicate module providers
# For RN Apps installed via npm, "Libraries" folder is inside node_modules/react-native but in the source repo it is in the root
; 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
.*/node_modules/jest-runtime/build/__tests__/.*
[include]
@@ -35,25 +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\\.\\(3[0-3]\\|[1-2][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(3[0-3]\\|1[0-9]\\|[1-2][0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(3[0-6]\\|[1-2][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(3[0-6]\\|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.33.0
^0.36.0

1
example/.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.pbxproj -text

16
example/.gitignore vendored
View File

@@ -22,12 +22,13 @@ DerivedData
*.xcuserstate
project.xcworkspace
# Android/IJ
# Android/IntelliJ
#
*.iml
build/
.idea
.gradle
local.properties
*.iml
# node.js
#
@@ -39,3 +40,14 @@ buck-out/
\.buckd/
android/app/libs
*.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

View File

@@ -137,7 +137,7 @@ android {
dependencies {
compile project(':tipsi-stripe')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:25.0.1"
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
}

View File

@@ -4,32 +4,28 @@
android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="22" />
<meta-data
android:name="com.google.android.gms.wallet.api.enabled"
android:value="true" />
<application
android:name=".MainApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:name=".MainApplication"
android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
</manifest>

View File

@@ -25,8 +25,8 @@ public class MainApplication extends Application implements ReactApplication {
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new StripeReactPackage()
new MainReactPackage(),
new StripeReactPackage()
);
}
};

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#005eff</color>
<color name="spinnerItem">#AAAAAA</color>
<color name="editText">#AAAAAA</color>
<color name="buttonText">#EEEEEE</color>
<color name="headerText">#EEEEEE</color>
<color name="white_background">#FFFFFF</color>
</resources>

View File

@@ -1,16 +1,8 @@
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!--<item name="android:alertDialogTheme">@style/AlertDialogCustom</item>-->
</style>
<style name="AlertDialogCustom" parent="ThemeOverlay.AppCompat.Dialog">
<item name="android:colorBackground">@color/colorAccent</item>
</style>
</resources>

View File

@@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
classpath 'com.android.tools.build:gradle:1.3.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@@ -15,7 +15,7 @@ buildscript {
allprojects {
repositories {
// Add jitpack repository (added by tipsi-stripe)
maven { url "https://jitpack.io" }
maven { url "https://jitpack.io" }
mavenLocal()
jcenter()
maven {

View File

@@ -18,4 +18,3 @@
# org.gradle.parallel=true
android.useDeprecatedNdk=true
org.gradle.daemon=true

Binary file not shown.

View File

@@ -1,6 +1,5 @@
#Mon Dec 28 10:00:20 PST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip

View File

@@ -42,6 +42,11 @@ case "`uname`" in
;;
esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
@@ -56,9 +61,9 @@ while [ -h "$PRG" ] ; do
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
cd "`dirname \"$PRG\"`/" >&-
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
cd "$SAVED" >&-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
@@ -109,7 +114,6 @@ fi
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`

View File

@@ -1,5 +1,5 @@
rootProject.name = 'example'
include ':app'
include ':tipsi-stripe'
project(':tipsi-stripe').projectDir = new File(rootProject.projectDir, '../node_modules/tipsi-stripe/android')
include ':app'

View File

@@ -13,6 +13,7 @@
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 */; };
0F0E1D016414B15F7EDD7971 /* libPods-example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D181E91A012ED594DFB6985 /* libPods-example.a */; };
133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; };
139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; };
139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; };
@@ -22,11 +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 */; };
317800491DF596350032E251 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 317800351DF596260032E251 /* libRCTAnimation.a */; };
6DFFA4EB8FFE4E8081D5C7E4 /* libTPSStripe.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1F45434017EE4A51B67FB52A /* libTPSStripe.a */; };
73EF997CF476500E453DD7C7 /* libPods-exampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A0A9588312FCE62C59C8D0F /* libPods-exampleTests.a */; };
45D18F0D7F0443A391909622 /* libTPSStripe.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F2934EA096B14D20868675E9 /* libTPSStripe.a */; };
5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; };
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; };
FA02746971C7A5625050B9A4 /* libPods-example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 603790A80379DFD7B8ECCB7F /* libPods-example.a */; };
86A88E6F91C0C0CB89D7C406 /* libPods-exampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 802C30D82CA36B1080B56413 /* libPods-exampleTests.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -93,76 +93,118 @@
remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192;
remoteInfo = React;
};
317800341DF596260032E251 /* PBXContainerItemProxy */ = {
3AE773161E2D2B5C003E62D3 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 3178002E1DF596250032E251 /* RCTAnimation.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 134814201AA4EA6300B7C361;
remoteInfo = RCTAnimation;
};
317800361DF596260032E251 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 3178002E1DF596250032E251 /* RCTAnimation.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 2D2A28201D9B03D100D4039D;
remoteInfo = "RCTAnimation-tvOS";
};
3A5BE3BD1DEC5108009DF229 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D555FDD271F346E384F8783F /* TPSStripe.xcodeproj */;
containerPortal = D86AB494C0D946E59EFEC58B /* TPSStripe.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 3A3A7F1A1DC27B520030F9DC;
remoteInfo = TPSStripe;
};
3AB54C6A1DEC4D5400074583 /* PBXContainerItemProxy */ = {
3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 2D2A283A1D9B042B00D4039D;
remoteInfo = "RCTImage-tvOS";
};
3AB54C6E1DEC4D5400074583 /* PBXContainerItemProxy */ = {
3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 2D2A28471D9B043800D4039D;
remoteInfo = "RCTLinking-tvOS";
};
3AB54C721DEC4D5400074583 /* PBXContainerItemProxy */ = {
3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 2D2A28541D9B044C00D4039D;
remoteInfo = "RCTNetwork-tvOS";
};
3AB54C761DEC4D5400074583 /* PBXContainerItemProxy */ = {
3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 2D2A28611D9B046600D4039D;
remoteInfo = "RCTSettings-tvOS";
};
3AB54C7A1DEC4D5400074583 /* PBXContainerItemProxy */ = {
3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 2D2A287B1D9B048500D4039D;
remoteInfo = "RCTText-tvOS";
};
3AB54C7F1DEC4D5400074583 /* PBXContainerItemProxy */ = {
3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 2D2A28881D9B049200D4039D;
remoteInfo = "RCTWebSocket-tvOS";
};
3AB54C831DEC4D5400074583 /* PBXContainerItemProxy */ = {
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 = 146833FF1AC3E56700842450 /* React.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4;
remoteInfo = cxxreact;
};
3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4;
remoteInfo = "cxxreact-tvOS";
};
3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
proxyType = 2;
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;
containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */;
@@ -189,7 +231,6 @@
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 = "<group>"; };
00E356F21AD99517003FC87E /* exampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = exampleTests.m; sourceTree = "<group>"; };
08DCD9E24AC2BBB1E9AE01C9 /* Pods-exampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-exampleTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-exampleTests/Pods-exampleTests.debug.xcconfig"; sourceTree = "<group>"; };
139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = "<group>"; };
139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = "<group>"; };
13B07F961A680F5B00A75B9A /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -200,16 +241,17 @@
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = example/Info.plist; sourceTree = "<group>"; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = example/main.m; sourceTree = "<group>"; };
146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = "<group>"; };
1F45434017EE4A51B67FB52A /* libTPSStripe.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libTPSStripe.a; sourceTree = "<group>"; };
3178002E1DF596250032E251 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = "<group>"; };
4A0A9588312FCE62C59C8D0F /* libPods-exampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-exampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
603790A80379DFD7B8ECCB7F /* libPods-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
6A4B01B0FE560130855EABCF /* Pods-exampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-exampleTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-exampleTests/Pods-exampleTests.release.xcconfig"; sourceTree = "<group>"; };
30420DDB318D7D1EE55E5DE1 /* Pods-example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.release.xcconfig"; path = "Pods/Target Support Files/Pods-example/Pods-example.release.xcconfig"; sourceTree = "<group>"; };
5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = "<group>"; };
78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = "<group>"; };
802C30D82CA36B1080B56413 /* libPods-exampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-exampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = "<group>"; };
B5708BD4A230C2BF267C9233 /* Pods-example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.release.xcconfig"; path = "Pods/Target Support Files/Pods-example/Pods-example.release.xcconfig"; sourceTree = "<group>"; };
D555FDD271F346E384F8783F /* TPSStripe.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = TPSStripe.xcodeproj; path = "../node_modules/tipsi-stripe/ios/TPSStripe.xcodeproj"; sourceTree = "<group>"; };
D6F73E8E3416BAD80C8B5D62 /* Pods-example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-example/Pods-example.debug.xcconfig"; sourceTree = "<group>"; };
9D181E91A012ED594DFB6985 /* libPods-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
BC4196D2D936D6B9209C087D /* Pods-exampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-exampleTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-exampleTests/Pods-exampleTests.debug.xcconfig"; sourceTree = "<group>"; };
CDE8C49AE16D785609C8F6ED /* Pods-example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-example/Pods-example.debug.xcconfig"; sourceTree = "<group>"; };
D86AB494C0D946E59EFEC58B /* TPSStripe.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = TPSStripe.xcodeproj; path = "../node_modules/tipsi-stripe/ios/TPSStripe.xcodeproj"; sourceTree = "<group>"; };
E9169EE3A0A62F8DDAEEA467 /* Pods-exampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-exampleTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-exampleTests/Pods-exampleTests.release.xcconfig"; sourceTree = "<group>"; };
F2934EA096B14D20868675E9 /* libTPSStripe.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libTPSStripe.a; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -218,7 +260,7 @@
buildActionMask = 2147483647;
files = (
140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */,
73EF997CF476500E453DD7C7 /* libPods-exampleTests.a in Frameworks */,
86A88E6F91C0C0CB89D7C406 /* libPods-exampleTests.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -226,7 +268,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
317800491DF596350032E251 /* libRCTAnimation.a in Frameworks */,
5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */,
146834051AC3E58100842450 /* libReact.a in Frameworks */,
00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */,
00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */,
@@ -237,8 +279,8 @@
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */,
00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */,
139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */,
6DFFA4EB8FFE4E8081D5C7E4 /* libTPSStripe.a in Frameworks */,
FA02746971C7A5625050B9A4 /* libPods-example.a in Frameworks */,
45D18F0D7F0443A391909622 /* libTPSStripe.a in Frameworks */,
0F0E1D016414B15F7EDD7971 /* libPods-example.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -265,7 +307,7 @@
isa = PBXGroup;
children = (
00C302C01ABCB91800DB3ED1 /* libRCTImage.a */,
3AB54C6B1DEC4D5400074583 /* libRCTImage-tvOS.a */,
3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
@@ -274,7 +316,7 @@
isa = PBXGroup;
children = (
00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */,
3AB54C731DEC4D5400074583 /* libRCTNetwork-tvOS.a */,
3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
@@ -308,7 +350,7 @@
isa = PBXGroup;
children = (
139105C11AF99BAD00B5F7CC /* libRCTSettings.a */,
3AB54C771DEC4D5400074583 /* libRCTSettings-tvOS.a */,
3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
@@ -317,7 +359,7 @@
isa = PBXGroup;
children = (
139FDEF41B06529B00C62182 /* libRCTWebSocket.a */,
3AB54C801DEC4D5400074583 /* libRCTWebSocket-tvOS.a */,
3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
@@ -340,24 +382,30 @@
isa = PBXGroup;
children = (
146834041AC3E56700842450 /* libReact.a */,
3AB54C841DEC4D5400074583 /* libReact-tvOS.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 = "<group>";
};
3178002F1DF596250032E251 /* Products */ = {
3AE772FA1E2D2B5C003E62D3 /* Products */ = {
isa = PBXGroup;
children = (
317800351DF596260032E251 /* libRCTAnimation.a */,
317800371DF596260032E251 /* libRCTAnimation-tvOS.a */,
3AE773171E2D2B5C003E62D3 /* libTPSStripe.a */,
);
name = Products;
sourceTree = "<group>";
};
3A5BE3A91DEC5108009DF229 /* Products */ = {
5E91572E1DD0AC6500FF2AA8 /* Products */ = {
isa = PBXGroup;
children = (
3A5BE3BE1DEC5108009DF229 /* libTPSStripe.a */,
5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */,
5E9157351DD0AC6500FF2AA8 /* libRCTAnimation-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
@@ -366,7 +414,7 @@
isa = PBXGroup;
children = (
78C398B91ACF4ADC00677621 /* libRCTLinking.a */,
3AB54C6F1DEC4D5400074583 /* libRCTLinking-tvOS.a */,
3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
@@ -374,7 +422,7 @@
832341AE1AAA6A7D00B99B32 /* Libraries */ = {
isa = PBXGroup;
children = (
3178002E1DF596250032E251 /* RCTAnimation.xcodeproj */,
5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */,
146833FF1AC3E56700842450 /* React.xcodeproj */,
00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */,
00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */,
@@ -385,7 +433,7 @@
832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */,
00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */,
139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */,
D555FDD271F346E384F8783F /* TPSStripe.xcodeproj */,
D86AB494C0D946E59EFEC58B /* TPSStripe.xcodeproj */,
);
name = Libraries;
sourceTree = "<group>";
@@ -394,7 +442,7 @@
isa = PBXGroup;
children = (
832341B51AAA6A8300B99B32 /* libRCTText.a */,
3AB54C7B1DEC4D5400074583 /* libRCTText-tvOS.a */,
3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */,
);
name = Products;
sourceTree = "<group>";
@@ -406,8 +454,8 @@
832341AE1AAA6A7D00B99B32 /* Libraries */,
00E356EF1AD99517003FC87E /* exampleTests */,
83CBBA001A601CBA00E9B192 /* Products */,
A15A75797C27FA6CE9A4CA91 /* Pods */,
D0114247099177E1A058C4B1 /* Frameworks */,
F3040E4E6EC5773326C26E67 /* Pods */,
EB0EABA96B5B825106E9056B /* Frameworks */,
);
indentWidth = 2;
sourceTree = "<group>";
@@ -422,26 +470,26 @@
name = Products;
sourceTree = "<group>";
};
A15A75797C27FA6CE9A4CA91 /* Pods */ = {
EB0EABA96B5B825106E9056B /* Frameworks */ = {
isa = PBXGroup;
children = (
D6F73E8E3416BAD80C8B5D62 /* Pods-example.debug.xcconfig */,
B5708BD4A230C2BF267C9233 /* Pods-example.release.xcconfig */,
08DCD9E24AC2BBB1E9AE01C9 /* Pods-exampleTests.debug.xcconfig */,
6A4B01B0FE560130855EABCF /* Pods-exampleTests.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
};
D0114247099177E1A058C4B1 /* Frameworks */ = {
isa = PBXGroup;
children = (
603790A80379DFD7B8ECCB7F /* libPods-example.a */,
4A0A9588312FCE62C59C8D0F /* libPods-exampleTests.a */,
9D181E91A012ED594DFB6985 /* libPods-example.a */,
802C30D82CA36B1080B56413 /* libPods-exampleTests.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
F3040E4E6EC5773326C26E67 /* Pods */ = {
isa = PBXGroup;
children = (
CDE8C49AE16D785609C8F6ED /* Pods-example.debug.xcconfig */,
30420DDB318D7D1EE55E5DE1 /* Pods-example.release.xcconfig */,
BC4196D2D936D6B9209C087D /* Pods-exampleTests.debug.xcconfig */,
E9169EE3A0A62F8DDAEEA467 /* Pods-exampleTests.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -449,12 +497,12 @@
isa = PBXNativeTarget;
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */;
buildPhases = (
DA2103484B40156DACBA20B3 /* [CP] Check Pods Manifest.lock */,
7478F0442ADDBEDCF9BACB19 /* [CP] Check Pods Manifest.lock */,
00E356EA1AD99517003FC87E /* Sources */,
00E356EB1AD99517003FC87E /* Frameworks */,
00E356EC1AD99517003FC87E /* Resources */,
9D627E6C570AF5BDA55CDC78 /* [CP] Embed Pods Frameworks */,
0938366A23F9D5BC4BCAE63F /* [CP] Copy Pods Resources */,
E1223F6745C5855D44BA6070 /* [CP] Embed Pods Frameworks */,
8F32D12780CA9ABE9002C412 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
@@ -470,13 +518,13 @@
isa = PBXNativeTarget;
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */;
buildPhases = (
CD6211DE3CCEBD82B92B1EA2 /* [CP] Check Pods Manifest.lock */,
DF53415A1E7FE5C933FB8506 /* [CP] Check Pods Manifest.lock */,
13B07F871A680F5B00A75B9A /* Sources */,
13B07F8C1A680F5B00A75B9A /* Frameworks */,
13B07F8E1A680F5B00A75B9A /* Resources */,
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
5D8F8E8F5FBCA6378915EC81 /* [CP] Embed Pods Frameworks */,
89F63F511D5F61263952F44A /* [CP] Copy Pods Resources */,
25FAE757CFEFF0BC32F368A0 /* [CP] Embed Pods Frameworks */,
85A61592560E73A8A2A2B56E /* [CP] Copy Pods Resources */,
);
buildRules = (
);
@@ -519,8 +567,8 @@
ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */;
},
{
ProductGroup = 3178002F1DF596250032E251 /* Products */;
ProjectRef = 3178002E1DF596250032E251 /* RCTAnimation.xcodeproj */;
ProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */;
ProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */;
},
{
ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */;
@@ -559,8 +607,8 @@
ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */;
},
{
ProductGroup = 3A5BE3A91DEC5108009DF229 /* Products */;
ProjectRef = D555FDD271F346E384F8783F /* TPSStripe.xcodeproj */;
ProductGroup = 3AE772FA1E2D2B5C003E62D3 /* Products */;
ProjectRef = D86AB494C0D946E59EFEC58B /* TPSStripe.xcodeproj */;
},
);
projectRoot = "";
@@ -628,74 +676,116 @@
remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
317800351DF596260032E251 /* libRCTAnimation.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRCTAnimation.a;
remoteRef = 317800341DF596260032E251 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
317800371DF596260032E251 /* libRCTAnimation-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libRCTAnimation-tvOS.a";
remoteRef = 317800361DF596260032E251 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
3A5BE3BE1DEC5108009DF229 /* libTPSStripe.a */ = {
3AE773171E2D2B5C003E62D3 /* libTPSStripe.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libTPSStripe.a;
remoteRef = 3A5BE3BD1DEC5108009DF229 /* PBXContainerItemProxy */;
remoteRef = 3AE773161E2D2B5C003E62D3 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
3AB54C6B1DEC4D5400074583 /* libRCTImage-tvOS.a */ = {
3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libRCTImage-tvOS.a";
remoteRef = 3AB54C6A1DEC4D5400074583 /* PBXContainerItemProxy */;
remoteRef = 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
3AB54C6F1DEC4D5400074583 /* libRCTLinking-tvOS.a */ = {
3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libRCTLinking-tvOS.a";
remoteRef = 3AB54C6E1DEC4D5400074583 /* PBXContainerItemProxy */;
remoteRef = 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
3AB54C731DEC4D5400074583 /* libRCTNetwork-tvOS.a */ = {
3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libRCTNetwork-tvOS.a";
remoteRef = 3AB54C721DEC4D5400074583 /* PBXContainerItemProxy */;
remoteRef = 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
3AB54C771DEC4D5400074583 /* libRCTSettings-tvOS.a */ = {
3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libRCTSettings-tvOS.a";
remoteRef = 3AB54C761DEC4D5400074583 /* PBXContainerItemProxy */;
remoteRef = 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
3AB54C7B1DEC4D5400074583 /* libRCTText-tvOS.a */ = {
3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libRCTText-tvOS.a";
remoteRef = 3AB54C7A1DEC4D5400074583 /* PBXContainerItemProxy */;
remoteRef = 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
3AB54C801DEC4D5400074583 /* libRCTWebSocket-tvOS.a */ = {
3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libRCTWebSocket-tvOS.a";
remoteRef = 3AB54C7F1DEC4D5400074583 /* PBXContainerItemProxy */;
remoteRef = 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
3AB54C841DEC4D5400074583 /* libReact-tvOS.a */ = {
3DAD3EA31DF850E9000B6D8A /* libReact.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = "libReact-tvOS.a";
remoteRef = 3AB54C831DEC4D5400074583 /* PBXContainerItemProxy */;
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 */ = {
@@ -748,22 +838,7 @@
shellPath = /bin/sh;
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/packager/react-native-xcode.sh";
};
0938366A23F9D5BC4BCAE63F /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-exampleTests/Pods-exampleTests-resources.sh\"\n";
showEnvVarsInLog = 0;
};
5D8F8E8F5FBCA6378915EC81 /* [CP] Embed Pods Frameworks */ = {
25FAE757CFEFF0BC32F368A0 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -778,7 +853,22 @@
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-example/Pods-example-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
89F63F511D5F61263952F44A /* [CP] Copy Pods Resources */ = {
7478F0442ADDBEDCF9BACB19 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
showEnvVarsInLog = 0;
};
85A61592560E73A8A2A2B56E /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -793,7 +883,37 @@
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-example/Pods-example-resources.sh\"\n";
showEnvVarsInLog = 0;
};
9D627E6C570AF5BDA55CDC78 /* [CP] Embed Pods Frameworks */ = {
8F32D12780CA9ABE9002C412 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-exampleTests/Pods-exampleTests-resources.sh\"\n";
showEnvVarsInLog = 0;
};
DF53415A1E7FE5C933FB8506 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
showEnvVarsInLog = 0;
};
E1223F6745C5855D44BA6070 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -808,36 +928,6 @@
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-exampleTests/Pods-exampleTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
CD6211DE3CCEBD82B92B1EA2 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
showEnvVarsInLog = 0;
};
DA2103484B40156DACBA20B3 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -883,7 +973,7 @@
/* Begin XCBuildConfiguration section */
00E356F61AD99517003FC87E /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 08DCD9E24AC2BBB1E9AE01C9 /* Pods-exampleTests.debug.xcconfig */;
baseConfigurationReference = BC4196D2D936D6B9209C087D /* Pods-exampleTests.debug.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
GCC_PREPROCESSOR_DEFINITIONS = (
@@ -900,6 +990,16 @@
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-framework",
"\"AddressBook\"",
"-framework",
"\"Foundation\"",
"-framework",
"\"PassKit\"",
"-framework",
"\"Security\"",
"-framework",
"\"WebKit\"",
"-lc++",
);
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -909,7 +1009,7 @@
};
00E356F71AD99517003FC87E /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 6A4B01B0FE560130855EABCF /* Pods-exampleTests.release.xcconfig */;
baseConfigurationReference = E9169EE3A0A62F8DDAEEA467 /* Pods-exampleTests.release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
COPY_PHASE_STRIP = NO;
@@ -923,6 +1023,16 @@
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
"-framework",
"\"AddressBook\"",
"-framework",
"\"Foundation\"",
"-framework",
"\"PassKit\"",
"-framework",
"\"Security\"",
"-framework",
"\"WebKit\"",
"-lc++",
);
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -932,17 +1042,11 @@
};
13B07F941A680F5B00A75B9A /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = D6F73E8E3416BAD80C8B5D62 /* Pods-example.debug.xcconfig */;
baseConfigurationReference = CDE8C49AE16D785609C8F6ED /* Pods-example.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
"$(SRCROOT)/../node_modules/react-native/React/**",
"$(SRCROOT)/../node_modules/tipsi-stripe/ios/TPSStripe",
);
INFOPLIST_FILE = example/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
@@ -957,16 +1061,10 @@
};
13B07F951A680F5B00A75B9A /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = B5708BD4A230C2BF267C9233 /* Pods-example.release.xcconfig */;
baseConfigurationReference = 30420DDB318D7D1EE55E5DE1 /* Pods-example.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
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/tipsi-stripe/ios/TPSStripe",
);
INFOPLIST_FILE = example/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_LDFLAGS = (
@@ -1013,12 +1111,6 @@
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/tipsi-stripe/ios/TPSStripe",
);
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
@@ -1054,12 +1146,6 @@
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/tipsi-stripe/ios/TPSStripe",
);
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;

View File

@@ -3,9 +3,23 @@
LastUpgradeVersion = "0620"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
parallelizeBuildables = "NO"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "83CBBA2D1A601D0E00E9B192"
BuildableName = "libReact.a"
BlueprintName = "React"
ReferencedContainer = "container:../node_modules/react-native/React/React.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
@@ -37,10 +51,10 @@
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
@@ -62,15 +76,18 @@
ReferencedContainer = "container:example.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
@@ -86,10 +103,10 @@
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">

View File

@@ -9,8 +9,8 @@
#import "AppDelegate.h"
#import "RCTBundleURLProvider.h"
#import "RCTRootView.h"
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
@implementation AppDelegate

View File

@@ -10,8 +10,8 @@
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
#import "RCTLog.h"
#import "RCTRootView.h"
#import <React/RCTLog.h>
#import <React/RCTRootView.h>
#define TIMEOUT_SECONDS 600
#define TEXT_TO_LOOK_FOR @"Welcome to React Native!"

View File

@@ -17,9 +17,9 @@
"test": "npm-run-all test:*"
},
"dependencies": {
"react": "15.4.1",
"react-addons-shallow-compare": "15.4.1",
"react-native": "0.38.0",
"react": "~15.4.2",
"react-addons-shallow-compare": "~15.4.2",
"react-native": "0.40.0",
"react-native-tab-view": "0.0.37",
"tipsi-stripe": "../"
},

View File

@@ -6,7 +6,7 @@
// Copyright © 2016 Tipsi. All rights reserved.
//
#import "UIView+React.h"
#import <React/UIView+React.h>
#import <Stripe/Stripe.h>
@interface TPSCardField : UIView

View File

@@ -7,7 +7,6 @@
//
#import "TPSCardField.h"
#import "RCTLog.h"
@interface TPSCardField () <STPPaymentCardTextFieldDelegate>
@end
@@ -16,7 +15,7 @@
BOOL _jsRequestingFirstResponder;
BOOL _isFirstResponder;
STPPaymentCardTextField *_paymentCardTextField;
}
- (void)dealloc {

View File

@@ -6,7 +6,7 @@
// Copyright © 2016 Tipsi. All rights reserved.
//
#import "RCTViewManager.h"
#import <React/RCTViewManager.h>
@interface TPSCardFieldManager : RCTViewManager

View File

@@ -8,7 +8,7 @@
#import "TPSCardFieldManager.h"
#import "TPSCardField.h"
#import "RCTFont.h"
#import <React/RCTFont.h>
@implementation TPSCardFieldManager
@@ -55,7 +55,7 @@ RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock);
RCT_CUSTOM_VIEW_PROPERTY(params, NSDictionary, TPSCardField)
{
STPCardParams *cardParams = [[STPCardParams alloc] init];
[cardParams setValuesForKeysWithDictionary:json];
[view setCardParams:cardParams];

View File

@@ -9,8 +9,8 @@
#import <Foundation/Foundation.h>
#import <PassKit/PassKit.h>
#import <Stripe/Stripe.h>
#import "RCTBridgeModule.h"
#import "RCTConvert.h"
#import <React/RCTBridgeModule.h>
#import <React/RCTConvert.h>
@interface TPSStripeManager : NSObject <RCTBridgeModule, PKPaymentAuthorizationViewControllerDelegate, STPAddCardViewControllerDelegate>

View File

@@ -7,19 +7,18 @@
//
#import "TPSStripeManager.h"
#import <RCTLog.h>
#import "RCTUtils.h"
#import <React/RCTUtils.h>
@implementation TPSStripeManager
{
NSString *publishableKey;
NSString *merchantId;
RCTPromiseResolveBlock promiseResolver;
RCTPromiseRejectBlock promiseRejector;
BOOL requestIsCompleted;
void (^applePayCompletion)(PKPaymentAuthorizationStatus);
}
@@ -74,17 +73,17 @@ RCT_EXPORT_METHOD(createTokenWithCard:(NSDictionary *)params
);
return;
}
requestIsCompleted = NO;
STPCardParams *cardParams = [[STPCardParams alloc] init];
[cardParams setNumber: params[@"number"]];
[cardParams setExpMonth: [params[@"expMonth"] integerValue]];
[cardParams setExpYear: [params[@"expYear"] integerValue]];
[cardParams setCvc: params[@"cvc"]];
[cardParams setCurrency: params[@"currency"]];
[cardParams setName: params[@"name"]];
[cardParams setAddressLine1: params[@"addressLine1"]];
[cardParams setAddressLine2: params[@"addressLine2"]];
@@ -95,7 +94,7 @@ RCT_EXPORT_METHOD(createTokenWithCard:(NSDictionary *)params
// cardParams.expMonth = [params[@"expMonth"] integerValue];
// cardParams.expYear = [params[@"expYear"] integerValue];
[[STPAPIClient sharedClient] createTokenWithCard:cardParams completion:^(STPToken *token, NSError *error) {
requestIsCompleted = YES;
@@ -124,21 +123,21 @@ RCT_EXPORT_METHOD(paymentRequestWithCardForm:(NSDictionary *)options
// Save promise handlers to use in `paymentAuthorizationViewController`
promiseResolver = resolve;
promiseRejector = reject;
NSUInteger requiredBillingAddressFields = [self billingType:options[@"requiredBillingAddressFields"]];
NSString *companyName = options[@"companyName"] ? options[@"companyName"] : @"";
BOOL smsAutofillDisabled = [options[@"smsAutofillDisabled"] boolValue];
NSString *nextPublishableKey = options[@"publishableKey"] ? options[@"publishableKey"] : publishableKey;
UIModalPresentationStyle formPresentation = [self formPresentation:options[@"presentation"]];
STPTheme *theme = [self formTheme:options[@"theme"]];
STPPaymentConfiguration *configuration = [[STPPaymentConfiguration alloc] init];
[configuration setRequiredBillingAddressFields:requiredBillingAddressFields];
[configuration setCompanyName:companyName];
[configuration setSmsAutofillDisabled:smsAutofillDisabled];
[configuration setPublishableKey:nextPublishableKey];
STPAddCardViewController *addCardViewController = [[STPAddCardViewController alloc] initWithConfiguration:configuration theme:theme];
addCardViewController.delegate = self;
// STPAddCardViewController must be shown inside a UINavigationController.
@@ -164,15 +163,15 @@ RCT_EXPORT_METHOD(paymentRequestWithApplePay:(NSArray *)items
// Save promise handlers to use in `paymentAuthorizationViewController`
promiseResolver = resolve;
promiseRejector = reject;
NSUInteger requiredShippingAddressFields = [self applePayAddressFields:options[@"requiredShippingAddressFields"]];
NSUInteger requiredBillingAddressFields = [self applePayAddressFields:options[@"requiredBillingAddressFields"]];
PKShippingType shippingType = [self applePayShippingType:options[@"shippingType"]];
NSMutableArray *shippingMethodsItems = options[@"shippingMethods"] ? options[@"shippingMethods"] : [NSMutableArray array];
NSString* currencyCode = options[@"currencyCode"] ? options[@"currencyCode"] : @"USD";
NSMutableArray *shippingMethods = [NSMutableArray array];
for (NSDictionary *item in shippingMethodsItems) {
PKShippingMethod *shippingItem = [[PKShippingMethod alloc] init];
shippingItem.label = item[@"label"];
@@ -181,9 +180,9 @@ RCT_EXPORT_METHOD(paymentRequestWithApplePay:(NSArray *)items
shippingItem.identifier = item[@"id"];
[shippingMethods addObject:shippingItem];
}
NSMutableArray *summaryItems = [NSMutableArray array];
for (NSDictionary *item in items) {
PKPaymentSummaryItem *summaryItem = [[PKPaymentSummaryItem alloc] init];
summaryItem.label = item[@"label"];
@@ -232,7 +231,7 @@ RCT_EXPORT_METHOD(paymentRequestWithApplePay:(NSArray *)items
- (void)addCardViewControllerDidCancel:(STPAddCardViewController *)addCardViewController {
[RCTPresentedViewController() dismissViewControllerAnimated:YES completion:nil];
if (!requestIsCompleted) {
requestIsCompleted = YES;
promiseRejector(
@@ -363,19 +362,19 @@ RCT_EXPORT_METHOD(paymentRequestWithApplePay:(NSArray *)items
if (inputContact.name) {
[contactDetails setValue:[NSPersonNameComponentsFormatter localizedStringFromPersonNameComponents:inputContact.name style:NSPersonNameComponentsFormatterStyleDefault options:0] forKey:@"name"];
}
if (inputContact.phoneNumber) {
[contactDetails setValue:[inputContact.phoneNumber stringValue] forKey:@"phoneNumber"];
}
if (inputContact.emailAddress) {
[contactDetails setValue:inputContact.emailAddress forKey:@"emailAddress"];
}
if (inputContact.supplementarySubLocality) {
[contactDetails setValue:inputContact.supplementarySubLocality forKey:@"supplementarySubLocality"];
}
for (NSString *elem in @[@"street", @"city", @"state", @"country", @"ISOCountryCode", @"postalCode"]) {
if ([inputContact.postalAddress respondsToSelector:NSSelectorFromString(elem)]) {
[contactDetails setValue:[inputContact.postalAddress valueForKey:elem] forKey:elem];
@@ -394,23 +393,23 @@ RCT_EXPORT_METHOD(paymentRequestWithApplePay:(NSArray *)items
if (inputShipping.label) {
[shippingDetails setValue:inputShipping.label forKey:@"label"];
}
if (inputShipping.amount) {
[shippingDetails setValue:[[self numberFormatter] stringFromNumber: inputShipping.amount] forKey:@"amount"];
}
if (inputShipping.detail) {
[shippingDetails setValue:inputShipping.detail forKey:@"detail"];
}
if (inputShipping.identifier) {
[shippingDetails setValue:inputShipping.identifier forKey:@"id"];
}
if ([shippingDetails count] == 0) {
return nil;
}
return shippingDetails;
}
@@ -461,7 +460,7 @@ RCT_EXPORT_METHOD(paymentRequestWithApplePay:(NSArray *)items
- (STPTheme *)formTheme:(NSDictionary*)options {
STPTheme *theme = [[STPTheme alloc] init];
[theme setPrimaryBackgroundColor:[RCTConvert UIColor:options[@"primaryBackgroundColor"]]];
[theme setSecondaryBackgroundColor:[RCTConvert UIColor:options[@"secondaryBackgroundColor"]]];
[theme setPrimaryForegroundColor:[RCTConvert UIColor:options[@"primaryForegroundColor"]]];
@@ -470,7 +469,7 @@ RCT_EXPORT_METHOD(paymentRequestWithApplePay:(NSArray *)items
[theme setErrorColor:[RCTConvert UIColor:options[@"errorColor"]]];
[theme setErrorColor:[RCTConvert UIColor:options[@"errorColor"]]];
// TODO: process font vars
return theme;
}
@@ -479,7 +478,7 @@ RCT_EXPORT_METHOD(paymentRequestWithApplePay:(NSArray *)items
return UIModalPresentationPageSheet;
if ([inputType isEqualToString:@"formSheet"])
return UIModalPresentationFormSheet;
return UIModalPresentationFullScreen;
}

View File

@@ -30,7 +30,7 @@
}
},
"peerDependencies": {
"react-native": "*"
"react-native": ">=0.40"
},
"devDependencies": {
"babel-eslint": "^7.0.0",