├── .gitignore
├── .watchmanconfig
├── App.js
├── README.md
├── android
├── android.iml
├── app
│ ├── build.gradle
│ ├── expo.gradle
│ ├── fabric.properties
│ ├── google-services.json
│ ├── proguard-rules.pro
│ └── src
│ │ ├── devKernel
│ │ └── java
│ │ │ └── host
│ │ │ └── exp
│ │ │ └── exponent
│ │ │ └── BuildVariantConstants.java
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ │ ├── fonts
│ │ │ │ └── EmojiOne.ttf
│ │ │ ├── kernel-manifest.json
│ │ │ └── kernel.android.bundle
│ │ ├── java
│ │ │ └── host
│ │ │ │ └── exp
│ │ │ │ └── exponent
│ │ │ │ ├── MainActivity.java
│ │ │ │ ├── MainApplication.java
│ │ │ │ └── generated
│ │ │ │ ├── AppConstants.java
│ │ │ │ └── DetachBuildConstants.java
│ │ └── res
│ │ │ ├── drawable-hdpi
│ │ │ ├── ic_arrow_back_white_36dp.png
│ │ │ ├── ic_home_white_36dp.png
│ │ │ ├── ic_logo_white_32dp.png
│ │ │ ├── ic_refresh_white_36dp.png
│ │ │ └── ic_share_white_36dp.png
│ │ │ ├── drawable-mdpi
│ │ │ ├── ic_arrow_back_white_36dp.png
│ │ │ ├── ic_home_white_36dp.png
│ │ │ ├── ic_logo_white_32dp.png
│ │ │ ├── ic_refresh_white_36dp.png
│ │ │ └── ic_share_white_36dp.png
│ │ │ ├── drawable-xhdpi
│ │ │ ├── ic_arrow_back_white_36dp.png
│ │ │ ├── ic_home_white_36dp.png
│ │ │ ├── ic_logo_white_32dp.png
│ │ │ ├── ic_refresh_white_36dp.png
│ │ │ └── ic_share_white_36dp.png
│ │ │ ├── drawable-xxhdpi
│ │ │ ├── ic_arrow_back_white_36dp.png
│ │ │ ├── ic_home_white_36dp.png
│ │ │ ├── ic_logo_white_32dp.png
│ │ │ ├── ic_refresh_white_36dp.png
│ │ │ └── ic_share_white_36dp.png
│ │ │ ├── drawable-xxxhdpi
│ │ │ ├── big_logo_dark.png
│ │ │ ├── big_logo_dark_filled.png
│ │ │ ├── big_logo_filled.png
│ │ │ ├── big_logo_new_filled.png
│ │ │ ├── ic_arrow_back_white_36dp.png
│ │ │ ├── ic_home_white_36dp.png
│ │ │ ├── ic_logo_white_32dp.png
│ │ │ ├── ic_refresh_white_36dp.png
│ │ │ ├── ic_share_white_36dp.png
│ │ │ ├── notification_icon.png
│ │ │ ├── pin_white.png
│ │ │ ├── pin_white_fade.png
│ │ │ ├── shell_launch_background_image.png
│ │ │ └── shell_notification_icon.png
│ │ │ ├── drawable
│ │ │ └── splash_background.xml
│ │ │ ├── layout
│ │ │ ├── error_activity_new.xml
│ │ │ ├── error_console_fragment.xml
│ │ │ ├── error_console_list_item.xml
│ │ │ ├── error_fragment.xml
│ │ │ ├── exponent_button.xml
│ │ │ ├── exponent_check_box.xml
│ │ │ ├── exponent_dev_activity.xml
│ │ │ ├── notification.xml
│ │ │ └── notification_shell_app.xml
│ │ │ ├── mipmap-hdpi
│ │ │ ├── dev_icon.png
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ ├── dev_icon.png
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── dev_icon.png
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── dev_icon.png
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── dev_icon.png
│ │ │ └── ic_launcher.png
│ │ │ ├── values-w820dp
│ │ │ └── dimens.xml
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ └── prodKernel
│ │ └── java
│ │ └── host
│ │ └── exp
│ │ └── exponent
│ │ └── BuildVariantConstants.java
├── build.gradle
├── debug.keystore
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── run.sh
└── settings.gradle
├── app.json
├── assets
├── fastlane_match.png
├── github_repo.png
├── icon.png
├── itunesconnect.png
└── splash.png
├── babel.config.js
├── ios
├── .gitignore
├── Gemfile
├── Podfile
├── Podfile.lock
├── expokit-fastlane-example.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── expokit-fastlane-example.xcscheme
├── expokit-fastlane-example.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── xcuserdata
│ │ └── evanbacon.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
├── expokit-fastlane-example
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ ├── AppIcon1024x1024.png
│ │ │ ├── AppIcon20x20@2x.png
│ │ │ ├── AppIcon20x20@3x.png
│ │ │ ├── AppIcon29x29@2x.png
│ │ │ ├── AppIcon29x29@3x.png
│ │ │ ├── AppIcon40x40@2x.png
│ │ │ ├── AppIcon40x40@3x.png
│ │ │ ├── AppIcon60x60@2x.png
│ │ │ ├── AppIcon60x60@3x.png
│ │ │ ├── AppIcon76x76@2x~ipad.png
│ │ │ ├── AppIcon76x76~ipad.png
│ │ │ ├── AppIcon83.5x83.5@2x~ipad.png
│ │ │ └── Contents.json
│ └── Supporting
│ │ ├── EXBuildConstants.json
│ │ ├── EXBuildConstants.plist
│ │ ├── EXBuildConstants.plist.bak
│ │ ├── EXSDKVersions.plist
│ │ ├── EXShell.plist
│ │ ├── Info.plist
│ │ ├── LaunchScreen.xib
│ │ ├── launch_background_image.png
│ │ ├── launch_icon.png
│ │ ├── main.m
│ │ ├── sdkVersions.json
│ │ ├── shell-app-manifest.json
│ │ └── shell-app.bundle
└── fastlane
│ ├── Appfile
│ ├── Deliverfile
│ ├── Fastfile
│ ├── Matchfile
│ ├── README.md
│ ├── metadata
│ ├── copyright.txt
│ ├── en-US
│ │ ├── description.txt
│ │ ├── keywords.txt
│ │ ├── marketing_url.txt
│ │ ├── name.txt
│ │ ├── privacy_url.txt
│ │ ├── promotional_text.txt
│ │ ├── release_notes.txt
│ │ ├── subtitle.txt
│ │ └── support_url.txt
│ ├── primary_category.txt
│ ├── primary_first_sub_category.txt
│ ├── primary_second_sub_category.txt
│ ├── review_information
│ │ ├── demo_password.txt
│ │ ├── demo_user.txt
│ │ ├── email_address.txt
│ │ ├── first_name.txt
│ │ ├── last_name.txt
│ │ ├── notes.txt
│ │ └── phone_number.txt
│ ├── secondary_category.txt
│ ├── secondary_first_sub_category.txt
│ ├── secondary_second_sub_category.txt
│ └── trade_representative_contact_information
│ │ ├── address_line1.txt
│ │ ├── address_line2.txt
│ │ ├── address_line3.txt
│ │ ├── city_name.txt
│ │ ├── country.txt
│ │ ├── email_address.txt
│ │ ├── first_name.txt
│ │ ├── is_displayed_on_app_store.txt
│ │ ├── last_name.txt
│ │ ├── phone_number.txt
│ │ ├── postal_code.txt
│ │ ├── state.txt
│ │ └── trade_name.txt
│ ├── report.xml
│ └── screenshots
│ └── README.txt
├── package.json
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/**/*
2 | .expo/*
3 | npm-debug.*
4 | *.jks
5 | *.p12
6 | *.key
7 | *.mobileprovision
8 |
--------------------------------------------------------------------------------
/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/App.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { StyleSheet, Text, View } from 'react-native';
3 |
4 | export default class App extends React.Component {
5 | render() {
6 | return (
7 |
8 | Open up App.js to start working on your app!
9 |
10 | );
11 | }
12 | }
13 |
14 | const styles = StyleSheet.create({
15 | container: {
16 | flex: 1,
17 | backgroundColor: '#fff',
18 | alignItems: 'center',
19 | justifyContent: 'center',
20 | },
21 | });
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ExpoKit Fastlane
2 |
3 | > This project is deprecated in favor of `eas build` which does almost everything here automatically.
4 | >
5 |
6 | You probably enjoy the luxurious `expo build:ios` command but if you upgrade/eject to add custom native modules then you need a new approach. Here is my favorite way to upload to the app store on iOS.
7 |
8 | > I use the `produce` & `deliver` steps in vanilla Expo too!
9 |
10 | ## Starting from the beginning
11 |
12 | But First! This will not work without a paid Apple Developer account ☹️
13 |
14 | ### Create an Expo project
15 |
16 | ```sh
17 | $ expo init
18 |
19 | > ? Choose a project name: expokit-fastlane-example
20 | > ? Choose a template: expo-template-blank
21 | > ? Yarn v1.12.3 found. Use Yarn to install dependencies? Yes
22 |
23 | ```
24 |
25 | ### Then enter the folder
26 |
27 | ```sh
28 | $ cd expokit-fastlane-example/
29 | ```
30 |
31 | ### Commit 😁
32 |
33 | ```sh
34 | expokit-fastlane-example $ git add .; git commit -m "init"
35 | ```
36 |
37 | ### Eject
38 |
39 | ```sh
40 | expokit-fastlane-example $ expo eject
41 |
42 | ? How would you like to eject from create-react-native-app?
43 |
44 | > ExpoKit: I'll create or log in with an Expo account to use React Native and the Expo SDK.
45 |
46 | ? What would you like your iOS bundle identifier to be?
47 |
48 | > com.evanbacon.expokitfastlane
49 |
50 | ? What would you like your Android package name to be?
51 |
52 | > com.evanbacon.expokitfastlane
53 |
54 | ```
55 |
56 | ### Commit 😊
57 |
58 | ```sh
59 | expokit-fastlane-example $ git add .; git commit -m "ejected"
60 | ```
61 |
62 | ### Enter the ios folder
63 |
64 | ```sh
65 | expokit-fastlane-example $ cd ios
66 | ```
67 |
68 | ### Fastlane init
69 |
70 | ```sh
71 | ios $ fastlane init
72 |
73 | ? What would you like to use fastlane for?
74 |
75 | 1. 📸 Automate screenshots
76 | 2. 👩✈️ Automate beta distribution to TestFlight
77 | 3. 🚀 Automate App Store distribution
78 | 4. 🛠 Manual setup - manually setup your project to automate your tasks
79 |
80 | > 3
81 |
82 | ```
83 |
84 | ```sh
85 |
86 | ? Apple ID Username:
87 |
88 | > evanjbacon@gmail.com
89 |
90 | ```
91 |
92 | I got this error, then I changed the ID, and still got it 🙃 so just pass `n` in the next bit cuz I think it's a fastlane bug.
93 |
94 | `It looks like the app 'com.bacon.expokitfastlane' isn't available on the Apple Developer Portal for the team ID 'QQ57RJ5UTD' on Apple ID 'evanjbacon@gmail.com'`
95 |
96 | ```sh
97 | ? Do you want fastlane to create the App ID for you on the Apple Developer Portal? (y/n):
98 |
99 | > n
100 | ```
101 |
102 | ```sh
103 |
104 | $ [22:49:14]: --- ✅ Successfully generated fastlane configuration ---
105 |
106 | ```
107 |
108 | Then just hit enter a bunch of times...
109 |
110 | ### Commit 😏
111 |
112 | ```sh
113 | expokit-fastlane-example $ git add .; git commit -m "fastlane init"
114 | ```
115 |
116 | ### Create the App Entry
117 |
118 | At this point you should have a new folder `ios/fastlane/` with a `Fastfile` & `Appfile`. Ideally we want a `Deliverfile` & `Matchfile` too.
119 |
120 | If you hit the bundle ID snag then you need to create an app in Appstore Connect (formerly iTunes Connect). This is very easy, or at least it should be.
121 |
122 | ```sh
123 |
124 | ios $ fastlane produce init
125 |
126 | ```
127 |
128 | You may need to sign-in to your account, sometimes it'll just auto authenticate.
129 |
130 | ```sh
131 |
132 | ? App Name:
133 |
134 | > ExpoKit Fastlane
135 |
136 | ```
137 |
138 | Now you've `Successfully created new app 'ExpoKit Fastlane' on App Store Connect with ID`!
139 |
140 | You won't see any git changes but if you go to [AppStore Connect](https://appstoreconnect.apple.com/) you should see a new app created and ready for you!
141 |
142 | 
143 |
144 | ### Setup Metadata with Deliver
145 |
146 | This part is cool:
147 |
148 | - [Here are the official docs](https://docs.fastlane.tools/actions/deliver/#deliver)
149 | - [Here is another one of my rants](https://blog.expo.io/manage-app-store-metadata-in-expo-with-fastlane-deliver-1c00e06b73bf)
150 |
151 | You can use this in vanilla Expo or ExpoKit!
152 |
153 | ```sh
154 | ios $ fastlane deliver init
155 | ```
156 |
157 | You may need to sign in, note that I'm running all of these commands in `ios/`. If you don't then you will need to specify the bundle ID.
158 |
159 | ### Commit 😕
160 |
161 | ```sh
162 | expokit-fastlane-example $ git add .; git commit -m "fastlane deliver init"
163 | ```
164 |
165 | ### Deliver
166 |
167 | At this point you can type `fastlane deliver` and it will push all of the blank metadata to the App Store entry.
168 |
169 | ### Code Sign with Match
170 |
171 | - [Here are the official docs](https://docs.fastlane.tools/actions/match/#setup)
172 |
173 | Now we need to do our code signing. If you know any iOS developer, you've probably seen the sadness luming deep in their solemn gaze. This is because of iOS code signing; a digital signature system that has a few less-than simple steps.
174 |
175 | Translation: it's fucking bullshit.
176 |
177 | But we can skip the entire process with one line! 😮
178 |
179 | ```sh
180 |
181 | fastlane match init
182 |
183 | ```
184 |
185 | This will ask you for the URL to a **private** repo. I think you can get a free one on gitlab. If you have a paid Github account you can make as many as you want. (💪 don't wanna brag but... I don't like to pay for stuff)
186 |
187 | 
188 |
189 | Name the repo something like `project-certificates` or whatever you want.
190 |
191 | If your computer is setup with SSH then you should use the `git` URL, otherwise the `https` one is aight too.
192 |
193 | ```sh
194 |
195 | ? URL of the Git Repo:
196 |
197 | > git@github.com:EvanBacon/expokit-fastlane-example-certificates.git
198 |
199 | ```
200 |
201 | Now you should have a `ios/Matchfile`
202 |
203 | Just to be safe, make sure your "Automatically manage signing" option in the general tab of your `ios/.xcworkspace` project is **UNCHECKED** and after we run the next two commands, you'll want to select the eligible profiles.
204 |
205 | If you've already messed with your signing then check out this neat command [**MATCH NUKE**](https://docs.fastlane.tools/actions/match/#nuke)
206 |
207 | 
208 |
209 | ### Configure the Certs
210 |
211 | > Certs = certificates 😗
212 |
213 | ```sh
214 | fastlane match appstore
215 |
216 | ? Passphrase for Git Repo:
217 |
218 | > writingTutorialsOnFridayNightIsCool
219 |
220 | # [23:45:45]: All required keys, certificates and provisioning profiles are installed 🙌
221 |
222 | ```
223 |
224 | ### Now run this (you need both)
225 |
226 | ```sh
227 |
228 | fastlane match development
229 |
230 | # [23:46:48]: All required keys, certificates and provisioning profiles are installed 🙌
231 |
232 | ```
233 |
234 | _From the docs:_
235 |
236 | This will create a new certificate and provisioning profile (if required) and store them in your Git repo. If you previously ran match it will automatically install the existing profiles from the Git repo.
237 |
238 | The provisioning profiles are installed in ~/Library/MobileDevice/Provisioning Profiles while the certificates and private keys are installed in your Keychain.
239 |
240 | ### Install Pods
241 |
242 | You can prolly skip this (entire tutorial).
243 |
244 | In `ios/` run `pod install` to download all of the dependencies.
245 |
246 | ### Should I Commit the Pods
247 |
248 | _TL;DR_: [Cocoapods officially say "commit ur shit boi"](https://guides.cocoapods.org/using/using-cocoapods#should-i-check-the-pods-directory-into-source-control)
249 |
250 | After you install your libs you may notice a lot of extra files in your git repo. Cocoapods have a `ios/Podfile.lock` that is generated after running `pod install`, this file should always be committed. You can use this file to regenerate your `ios/Pods/` folder.
251 | React Native pods are usually always _"development pods"_ which means they are local. Specifically they are stored in the `node_modules` folders. Because of this, there is a lot of ambiguity over wheather or not you should commit the `ios/Pods/`.
252 |
253 | I don't save them, I have commitment issues 🤓
254 |
255 | ### Publish
256 |
257 | Finally we're done!
258 |
259 | In `ios/` run `fastlane release` to generate the `.ipa` file 😁 this will also push the file to AppStore Connect!
260 |
261 | ### Update the Metadata
262 |
263 | You can also run `fastlane deliver` to push all of your local metadata. I usually set the categories in the app store connect website then run `fastlane deliver download_metadata` which downloads the metadata into the local copy. This is cool because you can git commit the files. You can push up the data faster with `fastlane deliver --skip_binary_upload --skip_screenshots` also `--force` to skip the HTML preview.
264 |
265 | ### OTA Updates
266 |
267 | Use `expo publish` to upload your JS changes whenever you want. If you change native code, or update the Expo version, or use a different release channel - the changes may not (won't) show up. The CLI should warn you about this.
268 |
269 | ### Commit 🙁
270 |
271 | ```sh
272 | expokit-fastlane-example $ git add .; git commit -m "fastlane deliver init"
273 | ```
274 |
275 | ## Extra Credit
276 |
277 | Here are a couple of other things I do to make life easy.
278 |
279 | ### Setup notifications
280 |
281 | I use this library: https://www.npmjs.com/package/expo-firebase-messaging the instructions are something like `fastlane pem` then upload the files to firebase. By default this will produce prod keys, you can add `--development` to get the development pods
282 |
283 | ### Add a Deliverfile
284 |
285 | Create a file `ios/Deliverfile` I usually just do the following. The last line is really the only extra functionality, everything else is added convenience (which is pretty important if you're lazy and sloppy like me)
286 |
287 | ```rb
288 | app_identifier "com.bacon.expokitfastlane" # The bundle identifier of your app
289 | username "evanjbacon@gmail.com" # your Apple ID user
290 |
291 | copyright "#{Time.now.year} Evan Bacon"
292 | ```
293 |
294 | I usually have a git submodule for `ios/fastlane/metadata/trade_representative_contact_information` because it's my business data and it never changes.
295 |
296 | ### Patch Functions
297 |
298 | You can add patch functions to your Fastfile if you want. It's a popular thing, I never use it though 😏
299 |
300 | ```rb
301 |
302 | desc "Increment the app version patch"
303 | lane :bumpPatch do
304 | increment_version_number(
305 | bump_type: "patch"
306 | )
307 | end
308 |
309 | desc "Increment the app version minor"
310 | lane :bumpMinor do
311 | increment_version_number(
312 | bump_type: "minor"
313 | )
314 | end
315 |
316 | desc "Increment the app version major"
317 | lane :bumpMajor do
318 | increment_version_number(
319 | bump_type: "major"
320 | )
321 | end
322 |
323 | ```
324 |
325 | ## Fin
326 |
327 | That's it for now follow [@baconbrix](https://twitter.com/Baconbrix)
328 |
--------------------------------------------------------------------------------
/android/android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | maven { url 'https://maven.fabric.io/public' }
5 | }
6 |
7 | dependencies {
8 | classpath 'io.fabric.tools:gradle:1.+'
9 | }
10 | }
11 | apply plugin: 'com.android.application'
12 | apply plugin: 'io.fabric'
13 |
14 | repositories {
15 | maven { url 'https://maven.fabric.io/public' }
16 | }
17 |
18 | android {
19 | compileSdkVersion 27
20 | buildToolsVersion '27.0.3'
21 |
22 | defaultConfig {
23 | applicationId 'com.evanbacon.expokitfastlane'
24 | targetSdkVersion 26
25 | versionCode 1
26 | versionName '1.0.0'
27 | ndk {
28 | abiFilters 'armeabi-v7a', 'x86'
29 | }
30 | multiDexEnabled true
31 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
32 | // Deprecated. Used by net.openid:appauth
33 | manifestPlaceholders = [
34 | 'appAuthRedirectScheme': 'host.exp.exponent'
35 | ]
36 | }
37 | dexOptions {
38 | javaMaxHeapSize System.getenv("DISABLE_DEX_MAX_HEAP") ? null : "8g"
39 | }
40 |
41 | flavorDimensions 'minSdk', 'remoteKernel'
42 | productFlavors {
43 | devKernel {
44 | dimension 'remoteKernel'
45 | }
46 | prodKernel {
47 | dimension 'remoteKernel'
48 | }
49 | devMinSdk {
50 | dimension 'minSdk'
51 | // dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
52 | // to pre-dex each module and produce an APK that can be tested on
53 | // Android Lollipop without time consuming dex merging processes.
54 | minSdkVersion 21
55 | }
56 | prodMinSdk {
57 | dimension 'minSdk'
58 | minSdkVersion 21
59 | }
60 | }
61 | buildTypes {
62 | debug {
63 | debuggable true
64 | ext.enableCrashlytics = false
65 | }
66 | release {
67 | minifyEnabled true
68 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
69 | zipAlignEnabled true
70 | }
71 | }
72 | signingConfigs {
73 | debug {
74 | storeFile file('../debug.keystore')
75 | }
76 | }
77 | lintOptions {
78 | abortOnError false
79 | }
80 | packagingOptions {
81 | pickFirst "**"
82 | }
83 | configurations.all {
84 | resolutionStrategy.force 'com.android.support:design:27.1.0'
85 | }
86 | }
87 |
88 |
89 | configurations.all {
90 | resolutionStrategy {
91 | force 'org.webkit:android-jsc:r224109'
92 | }
93 | }
94 |
95 |
96 | apply from: 'expo.gradle'
97 |
98 |
99 | dependencies {
100 | implementation fileTree(dir: 'libs', include: ['*.jar'])
101 |
102 | implementation 'com.android.support:multidex:1.0.1'
103 |
104 | // Our dependencies
105 | implementation 'com.android.support:appcompat-v7:27.1.1'
106 |
107 | // Our dependencies from ExpoView
108 | // DON'T ADD ANYTHING HERE THAT ISN'T IN EXPOVIEW. ONLY COPY THINGS FROM EXPOVIEW TO HERE.
109 | implementation 'com.android.support:appcompat-v7:27.1.1'
110 | implementation 'com.facebook.android:facebook-android-sdk:4.37.0'
111 | implementation('com.facebook.android:audience-network-sdk:4.99.0') {
112 | exclude module: 'play-services-ads'
113 | }
114 | compileOnly 'org.glassfish:javax.annotation:3.1.1'
115 | implementation 'com.jakewharton:butterknife:8.4.0'
116 | implementation 'de.greenrobot:eventbus:2.4.0'
117 | implementation 'com.amplitude:android-sdk:2.9.2' // Be careful when upgrading! Upgrading might break experience scoping. Check with Jesse. See Analytics.resetAmplitudeDatabaseHelper
118 | implementation 'com.squareup.picasso:picasso:2.5.2'
119 | implementation 'com.google.android.gms:play-services-gcm:15.0.1'
120 | implementation 'com.google.android.gms:play-services-analytics:16.0.1'
121 | implementation 'com.google.android.gms:play-services-maps:15.0.1'
122 | implementation 'com.google.android.gms:play-services-auth:15.0.1'
123 | implementation 'com.google.android.gms:play-services-location:15.0.1'
124 | implementation 'com.google.android.gms:play-services-ads:15.0.1'
125 | annotationProcessor 'com.raizlabs.android:DBFlow-Compiler:2.2.1'
126 | implementation "com.raizlabs.android:DBFlow-Core:2.2.1"
127 | implementation "com.raizlabs.android:DBFlow:2.2.1"
128 | implementation "com.madgag.spongycastle:core:1.53.0.0"
129 | implementation "com.madgag.spongycastle:prov:1.53.0.0"
130 | debugImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta1'
131 | // debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.4-beta1'
132 | releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta1'
133 | implementation 'com.facebook.device.yearclass:yearclass:1.0.1'
134 | implementation 'commons-io:commons-io:1.3.2'
135 | implementation 'me.leolin:ShortcutBadger:1.1.4@aar'
136 | implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
137 | implementation 'com.theartofdev.edmodo:android-image-cropper:2.4.7'
138 | implementation 'com.yqritc:android-scalablevideoview:1.0.1'
139 | implementation 'commons-codec:commons-codec:1.10'
140 | implementation 'com.segment.analytics.android:analytics:4.3.0'
141 | implementation 'com.google.zxing:core:3.2.1'
142 | implementation 'net.openid:appauth:0.4.1'
143 | implementation('com.airbnb.android:lottie:2.5.5') {
144 | exclude group: 'com.android.support', module: 'appcompat-v7'
145 | }
146 | implementation 'io.branch.sdk.android:library:2.17.1'
147 | implementation('io.nlopez.smartlocation:library:3.2.11') {
148 | transitive = false
149 | }
150 | implementation 'com.android.support:exifinterface:27.1.1'
151 | implementation 'com.squareup.okio:okio:1.9.0'
152 | implementation 'com.facebook.soloader:soloader:0.5.1'
153 |
154 | implementation 'com.google.android.exoplayer:exoplayer:2.6.1'
155 | implementation 'expolib_v1.com.google.android.exoplayer:expolib_v1-extension-okhttp:2.6.1@aar'
156 |
157 | // expo-file-system
158 | implementation 'com.squareup.okhttp3:okhttp:3.10.0'
159 | implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.10.0'
160 |
161 | // Testing
162 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
163 | // We use a modified build of com.android.support.test:runner:1.0.1. Explanation in maven-test/README
164 | androidTestImplementation 'com.android.support.test:runner:1.0.1'
165 | androidTestImplementation 'com.android.support:support-annotations:27.1.1'
166 | androidTestImplementation 'com.google.code.findbugs:jsr305:3.0.0'
167 | androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'
168 | androidTestImplementation 'com.azimolabs.conditionwatcher:conditionwatcher:0.2'
169 |
170 | testImplementation 'junit:junit:4.12'
171 | testImplementation 'org.mockito:mockito-core:1.10.19'
172 | testImplementation 'org.robolectric:robolectric:3.8'
173 | testImplementation 'com.android.support.test:runner:1.0.2-alpha1'
174 | testImplementation 'com.android.support.test:rules:1.0.2-alpha1'
175 |
176 |
177 | implementation('host.exp.exponent:expoview:31.0.0@aar') {
178 | transitive = true
179 | exclude group: 'com.squareup.okhttp3', module: 'okhttp'
180 | exclude group: 'com.squareup.okhttp3', module: 'okhttp-urlconnection'
181 | }
182 |
183 |
184 | }
185 |
186 | // This has to be down here for some reason
187 | apply plugin: 'com.google.gms.google-services'
188 |
--------------------------------------------------------------------------------
/android/app/expo.gradle:
--------------------------------------------------------------------------------
1 | // Gradle script for detached apps.
2 |
3 | import org.apache.tools.ant.taskdefs.condition.Os
4 |
5 | void runBefore(String dependentTaskName, Task task) {
6 | Task dependentTask = tasks.findByPath(dependentTaskName);
7 | if (dependentTask != null) {
8 | dependentTask.dependsOn task
9 | }
10 | }
11 |
12 | afterEvaluate {
13 | def expoRoot = file("../../")
14 | def inputExcludes = ["android/**", "ios/**"]
15 |
16 | task exponentPrebuildStep(type: Exec) {
17 | workingDir expoRoot
18 | if (Os.isFamily(Os.FAMILY_WINDOWS)) {
19 | commandLine "cmd", "/c", ".\\node_modules\\expokit\\detach-scripts\\run-exp.bat"
20 | } else {
21 | commandLine "./node_modules/expokit/detach-scripts/run-exp.sh", "prepare-detached-build", "--platform", "android", expoRoot
22 | }
23 | }
24 | runBefore("preBuild", exponentPrebuildStep)
25 |
26 | // Based on https://github.com/facebook/react-native/blob/master/react.gradle
27 |
28 | android.applicationVariants.each { variant ->
29 | def targetName = variant.name.capitalize()
30 | def targetPath = variant.dirName
31 |
32 | def assetsDir = file("$buildDir/intermediates/assets/${targetPath}")
33 |
34 | // Bundle task name for variant
35 | def bundleExpoAssetsTaskName = "bundle${targetName}ExpoAssets"
36 |
37 | def currentBundleTask = tasks.create(
38 | name: bundleExpoAssetsTaskName,
39 | type: Exec) {
40 | description = "Expo bundle assets for ${targetName}."
41 |
42 | // Create dirs if they are not there (e.g. the "clean" task just ran)
43 | doFirst {
44 | assetsDir.mkdirs()
45 | }
46 |
47 | // Set up inputs and outputs so gradle can cache the result
48 | inputs.files fileTree(dir: expoRoot, excludes: inputExcludes)
49 | outputs.dir assetsDir
50 |
51 | // Set up the call to exp
52 | workingDir expoRoot
53 |
54 | if (Os.isFamily(Os.FAMILY_WINDOWS)) {
55 | commandLine("cmd", "/c", ".\\node_modules\\expokit\\detach-scripts\\run-exp.bat", "bundle-assets", expoRoot, "--platform", "android", "--dest", assetsDir)
56 | } else {
57 | commandLine("./node_modules/expokit/detach-scripts/run-exp.sh", "bundle-assets", expoRoot, "--platform", "android", "--dest", assetsDir)
58 | }
59 |
60 | enabled targetName.toLowerCase().contains("release") || targetName.toLowerCase().contains("prod")
61 | }
62 |
63 | currentBundleTask.dependsOn("merge${targetName}Resources")
64 | currentBundleTask.dependsOn("merge${targetName}Assets")
65 |
66 | runBefore("process${targetName}Resources", currentBundleTask)
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/android/app/fabric.properties:
--------------------------------------------------------------------------------
1 | #Contains API Secret used to validate your application. Commit to internal source control; avoid making secret public.
2 | #Sun Dec 13 13:22:06 PST 2015
3 | apiSecret=83176563693e1eefa1a91359c4151b88c3fd17e52ddf6d64416b7f1e0fa9cede
4 |
--------------------------------------------------------------------------------
/android/app/google-services.json:
--------------------------------------------------------------------------------
1 | {
2 | "project_info": {
3 | "project_id": "exponent-5dd6d",
4 | "project_number": "367315174693",
5 | "name": "Exponent Play Services"
6 | },
7 | "client": [
8 | {
9 | "client_info": {
10 | "mobilesdk_app_id": "1:367315174693:android:f968efbb41d1fa7a",
11 | "client_id": "android:host.exp.exponent",
12 | "client_type": 1,
13 | "android_client_info": {
14 | "package_name": "com.evanbacon.expokitfastlane",
15 | "certificate_hash": ""
16 | }
17 | },
18 | "oauth_client": [],
19 | "api_key": [
20 | {
21 | "current_key": ""
22 | }
23 | ],
24 | "services": {
25 | "analytics_service": {
26 | "status": 2,
27 | "analytics_property": {
28 | "tracking_id": "UA-76673608-1"
29 | }
30 | },
31 | "cloud_messaging_service": {
32 | "status": 2,
33 | "apns_config": []
34 | },
35 | "appinvite_service": {
36 | "status": 1,
37 | "other_platform_oauth_client": []
38 | },
39 | "google_signin_service": {
40 | "status": 1
41 | },
42 | "ads_service": {
43 | "status": 1
44 | }
45 | }
46 | }
47 | ],
48 | "client_info": [],
49 | "ARTIFACT_VERSION": "1"
50 | }
51 |
--------------------------------------------------------------------------------
/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /Users/ide/Library/Android/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 |
20 | # THIS IS VERY VERY BAD. REMOVE AS SOON AS VERSIONING IS FIXED
21 | -dontwarn **
22 |
23 |
24 | -dontnote **
25 |
26 | -keep class host.exp.exponent.generated.AppConstants { *; }
27 |
28 | ##### Crashlytics #####
29 | -keepattributes SourceFile,LineNumberTable
30 |
31 | ##### Expo Universal Modules #####
32 |
33 | -keepclassmembers class * {
34 | @expo.core.interfaces.ExpoProp *;
35 | }
36 | -keepclassmembers class * {
37 | @expo.core.interfaces.ExpoMethod *;
38 | }
39 |
40 | -keepclassmembers class * {
41 | @**.expo.core.interfaces.ExpoProp *;
42 | }
43 | -keepclassmembers class * {
44 | @**.expo.core.interfaces.ExpoMethod *;
45 | }
46 |
47 | ##### React Native #####
48 | -keep,allowobfuscation @interface **.facebook.proguard.annotations.DoNotStrip
49 | -keep,allowobfuscation @interface **.facebook.proguard.annotations.KeepGettersAndSetters
50 | -keep,allowobfuscation @interface **.facebook.react.bridge.ReadableType
51 |
52 | # Do not strip any method/class that is annotated with @DoNotStrip
53 | -keep @**.facebook.proguard.annotations.DoNotStrip class *
54 | -keepclassmembers class * {
55 | @**.facebook.proguard.annotations.DoNotStrip *;
56 | }
57 |
58 | -keepclassmembers @**.facebook.proguard.annotations.KeepGettersAndSetters class * {
59 | void set*(***);
60 | *** get*();
61 | }
62 |
63 | -keep class * extends **.facebook.react.bridge.JavaScriptModule { *; }
64 | -keep class * extends **.facebook.react.bridge.NativeModule { *; }
65 | -keepclassmembers class * { @**.facebook.react.uimanager.UIProp ; }
66 | -keepclassmembers class * { @**.facebook.react.uimanager.ReactProp ; }
67 | -keepclassmembers class * { @**.facebook.react.uimanager.ReactPropGroup ; }
68 |
69 | # TODO: shouldn't need these two rules
70 | -keep interface **.facebook.react.bridge.** { *; }
71 | -keep enum **.facebook.react.bridge.** { *; }
72 |
73 | ##### Versioned React Native #####
74 | -keep class **.facebook.** { *; }
75 | -keep class abi** { *; }
76 | -keep class versioned** { *; }
77 |
78 | ##### Butterknife #####
79 | -keep class butterknife.** { *; }
80 | -dontwarn butterknife.internal.**
81 | -keep class **$$ViewBinder { *; }
82 |
83 | -keepclasseswithmembernames class * {
84 | @butterknife.* ;
85 | }
86 |
87 | -keepclasseswithmembernames class * {
88 | @butterknife.* ;
89 | }
90 |
91 | ##### Stetho #####
92 | -keep class **.facebook.stetho.** { *; }
93 | -dontwarn **.facebook.stetho.**
94 |
95 | ##### fresco #####
96 | # Keep our interfaces so they can be used by other ProGuard rules.
97 | # See http://sourceforge.net/p/proguard/bugs/466/
98 | -keep,allowobfuscation @interface **.facebook.common.internal.DoNotStrip
99 |
100 | # Do not strip any method/class that is annotated with @DoNotStrip
101 | -keep @**.facebook.common.internal.DoNotStrip class *
102 | -keepclassmembers class * {
103 | @**.facebook.common.internal.DoNotStrip *;
104 | }
105 |
106 | # Keep native methods
107 | -keepclassmembers class * {
108 | native ;
109 | }
110 |
111 | -dontwarn okio.**
112 | -dontwarn javax.annotation.**
113 | -dontwarn com.android.volley.toolbox.**
114 |
115 | ##### okhttp #####
116 | -keepattributes Signature
117 | -keepattributes *Annotation*
118 | -keep class com.squareup.okhttp.** { *; }
119 | -keep interface com.squareup.okhttp.** { *; }
120 | # This is also needed by Picasso
121 | -dontwarn com.squareup.okhttp.**
122 |
123 | -keep class okhttp3.** { *; }
124 | -keep interface okhttp3.** { *; }
125 | # This is also needed by Picasso
126 | -dontwarn okhttp3.**
127 |
128 | ##### okio #####
129 | -keep class sun.misc.Unsafe { *; }
130 | -dontwarn java.nio.file.*
131 | -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
132 | -dontwarn okio.**
133 |
134 | ##### EventBus #####
135 | -keepclassmembers class ** {
136 | public void onEvent*(***);
137 | }
138 |
139 | # Only required if you use AsyncExecutor
140 | -keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent {
141 | (java.lang.Throwable);
142 | }
143 |
144 | ##### Amplitude #####
145 | -keep class com.amplitude.api.** {*;}
146 |
147 | ##### DBFlow #####
148 | -keep class com.raizlabs.android.dbflow.config.GeneratedDatabaseHolder
149 |
150 | ##### SpongyCastle #####
151 | -keep class org.spongycastle.**
152 | -dontwarn org.spongycastle.jce.provider.X509LDAPCertStoreSpi
153 | -dontwarn org.spongycastle.x509.util.LDAPStoreHelper
154 |
--------------------------------------------------------------------------------
/android/app/src/devKernel/java/host/exp/exponent/BuildVariantConstants.java:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present 650 Industries. All rights reserved.
2 |
3 | package host.exp.exponent;
4 |
5 | public class BuildVariantConstants {
6 |
7 | public static final boolean USE_INTERNET_KERNEL = false;
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
55 |
56 |
62 |
63 |
64 |
69 |
70 |
71 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
99 |
100 |
101 |
102 |
103 |
104 |
110 |
111 |
112 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
158 |
159 |
160 |
164 |
165 |
166 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
179 |
180 |
181 |
182 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
212 |
213 |
214 |
218 |
219 |
220 |
224 |
225 |
226 |
232 |
233 |
238 |
239 |
242 |
243 |
244 |
247 |
248 |
249 |
250 |
251 |
252 |
259 |
260 |
262 |
263 |
264 |
265 |
266 |
267 |
270 |
271 |
272 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
287 |
288 |
289 |
290 |
291 |
294 |
295 |
296 |
297 |
298 |
301 |
302 |
303 |
304 |
306 |
307 |
308 |
309 |
310 |
313 |
316 |
319 |
320 |
321 |
322 |
325 |
326 |
327 |
328 |
329 |
330 |
333 |
334 |
335 |
336 |
337 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
--------------------------------------------------------------------------------
/android/app/src/main/assets/fonts/EmojiOne.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/assets/fonts/EmojiOne.ttf
--------------------------------------------------------------------------------
/android/app/src/main/assets/kernel-manifest.json:
--------------------------------------------------------------------------------
1 | {"android":{"package":"host.exp.exponent","publishBundlePath":"../android/app/src/main/assets/kernel.android.bundle"},"description":"","extra":{"amplitudeApiKey":"081e5ec53f869b440b225d5e40ec73f9"},"icon":"https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png","iconUrl":"https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png","ios":{"bundleIdentifier":"host.exp.exponent","publishBundlePath":"../ios/Exponent/Supporting/kernel.ios.bundle","supportsTablet":true},"isKernel":true,"kernel":{"androidManifestPath":"../android/app/src/main/assets/kernel-manifest.json","iosManifestPath":"../ios/Exponent/Supporting/kernel-manifest.json"},"locales":{},"name":"expo-home","orientation":"portrait","packagerOpts":{"config":"rn-cli.config.js"},"platforms":["ios","android"],"primaryColor":"#cccccc","privacy":"unlisted","scheme":"exp","sdkVersion":"UNVERSIONED","slug":"home","updates":{"checkAutomatically":"ON_LOAD","fallbackToCacheTimeout":0},"version":"31.0.0","id":"@exponent/home","revisionId":"31.0.0-r.9xQ3Zd5ANq","publishedTime":"2018-10-30T08:40:08.925Z","commitTime":"2018-10-30T08:40:08.970Z","bundleUrl":"https://exp.host/@exponent/home/bundle","releaseChannel":"default","hostUri":"exp.host/@exponent/home"}
--------------------------------------------------------------------------------
/android/app/src/main/java/host/exp/exponent/MainActivity.java:
--------------------------------------------------------------------------------
1 | package host.exp.exponent;
2 |
3 | import android.os.Bundle;
4 |
5 | import com.facebook.react.ReactPackage;
6 |
7 | import java.util.ArrayList;
8 | import java.util.Arrays;
9 | import java.util.Collections;
10 | import java.util.List;
11 |
12 | import expo.core.interfaces.Package;
13 | import host.exp.exponent.generated.DetachBuildConstants;
14 | import host.exp.exponent.experience.DetachActivity;
15 |
16 | public class MainActivity extends DetachActivity {
17 |
18 | @Override
19 | public String publishedUrl() {
20 | return "exp://exp.host/@bacon/expokit-fastlane-example";
21 | }
22 |
23 | @Override
24 | public String developmentUrl() {
25 | return DetachBuildConstants.DEVELOPMENT_URL;
26 | }
27 |
28 | @Override
29 | public List sdkVersions() {
30 | return new ArrayList<>(Arrays.asList("31.0.0"));
31 | }
32 |
33 | @Override
34 | public List reactPackages() {
35 | return ((MainApplication) getApplication()).getPackages();
36 | }
37 |
38 | @Override
39 | public List expoPackages() {
40 | // Here you can add your own packages.
41 | return super.expoPackages();
42 | }
43 |
44 | @Override
45 | public boolean isDebug() {
46 | return BuildConfig.DEBUG;
47 | }
48 |
49 | @Override
50 | public Bundle initialProps(Bundle expBundle) {
51 | // Add extra initialProps here
52 | return expBundle;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/android/app/src/main/java/host/exp/exponent/MainApplication.java:
--------------------------------------------------------------------------------
1 | package host.exp.exponent;
2 |
3 |
4 | import com.facebook.react.ReactPackage;
5 |
6 | import java.util.Arrays;
7 | import java.util.List;
8 |
9 | import expolib_v1.okhttp3.OkHttpClient;
10 |
11 | // Needed for `react-native link`
12 | // import com.facebook.react.ReactApplication;
13 |
14 | public class MainApplication extends ExpoApplication {
15 |
16 | @Override
17 | public boolean isDebug() {
18 | return BuildConfig.DEBUG;
19 | }
20 |
21 | // Needed for `react-native link`
22 | public List getPackages() {
23 | return Arrays.asList(
24 | // Add your own packages here!
25 | // TODO: add native modules!
26 |
27 | // Needed for `react-native link`
28 | // new MainReactPackage()
29 | );
30 | }
31 |
32 | @Override
33 | public String gcmSenderId() {
34 | return getString(R.string.gcm_defaultSenderId);
35 | }
36 |
37 | @Override
38 | public boolean shouldUseInternetKernel() {
39 | return BuildVariantConstants.USE_INTERNET_KERNEL;
40 | }
41 |
42 | public static OkHttpClient.Builder okHttpClientBuilder(OkHttpClient.Builder builder) {
43 | // Customize/override OkHttp client here
44 | return builder;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/android/app/src/main/java/host/exp/exponent/generated/AppConstants.java:
--------------------------------------------------------------------------------
1 | package host.exp.exponent.generated;
2 |
3 | import com.facebook.common.internal.DoNotStrip;
4 |
5 | import java.util.ArrayList;
6 | import java.util.List;
7 |
8 | import host.exp.exponent.BuildConfig;
9 | import host.exp.exponent.Constants;
10 |
11 | @DoNotStrip
12 | public class AppConstants {
13 |
14 | public static final String VERSION_NAME = "2.9.2";
15 | public static String INITIAL_URL = "exp://exp.host/@bacon/expokit-fastlane-example";
16 | public static final boolean IS_DETACHED = true;
17 | public static final String SHELL_APP_SCHEME = "exp1d48cb1894444d81ae76b53afd67644d";
18 | public static final String RELEASE_CHANNEL = "default";
19 | public static boolean SHOW_LOADING_VIEW_IN_SHELL_APP = false;
20 | public static boolean ARE_REMOTE_UPDATES_ENABLED = true;
21 | public static final List EMBEDDED_RESPONSES;
22 | public static boolean FCM_ENABLED = false;
23 |
24 | static {
25 | List embeddedResponses = new ArrayList<>();
26 |
27 | // ADD EMBEDDED RESPONSES HERE
28 | // START EMBEDDED RESPONSES
29 | // END EMBEDDED RESPONSES
30 | EMBEDDED_RESPONSES = embeddedResponses;
31 | }
32 |
33 | // Called from expoview/Constants
34 | public static Constants.ExpoViewAppConstants get() {
35 | Constants.ExpoViewAppConstants constants = new Constants.ExpoViewAppConstants();
36 | constants.VERSION_NAME = VERSION_NAME;
37 | constants.INITIAL_URL = INITIAL_URL;
38 | constants.IS_DETACHED = IS_DETACHED;
39 | constants.SHELL_APP_SCHEME = SHELL_APP_SCHEME;
40 | constants.RELEASE_CHANNEL = RELEASE_CHANNEL;
41 | constants.SHOW_LOADING_VIEW_IN_SHELL_APP = SHOW_LOADING_VIEW_IN_SHELL_APP;
42 | constants.ARE_REMOTE_UPDATES_ENABLED = ARE_REMOTE_UPDATES_ENABLED;
43 | constants.EMBEDDED_RESPONSES = EMBEDDED_RESPONSES;
44 | constants.ANDROID_VERSION_CODE = BuildConfig.VERSION_CODE;
45 | constants.FCM_ENABLED = FCM_ENABLED;
46 | return constants;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/android/app/src/main/java/host/exp/exponent/generated/DetachBuildConstants.java:
--------------------------------------------------------------------------------
1 | package host.exp.exponent.generated;
2 |
3 | // This file is auto-generated. Please don't rename!
4 | public class DetachBuildConstants {
5 |
6 | public static final String DEVELOPMENT_URL = "";
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-hdpi/ic_arrow_back_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-hdpi/ic_arrow_back_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-hdpi/ic_home_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-hdpi/ic_home_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-hdpi/ic_logo_white_32dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-hdpi/ic_logo_white_32dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-hdpi/ic_refresh_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-hdpi/ic_refresh_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-hdpi/ic_share_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-hdpi/ic_share_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/ic_arrow_back_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-mdpi/ic_arrow_back_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/ic_home_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-mdpi/ic_home_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/ic_logo_white_32dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-mdpi/ic_logo_white_32dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/ic_refresh_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-mdpi/ic_refresh_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/ic_share_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-mdpi/ic_share_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xhdpi/ic_arrow_back_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xhdpi/ic_arrow_back_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xhdpi/ic_home_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xhdpi/ic_home_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xhdpi/ic_logo_white_32dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xhdpi/ic_logo_white_32dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xhdpi/ic_refresh_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xhdpi/ic_refresh_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xhdpi/ic_share_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xhdpi/ic_share_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxhdpi/ic_arrow_back_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxhdpi/ic_arrow_back_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxhdpi/ic_home_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxhdpi/ic_home_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxhdpi/ic_logo_white_32dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxhdpi/ic_logo_white_32dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxhdpi/ic_refresh_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxhdpi/ic_refresh_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxhdpi/ic_share_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxhdpi/ic_share_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/big_logo_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/big_logo_dark.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/big_logo_dark_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/big_logo_dark_filled.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/big_logo_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/big_logo_filled.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/big_logo_new_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/big_logo_new_filled.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/ic_arrow_back_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/ic_arrow_back_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/ic_home_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/ic_home_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/ic_logo_white_32dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/ic_logo_white_32dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/ic_refresh_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/ic_refresh_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/ic_share_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/ic_share_white_36dp.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/notification_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/notification_icon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/pin_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/pin_white.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/pin_white_fade.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/pin_white_fade.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/shell_launch_background_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/shell_launch_background_image.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/shell_notification_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/drawable-xxxhdpi/shell_notification_icon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/splash_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/res/layout/error_activity_new.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/android/app/src/main/res/layout/error_console_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
24 |
25 |
34 |
35 |
44 |
45 |
46 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/android/app/src/main/res/layout/error_console_list_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
19 |
20 |
25 |
26 |
31 |
32 |
--------------------------------------------------------------------------------
/android/app/src/main/res/layout/error_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
21 |
22 |
31 |
32 |
44 |
45 |
56 |
57 |
66 |
67 |
76 |
77 |
78 |
79 |
94 |
95 |
96 |
97 |
--------------------------------------------------------------------------------
/android/app/src/main/res/layout/exponent_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/android/app/src/main/res/layout/exponent_check_box.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/res/layout/exponent_dev_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/android/app/src/main/res/layout/notification.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
19 |
20 |
36 |
37 |
46 |
47 |
56 |
57 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/android/app/src/main/res/layout/notification_shell_app.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
17 |
18 |
35 |
36 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/dev_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/mipmap-hdpi/dev_icon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/dev_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/mipmap-mdpi/dev_icon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/dev_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/mipmap-xhdpi/dev_icon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/dev_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/mipmap-xxhdpi/dev_icon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/dev_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/mipmap-xxxhdpi/dev_icon.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #1b73b4
4 | #011A2D
5 | #1b73b4
6 | #FFFFFF
7 | #FFFFFF
8 | #FFFFFF
9 | #FF0000
10 | #66FFFFFF
11 | #F6F6F7
12 | #ffffff
13 | #FFFFFF
14 |
15 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 | 16dp
6 |
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | expokit-fastlane-example
3 | Exponent Dev
4 | host.exp.exponent.SharedPreferences
5 | Something went wrong.
6 | Sorry about that. You can go back to Expo home or try to reload the Experience.
7 | Sorry about that. Press the reload button to try again.
8 | Unable to load Experience.
9 | Uncaught Error: %s
10 | View error log
11 | Default
12 | Experience notifications
13 | Persistent notifications that provide debug info about open experiences
14 |
15 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
11 |
18 |
19 |
22 |
23 |
29 |
30 |
35 |
36 |
47 |
48 |
--------------------------------------------------------------------------------
/android/app/src/prodKernel/java/host/exp/exponent/BuildVariantConstants.java:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present 650 Industries. All rights reserved.
2 |
3 | package host.exp.exponent;
4 |
5 | public class BuildVariantConstants {
6 |
7 | public static final boolean USE_INTERNET_KERNEL = true;
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | google()
6 | jcenter()
7 | }
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:3.1.4'
10 | classpath 'com.google.gms:google-services:3.2.1'
11 | classpath 'de.undercouch:gradle-download-task:2.0.0'
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | // For non-detach
18 | maven {
19 | url "$rootDir/maven"
20 | }
21 | // For old expoviews to work
22 | maven {
23 | url "$rootDir/versioned-abis/expoview-abi25_0_0/maven"
24 | }
25 | maven {
26 | url "$rootDir/versioned-abis/expoview-abi26_0_0/maven"
27 | }
28 | maven {
29 | url "$rootDir/versioned-abis/expoview-abi27_0_0/maven"
30 | }
31 | maven {
32 | url "$rootDir/versioned-abis/expoview-abi28_0_0/maven"
33 | }
34 | maven {
35 | url "$rootDir/versioned-abis/expoview-abi29_0_0/maven"
36 | }
37 | maven {
38 | url "$rootDir/versioned-abis/expoview-abi30_0_0/maven"
39 | }
40 | maven {
41 | url "$rootDir/versioned-abis/expoview-abi31_0_0/maven"
42 | }
43 | // For detach
44 | maven {
45 | url "$rootDir/../node_modules/expokit/maven"
46 | }
47 | maven {
48 | // We use a modified build of com.android.support.test:runner:1.0.1. Explanation in maven-test/README
49 | url "$rootDir/maven-test"
50 | }
51 | google()
52 | jcenter()
53 | maven {
54 | // Local Maven repo containing AARs with JSC built for Android
55 | url "$rootDir/../node_modules/jsc-android/dist"
56 | }
57 | flatDir {
58 | dirs 'libs'
59 | // dirs project(':expoview').file('libs')
60 | }
61 | maven { url "https://jitpack.io" }
62 |
63 | // Want this last so that we never end up with a stale cache
64 | mavenLocal()
65 | }
66 | }
67 |
68 | task clean(type: Delete) {
69 | delete rootProject.buildDir
70 | }
71 |
--------------------------------------------------------------------------------
/android/debug.keystore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/debug.keystore
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | android.useDeprecatedNdk=true
2 | org.gradle.parallel=true
3 | org.gradle.daemon=true
4 | org.gradle.jvmargs=-Xmx9216M -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
5 | org.gradle.configureondemand=true
6 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sat Sep 16 17:38:34 PDT 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
7 |
--------------------------------------------------------------------------------
/android/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ##############################################################################
4 | ##
5 | ## Gradle start up script for UN*X
6 | ##
7 | ##############################################################################
8 |
9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10 | DEFAULT_JVM_OPTS=""
11 |
12 | APP_NAME="Gradle"
13 | APP_BASE_NAME=`basename "$0"`
14 |
15 | # Use the maximum available, or set MAX_FD != -1 to use that value.
16 | MAX_FD="maximum"
17 |
18 | warn ( ) {
19 | echo "$*"
20 | }
21 |
22 | die ( ) {
23 | echo
24 | echo "$*"
25 | echo
26 | exit 1
27 | }
28 |
29 | # OS specific support (must be 'true' or 'false').
30 | cygwin=false
31 | msys=false
32 | darwin=false
33 | case "`uname`" in
34 | CYGWIN* )
35 | cygwin=true
36 | ;;
37 | Darwin* )
38 | darwin=true
39 | ;;
40 | MINGW* )
41 | msys=true
42 | ;;
43 | esac
44 |
45 | # Attempt to set APP_HOME
46 | # Resolve links: $0 may be a link
47 | PRG="$0"
48 | # Need this for relative symlinks.
49 | while [ -h "$PRG" ] ; do
50 | ls=`ls -ld "$PRG"`
51 | link=`expr "$ls" : '.*-> \(.*\)$'`
52 | if expr "$link" : '/.*' > /dev/null; then
53 | PRG="$link"
54 | else
55 | PRG=`dirname "$PRG"`"/$link"
56 | fi
57 | done
58 | SAVED="`pwd`"
59 | cd "`dirname \"$PRG\"`/" >/dev/null
60 | APP_HOME="`pwd -P`"
61 | cd "$SAVED" >/dev/null
62 |
63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64 |
65 | # Determine the Java command to use to start the JVM.
66 | if [ -n "$JAVA_HOME" ] ; then
67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68 | # IBM's JDK on AIX uses strange locations for the executables
69 | JAVACMD="$JAVA_HOME/jre/sh/java"
70 | else
71 | JAVACMD="$JAVA_HOME/bin/java"
72 | fi
73 | if [ ! -x "$JAVACMD" ] ; then
74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75 |
76 | Please set the JAVA_HOME variable in your environment to match the
77 | location of your Java installation."
78 | fi
79 | else
80 | JAVACMD="java"
81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82 |
83 | Please set the JAVA_HOME variable in your environment to match the
84 | location of your Java installation."
85 | fi
86 |
87 | # Increase the maximum file descriptors if we can.
88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89 | MAX_FD_LIMIT=`ulimit -H -n`
90 | if [ $? -eq 0 ] ; then
91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92 | MAX_FD="$MAX_FD_LIMIT"
93 | fi
94 | ulimit -n $MAX_FD
95 | if [ $? -ne 0 ] ; then
96 | warn "Could not set maximum file descriptor limit: $MAX_FD"
97 | fi
98 | else
99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100 | fi
101 | fi
102 |
103 | # For Darwin, add options to specify how the application appears in the dock
104 | if $darwin; then
105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106 | fi
107 |
108 | # For Cygwin, switch paths to Windows format before running java
109 | if $cygwin ; then
110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112 | JAVACMD=`cygpath --unix "$JAVACMD"`
113 |
114 | # We build the pattern for arguments to be converted via cygpath
115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116 | SEP=""
117 | for dir in $ROOTDIRSRAW ; do
118 | ROOTDIRS="$ROOTDIRS$SEP$dir"
119 | SEP="|"
120 | done
121 | OURCYGPATTERN="(^($ROOTDIRS))"
122 | # Add a user-defined pattern to the cygpath arguments
123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125 | fi
126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
127 | i=0
128 | for arg in "$@" ; do
129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131 |
132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134 | else
135 | eval `echo args$i`="\"$arg\""
136 | fi
137 | i=$((i+1))
138 | done
139 | case $i in
140 | (0) set -- ;;
141 | (1) set -- "$args0" ;;
142 | (2) set -- "$args0" "$args1" ;;
143 | (3) set -- "$args0" "$args1" "$args2" ;;
144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150 | esac
151 | fi
152 |
153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154 | function splitJvmOpts() {
155 | JVM_OPTS=("$@")
156 | }
157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159 |
160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
161 |
--------------------------------------------------------------------------------
/android/run.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | ./gradlew ${1:-installDevMinSdkDevKernelDebug} --stacktrace && adb shell am start -n com.evanbacon.expokitfastlane/host.exp.exponent.MainActivity
4 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "expo": {
3 | "name": "expokit-fastlane-example",
4 | "slug": "expokit-fastlane-example",
5 | "privacy": "public",
6 | "sdkVersion": "31.0.0",
7 | "platforms": ["ios", "android"],
8 | "version": "1.0.0",
9 | "orientation": "portrait",
10 | "icon": "./assets/icon.png",
11 | "splash": {
12 | "image": "./assets/splash.png",
13 | "resizeMode": "contain",
14 | "backgroundColor": "#ffffff"
15 | },
16 | "updates": {
17 | "fallbackToCacheTimeout": 0
18 | },
19 | "assetBundlePatterns": ["**/*"],
20 | "ios": {
21 | "supportsTablet": true,
22 | "bundleIdentifier": "com.evanbacon.expokitfastlane",
23 | "publishBundlePath": "ios/expokit-fastlane-example/Supporting/shell-app.bundle",
24 | "publishManifestPath": "ios/expokit-fastlane-example/Supporting/shell-app-manifest.json"
25 | },
26 | "isDetached": true,
27 | "detach": {
28 | "iosExpoViewUrl": "https://s3.amazonaws.com/exp-exponent-view-code/ios-v2.9.0-sdk31.0.0-250a3991-b623-4f9c-b07f-0b9ed7e8c4c9.tar.gz",
29 | "androidExpoViewUrl": "https://s3.amazonaws.com/exp-exponent-view-code/android-v2.9.2-sdk31.0.0-d1776f37-d524-4fee-872d-6807b0fd83ff.tar.gz"
30 | },
31 | "scheme": "exp1d48cb1894444d81ae76b53afd67644d",
32 | "android": {
33 | "package": "com.evanbacon.expokitfastlane",
34 | "publishBundlePath": "android/app/src/main/assets/shell-app.bundle",
35 | "publishManifestPath": "android/app/src/main/assets/shell-app-manifest.json"
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/assets/fastlane_match.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/assets/fastlane_match.png
--------------------------------------------------------------------------------
/assets/github_repo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/assets/github_repo.png
--------------------------------------------------------------------------------
/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/assets/icon.png
--------------------------------------------------------------------------------
/assets/itunesconnect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/assets/itunesconnect.png
--------------------------------------------------------------------------------
/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/assets/splash.png
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | # OS X
2 | .DS_Store
3 |
4 | # Xcode
5 | build/
6 | *.pbxuser
7 | !default.pbxuser
8 | *.mode1v3
9 | !default.mode1v3
10 | *.mode2v3
11 | !default.mode2v3
12 | *.perspectivev3
13 | !default.perspectivev3
14 | xcuserdata/
15 | *.xccheckout
16 | profile
17 | *.moved-aside
18 | DerivedData
19 | *.hmap
20 | *.ipa
21 |
22 | # Bundler
23 | .bundle
24 |
25 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
26 | # Carthage/Checkouts
27 |
28 | Carthage/Build
29 |
30 | # We recommend against adding the Pods directory to your .gitignore. However
31 | # you should judge for yourself, the pros and cons are mentioned at:
32 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
33 | #
34 | # Note: if you ignore the Pods directory, make sure to uncomment
35 | # `pod install` in .travis.yml
36 | #
37 | Pods/
--------------------------------------------------------------------------------
/ios/Gemfile:
--------------------------------------------------------------------------------
1 | source "https://rubygems.org"
2 |
3 | gem "fastlane"
4 |
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/CocoaPods/Specs.git'
2 | platform :ios, '10.0'
3 |
4 | target 'expokit-fastlane-example' do
5 | pod 'ExpoKit',
6 | :git => "http://github.com/expo/expo.git",
7 | :tag => "ios/2.9.0",
8 | :subspecs => [
9 | "Core"
10 | ],
11 | :inhibit_warnings => true
12 | pod 'EXAdsAdMob',
13 | :path => "../node_modules/expo-ads-admob/ios"
14 | pod 'EXBarCodeScanner',
15 | :path => "../node_modules/expo-barcode-scanner/ios"
16 | pod 'EXBarCodeScannerInterface',
17 | :path => "../node_modules/expo-barcode-scanner-interface/ios"
18 | pod 'EXCamera',
19 | :path => "../node_modules/expo-camera/ios"
20 | pod 'EXCameraInterface',
21 | :path => "../node_modules/expo-camera-interface/ios"
22 | pod 'EXConstants',
23 | :path => "../node_modules/expo-constants/ios"
24 | pod 'EXConstantsInterface',
25 | :path => "../node_modules/expo-constants-interface/ios"
26 | pod 'EXContacts',
27 | :path => "../node_modules/expo-contacts/ios"
28 | pod 'EXCore',
29 | :path => "../node_modules/expo-core/ios"
30 | pod 'EXFaceDetectorInterface',
31 | :path => "../node_modules/expo-face-detector-interface/ios"
32 | pod 'EXFileSystem',
33 | :path => "../node_modules/expo-file-system/ios"
34 | pod 'EXFileSystemInterface',
35 | :path => "../node_modules/expo-file-system-interface/ios"
36 | pod 'EXFont',
37 | :path => "../node_modules/expo-font/ios"
38 | pod 'EXFontInterface',
39 | :path => "../node_modules/expo-font-interface/ios"
40 | pod 'EXGL',
41 | :path => "../node_modules/expo-gl/ios"
42 | pod 'EXGL-CPP',
43 | :path => "../node_modules/expo-gl-cpp/cpp"
44 | pod 'EXImageLoaderInterface',
45 | :path => "../node_modules/expo-image-loader-interface/ios"
46 | pod 'EXLocalAuthentication',
47 | :path => "../node_modules/expo-local-authentication/ios"
48 | pod 'EXLocalization',
49 | :path => "../node_modules/expo-localization/ios"
50 | pod 'EXLocation',
51 | :path => "../node_modules/expo-location/ios"
52 | pod 'EXMediaLibrary',
53 | :path => "../node_modules/expo-media-library/ios"
54 | pod 'EXPaymentsStripe',
55 | :path => "../node_modules/expo-payments-stripe/ios"
56 | pod 'EXPermissions',
57 | :path => "../node_modules/expo-permissions/ios"
58 | pod 'EXPermissionsInterface',
59 | :path => "../node_modules/expo-permissions-interface/ios"
60 | pod 'EXPrint',
61 | :path => "../node_modules/expo-print/ios"
62 | pod 'EXReactNativeAdapter',
63 | :path => "../node_modules/expo-react-native-adapter/ios"
64 | pod 'EXSegment',
65 | :path => "../node_modules/expo-analytics-segment/ios"
66 | pod 'EXSensors',
67 | :path => "../node_modules/expo-sensors/ios"
68 | pod 'EXSensorsInterface',
69 | :path => "../node_modules/expo-sensors-interface/ios"
70 | pod 'EXSMS',
71 | :path => "../node_modules/expo-sms/ios"
72 |
73 | pod 'React',
74 | :path => "../node_modules/react-native",
75 | :inhibit_warnings => true,
76 | :subspecs => [
77 | "Core",
78 | "ART",
79 | "RCTActionSheet",
80 | "RCTAnimation",
81 | "RCTCameraRoll",
82 | "RCTGeolocation",
83 | "RCTImage",
84 | "RCTNetwork",
85 | "RCTText",
86 | "RCTVibration",
87 | "RCTWebSocket",
88 | "DevSupport",
89 | "CxxBridge"
90 | ]
91 | pod 'yoga',
92 | :path => "../node_modules/react-native/ReactCommon/yoga",
93 | :inhibit_warnings => true
94 | pod 'DoubleConversion',
95 | :podspec => "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec",
96 | :inhibit_warnings => true
97 | pod 'Folly',
98 | :podspec => "../node_modules/react-native/third-party-podspecs/Folly.podspec",
99 | :inhibit_warnings => true
100 | pod 'glog',
101 | :podspec => "../node_modules/react-native/third-party-podspecs/glog.podspec",
102 | :inhibit_warnings => true
103 |
104 |
105 | post_install do |installer|
106 | installer.pods_project.main_group.tab_width = '2';
107 | installer.pods_project.main_group.indent_width = '2';
108 |
109 | installer.pod_targets.each do |target|
110 |
111 | if target.pod_name == 'ExpoKit'
112 | target.native_target.build_configurations.each do |config|
113 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)']
114 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'EX_DETACHED=1'
115 |
116 | # needed for GoogleMaps 2.x
117 | config.build_settings['FRAMEWORK_SEARCH_PATHS'] ||= []
118 | config.build_settings['FRAMEWORK_SEARCH_PATHS'] << '${PODS_ROOT}/GoogleMaps/Base/Frameworks'
119 | config.build_settings['FRAMEWORK_SEARCH_PATHS'] << '${PODS_ROOT}/GoogleMaps/Maps/Frameworks'
120 | end
121 | end
122 |
123 |
124 | if ['Amplitude-iOS','Analytics','AppAuth','Branch','CocoaLumberjack','FBSDKCoreKit','FBSDKLoginKit','FBSDKShareKit','GPUImage','JKBigInteger2'].include? target.pod_name
125 | target.native_target.build_configurations.each do |config|
126 | config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
127 | end
128 | end
129 | # Can't specify this in the React podspec because we need
130 | # to use those podspecs for detached projects which don't reference ExponentCPP.
131 | if target.pod_name.start_with?('React')
132 | target.native_target.build_configurations.each do |config|
133 | config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
134 | config.build_settings['HEADER_SEARCH_PATHS'] ||= ['$(inherited)']
135 | end
136 | end
137 | # Build React Native with RCT_DEV enabled and RCT_ENABLE_INSPECTOR and
138 | # RCT_ENABLE_PACKAGER_CONNECTION disabled
139 | next unless target.pod_name == 'React'
140 | target.native_target.build_configurations.each do |config|
141 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)']
142 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'RCT_DEV=1'
143 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'RCT_ENABLE_INSPECTOR=0'
144 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'ENABLE_PACKAGER_CONNECTION=0'
145 | end
146 |
147 | end
148 | end
149 | end
150 |
--------------------------------------------------------------------------------
/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Amplitude-iOS (3.14.1)
3 | - Analytics (3.6.10)
4 | - AppAuth (0.95.0)
5 | - Bolts (1.9.0):
6 | - Bolts/AppLinks (= 1.9.0)
7 | - Bolts/Tasks (= 1.9.0)
8 | - Bolts/AppLinks (1.9.0):
9 | - Bolts/Tasks
10 | - Bolts/Tasks (1.9.0)
11 | - boost-for-react-native (1.63.0)
12 | - Branch (0.24.2):
13 | - Branch/Core (= 0.24.2)
14 | - Branch/Core (0.24.2)
15 | - CocoaLumberjack (3.2.1):
16 | - CocoaLumberjack/Default (= 3.2.1)
17 | - CocoaLumberjack/Extensions (= 3.2.1)
18 | - CocoaLumberjack/Default (3.2.1)
19 | - CocoaLumberjack/Extensions (3.2.1):
20 | - CocoaLumberjack/Default
21 | - Crashlytics (3.12.0):
22 | - Fabric (~> 1.9.0)
23 | - DoubleConversion (1.1.6)
24 | - EXAdsAdMob (1.1.0):
25 | - EXCore
26 | - Google-Mobile-Ads-SDK
27 | - EXBarCodeScanner (1.1.0):
28 | - EXCore
29 | - EXBarCodeScannerInterface (1.1.0):
30 | - EXCore
31 | - EXCamera (1.2.0):
32 | - EXBarCodeScannerInterface
33 | - EXCore
34 | - EXFaceDetectorInterface
35 | - EXFileSystemInterface
36 | - EXImageLoaderInterface
37 | - EXPermissionsInterface
38 | - EXCameraInterface (1.1.0):
39 | - EXCore
40 | - EXConstants (1.1.0):
41 | - EXConstantsInterface
42 | - EXCore
43 | - EXConstantsInterface (1.1.0):
44 | - EXCore
45 | - EXContacts (1.1.0):
46 | - EXCore
47 | - EXFileSystemInterface
48 | - EXPermissionsInterface
49 | - EXCore (1.2.0)
50 | - EXFaceDetectorInterface (1.1.0):
51 | - EXCore
52 | - EXFileSystem (1.1.0):
53 | - EXCore
54 | - EXFileSystemInterface
55 | - EXFileSystemInterface (1.1.0):
56 | - EXCore
57 | - EXFont (1.1.0):
58 | - EXCore
59 | - EXFontInterface
60 | - EXFontInterface (1.1.0):
61 | - EXCore
62 | - EXGL (1.1.0):
63 | - EXCameraInterface
64 | - EXCore
65 | - EXFileSystemInterface
66 | - EXGL-CPP
67 | - EXGL-CPP (1.1.0):
68 | - EXGL-CPP/UEXGL (= 1.1.0)
69 | - EXGL-CPP/UEXGL (1.1.0)
70 | - EXImageLoaderInterface (1.1.0):
71 | - EXCore
72 | - EXLocalAuthentication (1.1.0):
73 | - EXConstantsInterface
74 | - EXCore
75 | - EXLocalization (1.0.0):
76 | - EXCore
77 | - EXLocation (1.1.0):
78 | - EXCore
79 | - EXPermissionsInterface
80 | - EXMediaLibrary (1.1.0):
81 | - EXCore
82 | - EXPermissionsInterface
83 | - EXPaymentsStripe (1.1.0):
84 | - EXCore
85 | - Stripe (~> 13.0.3)
86 | - EXPermissions (1.2.0):
87 | - EXCore
88 | - EXPermissionsInterface
89 | - EXPermissionsInterface (1.2.0):
90 | - EXCore
91 | - ExpoKit/Core (2.9.0):
92 | - Amplitude-iOS (~> 3.8)
93 | - Analytics (~> 3.5)
94 | - AppAuth (~> 0.4)
95 | - Branch (~> 0.24.2)
96 | - CocoaLumberjack (~> 3.2.1)
97 | - Crashlytics (~> 3.8)
98 | - EXCameraInterface
99 | - EXConstantsInterface
100 | - EXCore
101 | - EXFileSystemInterface
102 | - EXPermissionsInterface
103 | - EXReactNativeAdapter
104 | - EXSensorsInterface
105 | - Fabric (~> 1.6)
106 | - FBAudienceNetwork (= 4.99.0)
107 | - FBSDKCoreKit (= 4.37.0)
108 | - FBSDKLoginKit (= 4.37.0)
109 | - FBSDKShareKit (= 4.37.0)
110 | - Google-Maps-iOS-Utils (~> 2.1.0)
111 | - Google-Mobile-Ads-SDK (~> 7.22.0)
112 | - GoogleMaps (~> 2.5.0)
113 | - GoogleSignIn (~> 4.1)
114 | - JKBigInteger2 (= 0.0.5)
115 | - lottie-ios (~> 2.5.0)
116 | - React
117 | - EXPrint (1.1.0):
118 | - EXCore
119 | - EXReactNativeAdapter (1.2.0):
120 | - EXCore
121 | - EXFontInterface
122 | - React
123 | - EXSegment (1.1.0):
124 | - Analytics (~> 3.5)
125 | - EXConstantsInterface
126 | - EXCore
127 | - EXSensors (1.1.0):
128 | - EXCore
129 | - EXSensorsInterface
130 | - EXSensorsInterface (1.1.0):
131 | - EXCore
132 | - EXSMS (1.1.0):
133 | - EXCore
134 | - Fabric (1.9.0)
135 | - FBAudienceNetwork (4.99.0)
136 | - FBSDKCoreKit (4.37.0):
137 | - Bolts (~> 1.7)
138 | - FBSDKLoginKit (4.37.0):
139 | - FBSDKCoreKit
140 | - FBSDKShareKit (4.37.0):
141 | - FBSDKCoreKit (~> 4.37.0)
142 | - Folly (2016.10.31.00):
143 | - boost-for-react-native
144 | - DoubleConversion
145 | - glog
146 | - glog (0.3.5)
147 | - Google-Maps-iOS-Utils (2.1.0):
148 | - Google-Maps-iOS-Utils/Clustering (= 2.1.0)
149 | - Google-Maps-iOS-Utils/Geometry (= 2.1.0)
150 | - Google-Maps-iOS-Utils/Heatmap (= 2.1.0)
151 | - Google-Maps-iOS-Utils/QuadTree (= 2.1.0)
152 | - GoogleMaps
153 | - Google-Maps-iOS-Utils/Clustering (2.1.0):
154 | - Google-Maps-iOS-Utils/QuadTree
155 | - GoogleMaps
156 | - Google-Maps-iOS-Utils/Geometry (2.1.0):
157 | - GoogleMaps
158 | - Google-Maps-iOS-Utils/Heatmap (2.1.0):
159 | - Google-Maps-iOS-Utils/QuadTree
160 | - GoogleMaps
161 | - Google-Maps-iOS-Utils/QuadTree (2.1.0):
162 | - GoogleMaps
163 | - Google-Mobile-Ads-SDK (7.22.0)
164 | - GoogleMaps (2.5.0):
165 | - GoogleMaps/Maps (= 2.5.0)
166 | - GoogleMaps/Base (2.5.0)
167 | - GoogleMaps/Maps (2.5.0):
168 | - GoogleMaps/Base
169 | - GoogleSignIn (4.4.0):
170 | - "GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)"
171 | - "GoogleToolboxForMac/NSString+URLArguments (~> 2.1)"
172 | - GTMSessionFetcher/Core (~> 1.1)
173 | - GoogleToolboxForMac/DebugUtils (2.2.0):
174 | - GoogleToolboxForMac/Defines (= 2.2.0)
175 | - GoogleToolboxForMac/Defines (2.2.0)
176 | - "GoogleToolboxForMac/NSDictionary+URLArguments (2.2.0)":
177 | - GoogleToolboxForMac/DebugUtils (= 2.2.0)
178 | - GoogleToolboxForMac/Defines (= 2.2.0)
179 | - "GoogleToolboxForMac/NSString+URLArguments (= 2.2.0)"
180 | - "GoogleToolboxForMac/NSString+URLArguments (2.2.0)"
181 | - GTMSessionFetcher/Core (1.2.1)
182 | - JKBigInteger2 (0.0.5)
183 | - lottie-ios (2.5.2)
184 | - React (0.57.1):
185 | - React/Core (= 0.57.1)
186 | - React/ART (0.57.1):
187 | - React/Core
188 | - React/Core (0.57.1):
189 | - yoga (= 0.57.1.React)
190 | - React/CxxBridge (0.57.1):
191 | - Folly (= 2016.10.31.00)
192 | - React/Core
193 | - React/cxxreact
194 | - React/cxxreact (0.57.1):
195 | - boost-for-react-native (= 1.63.0)
196 | - Folly (= 2016.10.31.00)
197 | - React/jschelpers
198 | - React/jsinspector
199 | - React/DevSupport (0.57.1):
200 | - React/Core
201 | - React/RCTWebSocket
202 | - React/fishhook (0.57.1)
203 | - React/jschelpers (0.57.1):
204 | - Folly (= 2016.10.31.00)
205 | - React/PrivateDatabase
206 | - React/jsinspector (0.57.1)
207 | - React/PrivateDatabase (0.57.1)
208 | - React/RCTActionSheet (0.57.1):
209 | - React/Core
210 | - React/RCTAnimation (0.57.1):
211 | - React/Core
212 | - React/RCTBlob (0.57.1):
213 | - React/Core
214 | - React/RCTCameraRoll (0.57.1):
215 | - React/Core
216 | - React/RCTImage
217 | - React/RCTGeolocation (0.57.1):
218 | - React/Core
219 | - React/RCTImage (0.57.1):
220 | - React/Core
221 | - React/RCTNetwork
222 | - React/RCTNetwork (0.57.1):
223 | - React/Core
224 | - React/RCTText (0.57.1):
225 | - React/Core
226 | - React/RCTVibration (0.57.1):
227 | - React/Core
228 | - React/RCTWebSocket (0.57.1):
229 | - React/Core
230 | - React/fishhook
231 | - React/RCTBlob
232 | - Stripe (13.0.3)
233 | - yoga (0.57.1.React)
234 |
235 | DEPENDENCIES:
236 | - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
237 | - EXAdsAdMob (from `../node_modules/expo-ads-admob/ios`)
238 | - EXBarCodeScanner (from `../node_modules/expo-barcode-scanner/ios`)
239 | - EXBarCodeScannerInterface (from `../node_modules/expo-barcode-scanner-interface/ios`)
240 | - EXCamera (from `../node_modules/expo-camera/ios`)
241 | - EXCameraInterface (from `../node_modules/expo-camera-interface/ios`)
242 | - EXConstants (from `../node_modules/expo-constants/ios`)
243 | - EXConstantsInterface (from `../node_modules/expo-constants-interface/ios`)
244 | - EXContacts (from `../node_modules/expo-contacts/ios`)
245 | - EXCore (from `../node_modules/expo-core/ios`)
246 | - EXFaceDetectorInterface (from `../node_modules/expo-face-detector-interface/ios`)
247 | - EXFileSystem (from `../node_modules/expo-file-system/ios`)
248 | - EXFileSystemInterface (from `../node_modules/expo-file-system-interface/ios`)
249 | - EXFont (from `../node_modules/expo-font/ios`)
250 | - EXFontInterface (from `../node_modules/expo-font-interface/ios`)
251 | - EXGL (from `../node_modules/expo-gl/ios`)
252 | - EXGL-CPP (from `../node_modules/expo-gl-cpp/cpp`)
253 | - EXImageLoaderInterface (from `../node_modules/expo-image-loader-interface/ios`)
254 | - EXLocalAuthentication (from `../node_modules/expo-local-authentication/ios`)
255 | - EXLocalization (from `../node_modules/expo-localization/ios`)
256 | - EXLocation (from `../node_modules/expo-location/ios`)
257 | - EXMediaLibrary (from `../node_modules/expo-media-library/ios`)
258 | - EXPaymentsStripe (from `../node_modules/expo-payments-stripe/ios`)
259 | - EXPermissions (from `../node_modules/expo-permissions/ios`)
260 | - EXPermissionsInterface (from `../node_modules/expo-permissions-interface/ios`)
261 | - ExpoKit/Core (from `http://github.com/expo/expo.git`, tag `ios/2.9.0`)
262 | - EXPrint (from `../node_modules/expo-print/ios`)
263 | - EXReactNativeAdapter (from `../node_modules/expo-react-native-adapter/ios`)
264 | - EXSegment (from `../node_modules/expo-analytics-segment/ios`)
265 | - EXSensors (from `../node_modules/expo-sensors/ios`)
266 | - EXSensorsInterface (from `../node_modules/expo-sensors-interface/ios`)
267 | - EXSMS (from `../node_modules/expo-sms/ios`)
268 | - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
269 | - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
270 | - React/ART (from `../node_modules/react-native`)
271 | - React/Core (from `../node_modules/react-native`)
272 | - React/CxxBridge (from `../node_modules/react-native`)
273 | - React/DevSupport (from `../node_modules/react-native`)
274 | - React/RCTActionSheet (from `../node_modules/react-native`)
275 | - React/RCTAnimation (from `../node_modules/react-native`)
276 | - React/RCTCameraRoll (from `../node_modules/react-native`)
277 | - React/RCTGeolocation (from `../node_modules/react-native`)
278 | - React/RCTImage (from `../node_modules/react-native`)
279 | - React/RCTNetwork (from `../node_modules/react-native`)
280 | - React/RCTText (from `../node_modules/react-native`)
281 | - React/RCTVibration (from `../node_modules/react-native`)
282 | - React/RCTWebSocket (from `../node_modules/react-native`)
283 | - yoga (from `../node_modules/react-native/ReactCommon/yoga`)
284 |
285 | SPEC REPOS:
286 | https://github.com/cocoapods/specs.git:
287 | - Amplitude-iOS
288 | - Analytics
289 | - AppAuth
290 | - Bolts
291 | - boost-for-react-native
292 | - Branch
293 | - CocoaLumberjack
294 | - Crashlytics
295 | - Fabric
296 | - FBAudienceNetwork
297 | - FBSDKCoreKit
298 | - FBSDKLoginKit
299 | - FBSDKShareKit
300 | - Google-Maps-iOS-Utils
301 | - Google-Mobile-Ads-SDK
302 | - GoogleMaps
303 | - GoogleSignIn
304 | - GoogleToolboxForMac
305 | - GTMSessionFetcher
306 | - JKBigInteger2
307 | - lottie-ios
308 | - Stripe
309 |
310 | EXTERNAL SOURCES:
311 | DoubleConversion:
312 | :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
313 | EXAdsAdMob:
314 | :path: "../node_modules/expo-ads-admob/ios"
315 | EXBarCodeScanner:
316 | :path: "../node_modules/expo-barcode-scanner/ios"
317 | EXBarCodeScannerInterface:
318 | :path: "../node_modules/expo-barcode-scanner-interface/ios"
319 | EXCamera:
320 | :path: "../node_modules/expo-camera/ios"
321 | EXCameraInterface:
322 | :path: "../node_modules/expo-camera-interface/ios"
323 | EXConstants:
324 | :path: "../node_modules/expo-constants/ios"
325 | EXConstantsInterface:
326 | :path: "../node_modules/expo-constants-interface/ios"
327 | EXContacts:
328 | :path: "../node_modules/expo-contacts/ios"
329 | EXCore:
330 | :path: "../node_modules/expo-core/ios"
331 | EXFaceDetectorInterface:
332 | :path: "../node_modules/expo-face-detector-interface/ios"
333 | EXFileSystem:
334 | :path: "../node_modules/expo-file-system/ios"
335 | EXFileSystemInterface:
336 | :path: "../node_modules/expo-file-system-interface/ios"
337 | EXFont:
338 | :path: "../node_modules/expo-font/ios"
339 | EXFontInterface:
340 | :path: "../node_modules/expo-font-interface/ios"
341 | EXGL:
342 | :path: "../node_modules/expo-gl/ios"
343 | EXGL-CPP:
344 | :path: "../node_modules/expo-gl-cpp/cpp"
345 | EXImageLoaderInterface:
346 | :path: "../node_modules/expo-image-loader-interface/ios"
347 | EXLocalAuthentication:
348 | :path: "../node_modules/expo-local-authentication/ios"
349 | EXLocalization:
350 | :path: "../node_modules/expo-localization/ios"
351 | EXLocation:
352 | :path: "../node_modules/expo-location/ios"
353 | EXMediaLibrary:
354 | :path: "../node_modules/expo-media-library/ios"
355 | EXPaymentsStripe:
356 | :path: "../node_modules/expo-payments-stripe/ios"
357 | EXPermissions:
358 | :path: "../node_modules/expo-permissions/ios"
359 | EXPermissionsInterface:
360 | :path: "../node_modules/expo-permissions-interface/ios"
361 | ExpoKit:
362 | :git: http://github.com/expo/expo.git
363 | :tag: ios/2.9.0
364 | EXPrint:
365 | :path: "../node_modules/expo-print/ios"
366 | EXReactNativeAdapter:
367 | :path: "../node_modules/expo-react-native-adapter/ios"
368 | EXSegment:
369 | :path: "../node_modules/expo-analytics-segment/ios"
370 | EXSensors:
371 | :path: "../node_modules/expo-sensors/ios"
372 | EXSensorsInterface:
373 | :path: "../node_modules/expo-sensors-interface/ios"
374 | EXSMS:
375 | :path: "../node_modules/expo-sms/ios"
376 | Folly:
377 | :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
378 | glog:
379 | :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
380 | React:
381 | :path: "../node_modules/react-native"
382 | yoga:
383 | :path: "../node_modules/react-native/ReactCommon/yoga"
384 |
385 | CHECKOUT OPTIONS:
386 | ExpoKit:
387 | :git: http://github.com/expo/expo.git
388 | :tag: ios/2.9.0
389 |
390 | SPEC CHECKSUMS:
391 | Amplitude-iOS: 4a3c8807b2ea5369dc11e87e23825bff01e5a922
392 | Analytics: 63744ad4afa65c3bcdcdb7a94b62515bde5b3900
393 | AppAuth: 137f6bb6fc9dfbaf2cf9f6fcff1d336ff0163bc6
394 | Bolts: ac6567323eac61e203f6a9763667d0f711be34c8
395 | boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
396 | Branch: 0d98d22745a9b68bcb4fa6dc1c6a92b64d4fdd7b
397 | CocoaLumberjack: 2800c03334042fe80589423c8d80e582dcaec482
398 | Crashlytics: 07fb167b1694128c1c9a5a5cc319b0e9c3ca0933
399 | DoubleConversion: bb338842f62ab1d708ceb63ec3d999f0f3d98ecd
400 | EXAdsAdMob: 66a3c271540f54f4d964fa72f0c8a953faea5a03
401 | EXBarCodeScanner: 0ed39b41ccec72935521823eceed3d60c73fc43d
402 | EXBarCodeScannerInterface: 4453aa03ca1e0a1c9b320aaf4ce5b7d88064d192
403 | EXCamera: 00936f79aafe16125c6cdc7c7ea2bf2d2c976dfe
404 | EXCameraInterface: 6d990173e3f6355e575f44b38dcf61d0c90bc47e
405 | EXConstants: 4ab8da18840ebae518e15541164fbaf7907e58c2
406 | EXConstantsInterface: c60c068f94b78c8805bfeb35bd2bbaf859293de5
407 | EXContacts: 50843152d15328802c57b0382759595848959371
408 | EXCore: 81304a0284b7f2e0f691b8a6bc642854e730f5e2
409 | EXFaceDetectorInterface: 8727fe51fbd189a94ccd70152a25cdef913a0ae5
410 | EXFileSystem: 0872826fd9ebc7d842a5e389b088c93f5b9fab88
411 | EXFileSystemInterface: 8e1225e4e1776ea7abf997a7ded593b4b8e86863
412 | EXFont: 5c0220788732ef1c4bfe0f5079a003b4c64add95
413 | EXFontInterface: 06126ec4f6a67415426074c3383a82b241f087c1
414 | EXGL: 9a5dd454a7ed9660b25b71d82d8009ac9bd6f85a
415 | EXGL-CPP: 46b589a3ed0c59ae2e7f9434897b66cd8dd2e70c
416 | EXImageLoaderInterface: 3f460f6ff344ba6c4e00621806c0d1d76249cd8f
417 | EXLocalAuthentication: b70696613cb24d726d3c98a1818c22c481a46b01
418 | EXLocalization: 1243adc132eaad4793dd7e5b497135ad5d803441
419 | EXLocation: c686b2b139bea46c653a96f62dc49e47c9b08fe5
420 | EXMediaLibrary: f91c4f6ff2c9be8102e06d0a4d08987231a7e286
421 | EXPaymentsStripe: 0f37d8a1db4749e95ab54ab390ecbb79ba595a95
422 | EXPermissions: dd31cb432c078eed1f4c1e290bc32649d5280bd3
423 | EXPermissionsInterface: 76f80a0dcd16afde36498e3d3aa168cb43999558
424 | ExpoKit: 56c02da01a88a33dcbac95a375b1fe503a9245a1
425 | EXPrint: b6aab9715518cf67954ae260b71e28afd843353e
426 | EXReactNativeAdapter: 253efa069b53a6c8be7c3f2afd49ef6b4e97e902
427 | EXSegment: cfe9aed31dbd7f1455724afe89a4920e5dad0049
428 | EXSensors: 6aa3b3b9906beb0b574a88943d171ebc226b0fe5
429 | EXSensorsInterface: 9e845bc03ad23a846fa6bcd4e2a60f1d0b1a6906
430 | EXSMS: 2a2f1abfb2f37b686e892261678c70f39c9b7fa8
431 | Fabric: f988e33c97f08930a413e08123064d2e5f68d655
432 | FBAudienceNetwork: 80275c0a28574ff5ce820abdc251d05e07e6ae7a
433 | FBSDKCoreKit: fe5f3474499a81963e11e3f3a5c753d0a95ca2b4
434 | FBSDKLoginKit: 2f7249686d1e30ce8a5ef5400eedf50b3e3df332
435 | FBSDKShareKit: 52e0083222c38e930eb6878007478326599195c3
436 | Folly: c89ac2d5c6ab169cd7397ef27485c44f35f742c7
437 | glog: e8acf0ebbf99759d3ff18c86c292a5898282dcde
438 | Google-Maps-iOS-Utils: c32891ff472eaaa1fca032beedafa1a013af7875
439 | Google-Mobile-Ads-SDK: 1bdf1a4244d0553b1840239874c209c01aef055f
440 | GoogleMaps: c087b8e5dfe87ca6ebf59adb9b4894a4146bec4f
441 | GoogleSignIn: 7ff245e1a7b26d379099d3243a562f5747e23d39
442 | GoogleToolboxForMac: ff31605b7d66400dcec09bed5861689aebadda4d
443 | GTMSessionFetcher: 32aeca0aa144acea523e1c8e053089dec2cb98ca
444 | JKBigInteger2: e91672035c42328c48b7dd015b66812ddf40ca9b
445 | lottie-ios: 3fef45d3fabe63e3c7c2eb603dd64ddfffc73062
446 | React: 1fe0eb13d90b625d94c3b117c274dcfd2e760e11
447 | Stripe: 76c203e21555089b708e6cbe972a3e3baf1ab4d8
448 | yoga: b1ce48b6cf950b98deae82838f5173ea7cf89e85
449 |
450 | PODFILE CHECKSUM: a891028e47716a936ed98dc96fb6d3ce16fe389b
451 |
452 | COCOAPODS: 1.5.3
453 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | B501732B1DC01252003445D9 /* EXShell.plist in Resources */ = {isa = PBXBuildFile; fileRef = B501732A1DC01252003445D9 /* EXShell.plist */; };
11 | B56386491DB9693800A0598C /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B56386481DB9693800A0598C /* AppDelegate.m */; };
12 | B56386511DB9693800A0598C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B56386501DB9693800A0598C /* Assets.xcassets */; };
13 | B56386611DB96A5E00A0598C /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = B563865E1DB96A5E00A0598C /* main.m */; };
14 | B56386671DB9994300A0598C /* EXSDKVersions.plist in Resources */ = {isa = PBXBuildFile; fileRef = B56386661DB9994300A0598C /* EXSDKVersions.plist */; };
15 | B5693E8E1FABD16A00307FA4 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = B5693E8D1FABD16A00307FA4 /* LaunchScreen.xib */; };
16 | B5693E911FABD46800307FA4 /* launch_background_image.png in Resources */ = {isa = PBXBuildFile; fileRef = B5693E8F1FABD46800307FA4 /* launch_background_image.png */; };
17 | B5693E921FABD46800307FA4 /* launch_icon.png in Resources */ = {isa = PBXBuildFile; fileRef = B5693E901FABD46800307FA4 /* launch_icon.png */; };
18 | B5CFBF4F1EDE419400B4BE24 /* EXBuildConstants.plist in Resources */ = {isa = PBXBuildFile; fileRef = B5CFBF4E1EDE419400B4BE24 /* EXBuildConstants.plist */; };
19 | B5DB04801F3A684600E91581 /* shell-app-manifest.json in Resources */ = {isa = PBXBuildFile; fileRef = B5DB047E1F3A684600E91581 /* shell-app-manifest.json */; };
20 | B5DB04811F3A684600E91581 /* shell-app.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B5DB047F1F3A684600E91581 /* shell-app.bundle */; };
21 | EBB8117C1BFA0514F79CAF74 /* libPods-expokit-fastlane-example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C4A88D15726AD99E8A257BC7 /* libPods-expokit-fastlane-example.a */; };
22 | /* End PBXBuildFile section */
23 |
24 | /* Begin PBXFileReference section */
25 | 2C1548D9E4CB1AEFA5CCAE6D /* Pods-expokit-fastlane-example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-expokit-fastlane-example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-expokit-fastlane-example/Pods-expokit-fastlane-example.debug.xcconfig"; sourceTree = ""; };
26 | A47FE4D7F70906B7DC8CE39B /* Pods-expokit-fastlane-example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-expokit-fastlane-example.release.xcconfig"; path = "Pods/Target Support Files/Pods-expokit-fastlane-example/Pods-expokit-fastlane-example.release.xcconfig"; sourceTree = ""; };
27 | B501732A1DC01252003445D9 /* EXShell.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = EXShell.plist; sourceTree = ""; };
28 | B56386411DB9693800A0598C /* expokit-fastlane-example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "expokit-fastlane-example.app"; sourceTree = BUILT_PRODUCTS_DIR; };
29 | B56386471DB9693800A0598C /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
30 | B56386481DB9693800A0598C /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
31 | B56386501DB9693800A0598C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
32 | B563865C1DB96A5E00A0598C /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
33 | B563865E1DB96A5E00A0598C /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
34 | B56386661DB9994300A0598C /* EXSDKVersions.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = EXSDKVersions.plist; sourceTree = ""; };
35 | B5693E8D1FABD16A00307FA4 /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = ""; };
36 | B5693E8F1FABD46800307FA4 /* launch_background_image.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = launch_background_image.png; sourceTree = ""; };
37 | B5693E901FABD46800307FA4 /* launch_icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = launch_icon.png; sourceTree = ""; };
38 | B5CFBF4E1EDE419400B4BE24 /* EXBuildConstants.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = EXBuildConstants.plist; sourceTree = ""; };
39 | B5DB047E1F3A684600E91581 /* shell-app-manifest.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "shell-app-manifest.json"; sourceTree = ""; };
40 | B5DB047F1F3A684600E91581 /* shell-app.bundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "shell-app.bundle"; sourceTree = ""; };
41 | C4A88D15726AD99E8A257BC7 /* libPods-expokit-fastlane-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-expokit-fastlane-example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
42 | /* End PBXFileReference section */
43 |
44 | /* Begin PBXFrameworksBuildPhase section */
45 | B563863E1DB9693800A0598C /* Frameworks */ = {
46 | isa = PBXFrameworksBuildPhase;
47 | buildActionMask = 2147483647;
48 | files = (
49 | EBB8117C1BFA0514F79CAF74 /* libPods-expokit-fastlane-example.a in Frameworks */,
50 | );
51 | runOnlyForDeploymentPostprocessing = 0;
52 | };
53 | /* End PBXFrameworksBuildPhase section */
54 |
55 | /* Begin PBXGroup section */
56 | 1A42804E64B7E9E0AB8B6799 /* Frameworks */ = {
57 | isa = PBXGroup;
58 | children = (
59 | C4A88D15726AD99E8A257BC7 /* libPods-expokit-fastlane-example.a */,
60 | );
61 | name = Frameworks;
62 | sourceTree = "";
63 | };
64 | 5B29BC350A332C58878A9F13 /* Pods */ = {
65 | isa = PBXGroup;
66 | children = (
67 | 2C1548D9E4CB1AEFA5CCAE6D /* Pods-expokit-fastlane-example.debug.xcconfig */,
68 | A47FE4D7F70906B7DC8CE39B /* Pods-expokit-fastlane-example.release.xcconfig */,
69 | );
70 | name = Pods;
71 | sourceTree = "";
72 | };
73 | B56386381DB9693800A0598C = {
74 | isa = PBXGroup;
75 | children = (
76 | B56386431DB9693800A0598C /* expokit-fastlane-example */,
77 | B56386421DB9693800A0598C /* Products */,
78 | 5B29BC350A332C58878A9F13 /* Pods */,
79 | 1A42804E64B7E9E0AB8B6799 /* Frameworks */,
80 | );
81 | sourceTree = "";
82 | };
83 | B56386421DB9693800A0598C /* Products */ = {
84 | isa = PBXGroup;
85 | children = (
86 | B56386411DB9693800A0598C /* expokit-fastlane-example.app */,
87 | );
88 | name = Products;
89 | sourceTree = "";
90 | };
91 | B56386431DB9693800A0598C /* expokit-fastlane-example */ = {
92 | isa = PBXGroup;
93 | children = (
94 | B56386471DB9693800A0598C /* AppDelegate.h */,
95 | B56386481DB9693800A0598C /* AppDelegate.m */,
96 | B56386501DB9693800A0598C /* Assets.xcassets */,
97 | B563865B1DB96A5E00A0598C /* Supporting */,
98 | );
99 | path = "expokit-fastlane-example";
100 | sourceTree = "";
101 | };
102 | B563865B1DB96A5E00A0598C /* Supporting */ = {
103 | isa = PBXGroup;
104 | children = (
105 | B5693E8F1FABD46800307FA4 /* launch_background_image.png */,
106 | B5693E901FABD46800307FA4 /* launch_icon.png */,
107 | B5693E8D1FABD16A00307FA4 /* LaunchScreen.xib */,
108 | B5DB047E1F3A684600E91581 /* shell-app-manifest.json */,
109 | B5DB047F1F3A684600E91581 /* shell-app.bundle */,
110 | B5CFBF4E1EDE419400B4BE24 /* EXBuildConstants.plist */,
111 | B501732A1DC01252003445D9 /* EXShell.plist */,
112 | B56386661DB9994300A0598C /* EXSDKVersions.plist */,
113 | B563865C1DB96A5E00A0598C /* Info.plist */,
114 | B563865E1DB96A5E00A0598C /* main.m */,
115 | );
116 | path = Supporting;
117 | sourceTree = "";
118 | };
119 | /* End PBXGroup section */
120 |
121 | /* Begin PBXNativeTarget section */
122 | B56386401DB9693800A0598C /* expokit-fastlane-example */ = {
123 | isa = PBXNativeTarget;
124 | buildConfigurationList = B56386581DB9693800A0598C /* Build configuration list for PBXNativeTarget "expokit-fastlane-example" */;
125 | buildPhases = (
126 | 23539343DCC44EF8449429EE /* [CP] Check Pods Manifest.lock */,
127 | B5722AD01DFB7E3F0084848F /* Prepare Expo */,
128 | B563863D1DB9693800A0598C /* Sources */,
129 | B563863E1DB9693800A0598C /* Frameworks */,
130 | B563863F1DB9693800A0598C /* Resources */,
131 | AA38385B7D8D0854176B72FC /* [CP] Copy Pods Resources */,
132 | 19D233B7204FDD7D0087ED51 /* Bundle Expo Assets */,
133 | );
134 | buildRules = (
135 | );
136 | dependencies = (
137 | );
138 | name = "expokit-fastlane-example";
139 | productName = "expokit-fastlane-example";
140 | productReference = B56386411DB9693800A0598C /* expokit-fastlane-example.app */;
141 | productType = "com.apple.product-type.application";
142 | };
143 | /* End PBXNativeTarget section */
144 |
145 | /* Begin PBXProject section */
146 | B56386391DB9693800A0598C /* Project object */ = {
147 | isa = PBXProject;
148 | attributes = {
149 | LastUpgradeCheck = 0900;
150 | ORGANIZATIONNAME = "650 Industries, Inc.";
151 | TargetAttributes = {
152 | B56386401DB9693800A0598C = {
153 | CreatedOnToolsVersion = 8.0;
154 | DevelopmentTeam = QQ57RJ5UTD;
155 | ProvisioningStyle = Manual;
156 | };
157 | };
158 | };
159 | buildConfigurationList = B563863C1DB9693800A0598C /* Build configuration list for PBXProject "expokit-fastlane-example" */;
160 | compatibilityVersion = "Xcode 3.2";
161 | developmentRegion = English;
162 | hasScannedForEncodings = 0;
163 | knownRegions = (
164 | en,
165 | Base,
166 | );
167 | mainGroup = B56386381DB9693800A0598C;
168 | productRefGroup = B56386421DB9693800A0598C /* Products */;
169 | projectDirPath = "";
170 | projectRoot = "";
171 | targets = (
172 | B56386401DB9693800A0598C /* expokit-fastlane-example */,
173 | );
174 | };
175 | /* End PBXProject section */
176 |
177 | /* Begin PBXResourcesBuildPhase section */
178 | B563863F1DB9693800A0598C /* Resources */ = {
179 | isa = PBXResourcesBuildPhase;
180 | buildActionMask = 2147483647;
181 | files = (
182 | B5693E911FABD46800307FA4 /* launch_background_image.png in Resources */,
183 | B501732B1DC01252003445D9 /* EXShell.plist in Resources */,
184 | B5CFBF4F1EDE419400B4BE24 /* EXBuildConstants.plist in Resources */,
185 | B56386671DB9994300A0598C /* EXSDKVersions.plist in Resources */,
186 | B5693E921FABD46800307FA4 /* launch_icon.png in Resources */,
187 | B5693E8E1FABD16A00307FA4 /* LaunchScreen.xib in Resources */,
188 | B5DB04801F3A684600E91581 /* shell-app-manifest.json in Resources */,
189 | B5DB04811F3A684600E91581 /* shell-app.bundle in Resources */,
190 | B56386511DB9693800A0598C /* Assets.xcassets in Resources */,
191 | );
192 | runOnlyForDeploymentPostprocessing = 0;
193 | };
194 | /* End PBXResourcesBuildPhase section */
195 |
196 | /* Begin PBXShellScriptBuildPhase section */
197 | 19D233B7204FDD7D0087ED51 /* Bundle Expo Assets */ = {
198 | isa = PBXShellScriptBuildPhase;
199 | buildActionMask = 2147483647;
200 | files = (
201 | );
202 | inputPaths = (
203 | );
204 | name = "Bundle Expo Assets";
205 | outputPaths = (
206 | );
207 | runOnlyForDeploymentPostprocessing = 0;
208 | shellPath = /bin/sh;
209 | shellScript = "set -eo pipefail\n\nif [ \"$CONFIGURATION\" == \"Debug\" ]; then\n echo \"Skipping asset bundling in debug mode.\"\n exit 0\nfi\n\npushd \"${SRCROOT}/..\"\nvalue=\"$(cat ~/.expo/PATH)\"\ndest=\"$CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH\"\nPATH=\"$PATH:$value\" expo bundle-assets --platform ios --dest \"$dest\"\npopd\n";
210 | };
211 | 23539343DCC44EF8449429EE /* [CP] Check Pods Manifest.lock */ = {
212 | isa = PBXShellScriptBuildPhase;
213 | buildActionMask = 2147483647;
214 | files = (
215 | );
216 | inputPaths = (
217 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
218 | "${PODS_ROOT}/Manifest.lock",
219 | );
220 | name = "[CP] Check Pods Manifest.lock";
221 | outputPaths = (
222 | "$(DERIVED_FILE_DIR)/Pods-expokit-fastlane-example-checkManifestLockResult.txt",
223 | );
224 | runOnlyForDeploymentPostprocessing = 0;
225 | shellPath = /bin/sh;
226 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/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# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
227 | showEnvVarsInLog = 0;
228 | };
229 | AA38385B7D8D0854176B72FC /* [CP] Copy Pods Resources */ = {
230 | isa = PBXShellScriptBuildPhase;
231 | buildActionMask = 2147483647;
232 | files = (
233 | );
234 | inputPaths = (
235 | "${SRCROOT}/Pods/Target Support Files/Pods-expokit-fastlane-example/Pods-expokit-fastlane-example-resources.sh",
236 | "${PODS_ROOT}/Amplitude-iOS/Amplitude/api.amplitude.com.der",
237 | "${PODS_ROOT}/Amplitude-iOS/Amplitude/ComodoCaLimitedRsaCertificationAuthority.der",
238 | "${PODS_ROOT}/Amplitude-iOS/Amplitude/ComodoRsaCA.der",
239 | "${PODS_ROOT}/Amplitude-iOS/Amplitude/ComodoRsaDomainValidationCA.der",
240 | "${PODS_ROOT}/FBSDKCoreKit/FacebookSDKStrings.bundle",
241 | "${PODS_ROOT}/GoogleMaps/Maps/Frameworks/GoogleMaps.framework/Resources/GoogleMaps.bundle",
242 | "${PODS_ROOT}/GoogleSignIn/Resources/GoogleSignIn.bundle",
243 | "${PODS_CONFIGURATION_BUILD_DIR}/Stripe/Stripe.bundle",
244 | );
245 | name = "[CP] Copy Pods Resources";
246 | outputPaths = (
247 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/api.amplitude.com.der",
248 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ComodoCaLimitedRsaCertificationAuthority.der",
249 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ComodoRsaCA.der",
250 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ComodoRsaDomainValidationCA.der",
251 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FacebookSDKStrings.bundle",
252 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleMaps.bundle",
253 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle",
254 | "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Stripe.bundle",
255 | );
256 | runOnlyForDeploymentPostprocessing = 0;
257 | shellPath = /bin/sh;
258 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-expokit-fastlane-example/Pods-expokit-fastlane-example-resources.sh\"\n";
259 | showEnvVarsInLog = 0;
260 | };
261 | B5722AD01DFB7E3F0084848F /* Prepare Expo */ = {
262 | isa = PBXShellScriptBuildPhase;
263 | buildActionMask = 2147483647;
264 | files = (
265 | );
266 | inputPaths = (
267 | );
268 | name = "Prepare Expo";
269 | outputPaths = (
270 | );
271 | runOnlyForDeploymentPostprocessing = 0;
272 | shellPath = /bin/bash;
273 | shellScript = "set -eo pipefail\n\npushd \"${SRCROOT}/..\"\nvalue=\"$(cat ~/.expo/PATH)\"\nPATH=\"$PATH:$value\" expo prepare-detached-build --platform ios\npopd\n";
274 | };
275 | /* End PBXShellScriptBuildPhase section */
276 |
277 | /* Begin PBXSourcesBuildPhase section */
278 | B563863D1DB9693800A0598C /* Sources */ = {
279 | isa = PBXSourcesBuildPhase;
280 | buildActionMask = 2147483647;
281 | files = (
282 | B56386611DB96A5E00A0598C /* main.m in Sources */,
283 | B56386491DB9693800A0598C /* AppDelegate.m in Sources */,
284 | );
285 | runOnlyForDeploymentPostprocessing = 0;
286 | };
287 | /* End PBXSourcesBuildPhase section */
288 |
289 | /* Begin XCBuildConfiguration section */
290 | B56386561DB9693800A0598C /* Debug */ = {
291 | isa = XCBuildConfiguration;
292 | buildSettings = {
293 | ALWAYS_SEARCH_USER_PATHS = NO;
294 | CLANG_ANALYZER_NONNULL = YES;
295 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
296 | CLANG_CXX_LIBRARY = "libc++";
297 | CLANG_ENABLE_MODULES = YES;
298 | CLANG_ENABLE_OBJC_ARC = YES;
299 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
300 | CLANG_WARN_BOOL_CONVERSION = YES;
301 | CLANG_WARN_COMMA = YES;
302 | CLANG_WARN_CONSTANT_CONVERSION = YES;
303 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
304 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
305 | CLANG_WARN_EMPTY_BODY = YES;
306 | CLANG_WARN_ENUM_CONVERSION = YES;
307 | CLANG_WARN_INFINITE_RECURSION = YES;
308 | CLANG_WARN_INT_CONVERSION = YES;
309 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
310 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
311 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
312 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
313 | CLANG_WARN_STRICT_PROTOTYPES = YES;
314 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
315 | CLANG_WARN_SUSPICIOUS_MOVES = YES;
316 | CLANG_WARN_UNREACHABLE_CODE = YES;
317 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
318 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
319 | COPY_PHASE_STRIP = NO;
320 | DEBUG_INFORMATION_FORMAT = dwarf;
321 | ENABLE_STRICT_OBJC_MSGSEND = YES;
322 | ENABLE_TESTABILITY = YES;
323 | GCC_C_LANGUAGE_STANDARD = gnu99;
324 | GCC_DYNAMIC_NO_PIC = NO;
325 | GCC_NO_COMMON_BLOCKS = YES;
326 | GCC_OPTIMIZATION_LEVEL = 0;
327 | GCC_PREPROCESSOR_DEFINITIONS = (
328 | "DEBUG=1",
329 | "$(inherited)",
330 | );
331 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
332 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
333 | GCC_WARN_UNDECLARED_SELECTOR = YES;
334 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
335 | GCC_WARN_UNUSED_FUNCTION = YES;
336 | GCC_WARN_UNUSED_VARIABLE = YES;
337 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
338 | MTL_ENABLE_DEBUG_INFO = YES;
339 | ONLY_ACTIVE_ARCH = YES;
340 | SDKROOT = iphoneos;
341 | };
342 | name = Debug;
343 | };
344 | B56386571DB9693800A0598C /* Release */ = {
345 | isa = XCBuildConfiguration;
346 | buildSettings = {
347 | ALWAYS_SEARCH_USER_PATHS = NO;
348 | CLANG_ANALYZER_NONNULL = YES;
349 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
350 | CLANG_CXX_LIBRARY = "libc++";
351 | CLANG_ENABLE_MODULES = YES;
352 | CLANG_ENABLE_OBJC_ARC = YES;
353 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
354 | CLANG_WARN_BOOL_CONVERSION = YES;
355 | CLANG_WARN_COMMA = YES;
356 | CLANG_WARN_CONSTANT_CONVERSION = YES;
357 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
358 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
359 | CLANG_WARN_EMPTY_BODY = YES;
360 | CLANG_WARN_ENUM_CONVERSION = YES;
361 | CLANG_WARN_INFINITE_RECURSION = YES;
362 | CLANG_WARN_INT_CONVERSION = YES;
363 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
364 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
365 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
366 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
367 | CLANG_WARN_STRICT_PROTOTYPES = YES;
368 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
369 | CLANG_WARN_SUSPICIOUS_MOVES = YES;
370 | CLANG_WARN_UNREACHABLE_CODE = YES;
371 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
372 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
373 | COPY_PHASE_STRIP = NO;
374 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
375 | ENABLE_NS_ASSERTIONS = NO;
376 | ENABLE_STRICT_OBJC_MSGSEND = YES;
377 | GCC_C_LANGUAGE_STANDARD = gnu99;
378 | GCC_NO_COMMON_BLOCKS = YES;
379 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
380 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
381 | GCC_WARN_UNDECLARED_SELECTOR = YES;
382 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
383 | GCC_WARN_UNUSED_FUNCTION = YES;
384 | GCC_WARN_UNUSED_VARIABLE = YES;
385 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
386 | MTL_ENABLE_DEBUG_INFO = NO;
387 | SDKROOT = iphoneos;
388 | VALIDATE_PRODUCT = YES;
389 | };
390 | name = Release;
391 | };
392 | B56386591DB9693800A0598C /* Debug */ = {
393 | isa = XCBuildConfiguration;
394 | baseConfigurationReference = 2C1548D9E4CB1AEFA5CCAE6D /* Pods-expokit-fastlane-example.debug.xcconfig */;
395 | buildSettings = {
396 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
397 | CODE_SIGN_STYLE = Manual;
398 | DEVELOPMENT_TEAM = QQ57RJ5UTD;
399 | INFOPLIST_FILE = "$(SRCROOT)/expokit-fastlane-example/Supporting/Info.plist";
400 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
401 | PRODUCT_BUNDLE_IDENTIFIER = com.evanbacon.expokitfastlane;
402 | PRODUCT_NAME = "$(TARGET_NAME)";
403 | PROVISIONING_PROFILE_SPECIFIER = "match Development com.evanbacon.expokitfastlane";
404 | TARGETED_DEVICE_FAMILY = "1,2";
405 | };
406 | name = Debug;
407 | };
408 | B563865A1DB9693800A0598C /* Release */ = {
409 | isa = XCBuildConfiguration;
410 | baseConfigurationReference = A47FE4D7F70906B7DC8CE39B /* Pods-expokit-fastlane-example.release.xcconfig */;
411 | buildSettings = {
412 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
413 | CODE_SIGN_STYLE = Manual;
414 | DEVELOPMENT_TEAM = QQ57RJ5UTD;
415 | INFOPLIST_FILE = "$(SRCROOT)/expokit-fastlane-example/Supporting/Info.plist";
416 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
417 | PRODUCT_BUNDLE_IDENTIFIER = com.evanbacon.expokitfastlane;
418 | PRODUCT_NAME = "$(TARGET_NAME)";
419 | PROVISIONING_PROFILE_SPECIFIER = "match Development com.evanbacon.expokitfastlane";
420 | TARGETED_DEVICE_FAMILY = "1,2";
421 | };
422 | name = Release;
423 | };
424 | /* End XCBuildConfiguration section */
425 |
426 | /* Begin XCConfigurationList section */
427 | B563863C1DB9693800A0598C /* Build configuration list for PBXProject "expokit-fastlane-example" */ = {
428 | isa = XCConfigurationList;
429 | buildConfigurations = (
430 | B56386561DB9693800A0598C /* Debug */,
431 | B56386571DB9693800A0598C /* Release */,
432 | );
433 | defaultConfigurationIsVisible = 0;
434 | defaultConfigurationName = Release;
435 | };
436 | B56386581DB9693800A0598C /* Build configuration list for PBXNativeTarget "expokit-fastlane-example" */ = {
437 | isa = XCConfigurationList;
438 | buildConfigurations = (
439 | B56386591DB9693800A0598C /* Debug */,
440 | B563865A1DB9693800A0598C /* Release */,
441 | );
442 | defaultConfigurationIsVisible = 0;
443 | defaultConfigurationName = Release;
444 | };
445 | /* End XCConfigurationList section */
446 | };
447 | rootObject = B56386391DB9693800A0598C /* Project object */;
448 | }
449 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example.xcodeproj/xcshareddata/xcschemes/expokit-fastlane-example.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
31 |
32 |
33 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
56 |
58 |
64 |
65 |
66 |
67 |
71 |
72 |
73 |
74 |
75 |
76 |
82 |
84 |
90 |
91 |
92 |
93 |
95 |
96 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example.xcworkspace/xcuserdata/evanbacon.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example.xcworkspace/xcuserdata/evanbacon.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/AppDelegate.h:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present 650 Industries. All rights reserved.
2 |
3 | #import
4 |
5 | @interface AppDelegate : UIResponder
6 |
7 | @property (strong, nonatomic) UIWindow *window;
8 |
9 |
10 | @end
11 |
12 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/AppDelegate.m:
--------------------------------------------------------------------------------
1 | // Copyright 2015-present 650 Industries. All rights reserved.
2 |
3 | #import "AppDelegate.h"
4 | #import "ExpoKit.h"
5 | #import "EXViewController.h"
6 |
7 | @interface AppDelegate ()
8 |
9 | @property (nonatomic, strong) EXViewController *rootViewController;
10 |
11 | @end
12 |
13 | @implementation AppDelegate
14 |
15 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
16 | {
17 | _window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
18 | _window.backgroundColor = [UIColor whiteColor];
19 | [[ExpoKit sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
20 | _rootViewController = [ExpoKit sharedInstance].rootViewController;
21 | _window.rootViewController = _rootViewController;
22 |
23 | [_window makeKeyAndVisible];
24 |
25 | return YES;
26 | }
27 |
28 | #pragma mark - Handling URLs
29 |
30 | - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation
31 | {
32 | return [[ExpoKit sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
33 | }
34 |
35 | - (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray * _Nullable))restorationHandler
36 | {
37 | return [[ExpoKit sharedInstance] application:application continueUserActivity:userActivity restorationHandler:restorationHandler];
38 | }
39 |
40 | #pragma mark - Notifications
41 |
42 | - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)token
43 | {
44 | [[ExpoKit sharedInstance] application:application didRegisterForRemoteNotificationsWithDeviceToken:token];
45 | }
46 |
47 | - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)err
48 | {
49 | [[ExpoKit sharedInstance] application:application didFailToRegisterForRemoteNotificationsWithError:err];
50 | }
51 |
52 | - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)notification
53 | {
54 | [[ExpoKit sharedInstance] application:application didReceiveRemoteNotification:notification];
55 | }
56 |
57 | - (void)application:(UIApplication *)application didReceiveLocalNotification:(nonnull UILocalNotification *)notification
58 | {
59 | [[ExpoKit sharedInstance] application:application didReceiveLocalNotification:notification];
60 | }
61 |
62 | - (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(nonnull UIUserNotificationSettings *)notificationSettings
63 | {
64 | [[ExpoKit sharedInstance] application:application didRegisterUserNotificationSettings:notificationSettings];
65 | }
66 |
67 | @end
68 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon1024x1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon1024x1024.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon20x20@2x.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon20x20@3x.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon29x29@3x.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon40x40@3x.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon60x60@3x.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon76x76@2x~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon76x76@2x~ipad.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon76x76~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon76x76~ipad.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon83.5x83.5@2x~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/AppIcon83.5x83.5@2x~ipad.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "AppIcon20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "AppIcon20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "idiom" : "iphone",
17 | "size" : "29x29",
18 | "scale" : "1x"
19 | },
20 | {
21 | "size" : "29x29",
22 | "idiom" : "iphone",
23 | "filename" : "AppIcon29x29@2x.png",
24 | "scale" : "2x"
25 | },
26 | {
27 | "size" : "29x29",
28 | "idiom" : "iphone",
29 | "filename" : "AppIcon29x29@3x.png",
30 | "scale" : "3x"
31 | },
32 | {
33 | "size" : "40x40",
34 | "idiom" : "iphone",
35 | "filename" : "AppIcon40x40@2x.png",
36 | "scale" : "2x"
37 | },
38 | {
39 | "size" : "40x40",
40 | "idiom" : "iphone",
41 | "filename" : "AppIcon40x40@3x.png",
42 | "scale" : "3x"
43 | },
44 | {
45 | "idiom" : "iphone",
46 | "size" : "57x57",
47 | "scale" : "1x"
48 | },
49 | {
50 | "idiom" : "iphone",
51 | "size" : "57x57",
52 | "scale" : "2x"
53 | },
54 | {
55 | "size" : "60x60",
56 | "idiom" : "iphone",
57 | "filename" : "AppIcon60x60@2x.png",
58 | "scale" : "2x"
59 | },
60 | {
61 | "size" : "60x60",
62 | "idiom" : "iphone",
63 | "filename" : "AppIcon60x60@3x.png",
64 | "scale" : "3x"
65 | },
66 | {
67 | "idiom" : "ipad",
68 | "size" : "20x20",
69 | "scale" : "1x"
70 | },
71 | {
72 | "idiom" : "ipad",
73 | "size" : "20x20",
74 | "scale" : "2x"
75 | },
76 | {
77 | "idiom" : "ipad",
78 | "size" : "29x29",
79 | "scale" : "1x"
80 | },
81 | {
82 | "idiom" : "ipad",
83 | "size" : "29x29",
84 | "scale" : "2x"
85 | },
86 | {
87 | "idiom" : "ipad",
88 | "size" : "40x40",
89 | "scale" : "1x"
90 | },
91 | {
92 | "idiom" : "ipad",
93 | "size" : "40x40",
94 | "scale" : "2x"
95 | },
96 | {
97 | "idiom" : "ipad",
98 | "size" : "50x50",
99 | "scale" : "1x"
100 | },
101 | {
102 | "idiom" : "ipad",
103 | "size" : "50x50",
104 | "scale" : "2x"
105 | },
106 | {
107 | "idiom" : "ipad",
108 | "size" : "72x72",
109 | "scale" : "1x"
110 | },
111 | {
112 | "idiom" : "ipad",
113 | "size" : "72x72",
114 | "scale" : "2x"
115 | },
116 | {
117 | "size" : "76x76",
118 | "idiom" : "ipad",
119 | "filename" : "AppIcon76x76~ipad.png",
120 | "scale" : "1x"
121 | },
122 | {
123 | "size" : "76x76",
124 | "idiom" : "ipad",
125 | "filename" : "AppIcon76x76@2x~ipad.png",
126 | "scale" : "2x"
127 | },
128 | {
129 | "size" : "83.5x83.5",
130 | "idiom" : "ipad",
131 | "filename" : "AppIcon83.5x83.5@2x~ipad.png",
132 | "scale" : "2x"
133 | },
134 | {
135 | "size" : "1024x1024",
136 | "idiom" : "ios-marketing",
137 | "filename" : "AppIcon1024x1024.png",
138 | "scale" : "1x"
139 | }
140 | ],
141 | "info" : {
142 | "version" : 1,
143 | "author" : "xcode"
144 | }
145 | }
146 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/EXBuildConstants.json:
--------------------------------------------------------------------------------
1 | {"STANDALONE_CONTEXT_TYPE":"user","developmentUrl":"exp1d48cb1894444d81ae76b53afd67644d://10.0.0.211:80","EXPO_RUNTIME_VERSION":"2.9.0","DEFAULT_API_KEYS":{"GOOGLE_MAPS_IOS_API_KEY":"","AMPLITUDE_KEY":"1e246ef3dacaabe8648768d7c35fceb1"},"TEMPORARY_SDK_VERSION":"31.0.0"}
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/EXBuildConstants.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | DEFAULT_API_KEYS
6 |
7 | AMPLITUDE_KEY
8 | 1e246ef3dacaabe8648768d7c35fceb1
9 | GOOGLE_MAPS_IOS_API_KEY
10 |
11 |
12 | EXPO_RUNTIME_VERSION
13 | 2.9.0
14 | STANDALONE_CONTEXT_TYPE
15 | user
16 | TEMPORARY_SDK_VERSION
17 | 31.0.0
18 | developmentUrl
19 | exp1d48cb1894444d81ae76b53afd67644d://10.0.0.211:80
20 |
21 |
22 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/EXBuildConstants.plist.bak:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | STANDALONE_CONTEXT_TYPE
6 | user
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/EXSDKVersions.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | detachedNativeVersions
6 |
7 | kernel
8 | 31.0.0
9 | shell
10 | 31.0.0
11 |
12 | sdkVersions
13 |
14 | 31.0.0
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/EXShell.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | isManifestVerificationBypassed
6 |
7 | isShell
8 |
9 | manifestUrl
10 | exp://exp.host/@bacon/expokit-fastlane-example
11 | releaseChannel
12 | default
13 |
14 |
15 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | expokit-fastlane-example
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | expokit-fastlane-example
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0.0
21 | CFBundleURLTypes
22 |
23 |
24 | CFBundleURLSchemes
25 |
26 | exp1d48cb1894444d81ae76b53afd67644d
27 |
28 |
29 |
30 | CFBundleURLName
31 | OAuthRedirect
32 | CFBundleURLSchemes
33 |
34 | com.evanbacon.expokitfastlane
35 |
36 |
37 |
38 | CFBundleVersion
39 | 1
40 | Fabric
41 |
42 | APIKey
43 | 81130e95ea13cd7ed9a4f455e96214902c721c99
44 | Kits
45 |
46 |
47 | KitInfo
48 |
49 | KitName
50 | Crashlytics
51 |
52 |
53 |
54 | LSRequiresIPhoneOS
55 |
56 | NSAppTransportSecurity
57 |
58 | NSAllowsArbitraryLoads
59 |
60 |
61 | NSCalendarsUsageDescription
62 | Allow expokit-fastlane-example to access your calendar
63 | NSCameraUsageDescription
64 | Allow expokit-fastlane-example to use your camera
65 | NSContactsUsageDescription
66 | Allow expokit-fastlane-example to access your contacts
67 | NSLocationWhenInUseUsageDescription
68 | Allow expokit-fastlane-example to use your location
69 | NSMicrophoneUsageDescription
70 | Allow expokit-fastlane-example to access your microphone
71 | NSMotionUsageDescription
72 | Allow expokit-fastlane-example to access your device's accelerometer
73 | NSPhotoLibraryAddUsageDescription
74 | Give expokit-fastlane-example permission to save photos
75 | NSPhotoLibraryUsageDescription
76 | Give expokit-fastlane-example permission to access your photos
77 | NSRemindersUsageDescription
78 | Allow expokit-fastlane-example to access your reminders
79 | UILaunchStoryboardName
80 | LaunchScreen
81 | UIRequiredDeviceCapabilities
82 |
83 | UIRequiresFullScreen
84 |
85 | UIStatusBarStyle
86 | UIStatusBarStyleLightContent
87 | UISupportedInterfaceOrientations
88 |
89 | UIInterfaceOrientationPortrait
90 | UIInterfaceOrientationLandscapeLeft
91 | UIInterfaceOrientationLandscapeRight
92 | UIInterfaceOrientationPortraitUpsideDown
93 |
94 | UIViewControllerBasedStatusBarAppearance
95 |
96 |
97 |
98 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/launch_background_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Supporting/launch_background_image.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/launch_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Supporting/launch_icon.png
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/main.m:
--------------------------------------------------------------------------------
1 | // Copyright © 2016 650 Industries, Inc. All rights reserved.
2 |
3 | #import
4 | #import "AppDelegate.h"
5 |
6 | int main(int argc, char * argv[]) {
7 | @autoreleasepool {
8 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/sdkVersions.json:
--------------------------------------------------------------------------------
1 | {"sdkVersions":["25.0.0","26.0.0","27.0.0","28.0.0","29.0.0","30.0.0","31.0.0"]}
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/shell-app-manifest.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Supporting/shell-app-manifest.json
--------------------------------------------------------------------------------
/ios/expokit-fastlane-example/Supporting/shell-app.bundle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EvanBacon/ExpoKit-Fastlane-Example/6c0667029019aea54d9ff8111c2e2096bd9ef2cc/ios/expokit-fastlane-example/Supporting/shell-app.bundle
--------------------------------------------------------------------------------
/ios/fastlane/Appfile:
--------------------------------------------------------------------------------
1 | app_identifier("com.evanbacon.expokitfastlane") # The bundle identifier of your app
2 | apple_id("evanjbacon@gmail.com") # Your Apple email address
3 |
4 | itc_team_id("118573547") # App Store Connect Team ID
5 | team_id("QQ57RJ5UTD") # Developer Portal Team ID
6 |
7 | # For more information about the Appfile, see:
8 | # https://docs.fastlane.tools/advanced/#appfile
9 |
--------------------------------------------------------------------------------
/ios/fastlane/Deliverfile:
--------------------------------------------------------------------------------
1 | # The Deliverfile allows you to store various App Store Connect metadata
2 | # For more information, check out the docs
3 | # https://docs.fastlane.tools/actions/deliver/
4 |
--------------------------------------------------------------------------------
/ios/fastlane/Fastfile:
--------------------------------------------------------------------------------
1 | # This file contains the fastlane.tools configuration
2 | # You can find the documentation at https://docs.fastlane.tools
3 | #
4 | # For a list of all available actions, check out
5 | #
6 | # https://docs.fastlane.tools/actions
7 | #
8 | # For a list of all available plugins, check out
9 | #
10 | # https://docs.fastlane.tools/plugins/available-plugins
11 | #
12 |
13 | # Uncomment the line if you want fastlane to automatically update itself
14 | # update_fastlane
15 |
16 | default_platform(:ios)
17 |
18 | platform :ios do
19 | desc "Push a new release build to the App Store"
20 | lane :release do
21 | build_app(workspace: "expokit-fastlane-example.xcworkspace", scheme: "expokit-fastlane-example")
22 | upload_to_app_store(skip_metadata: true, skip_screenshots: true)
23 | end
24 | end
25 |
--------------------------------------------------------------------------------
/ios/fastlane/Matchfile:
--------------------------------------------------------------------------------
1 | git_url("git@github.com:EvanBacon/expokit-fastlane-example-certificates.git")
2 |
3 | type("development") # The default type, can be: appstore, adhoc, enterprise or development
4 |
5 | # app_identifier(["tools.fastlane.app", "tools.fastlane.app2"])
6 | # username("user@fastlane.tools") # Your Apple Developer Portal username
7 |
8 | # For all available options run `fastlane match --help`
9 | # Remove the # in the beginning of the line to enable the other options
10 |
--------------------------------------------------------------------------------
/ios/fastlane/README.md:
--------------------------------------------------------------------------------
1 | fastlane documentation
2 | ================
3 | # Installation
4 |
5 | Make sure you have the latest version of the Xcode command line tools installed:
6 |
7 | ```
8 | xcode-select --install
9 | ```
10 |
11 | Install _fastlane_ using
12 | ```
13 | [sudo] gem install fastlane -NV
14 | ```
15 | or alternatively using `brew cask install fastlane`
16 |
17 | # Available Actions
18 | ## iOS
19 | ### ios release
20 | ```
21 | fastlane ios release
22 | ```
23 | Push a new release build to the App Store
24 |
25 | ----
26 |
27 | This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run.
28 | More information about fastlane can be found on [fastlane.tools](https://fastlane.tools).
29 | The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
30 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/copyright.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/en-US/description.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/en-US/keywords.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/en-US/marketing_url.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/en-US/name.txt:
--------------------------------------------------------------------------------
1 | ExpoKit Fastlane
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/en-US/privacy_url.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/en-US/promotional_text.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/en-US/release_notes.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/en-US/subtitle.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/en-US/support_url.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/primary_category.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/primary_first_sub_category.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/primary_second_sub_category.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/review_information/demo_password.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/review_information/demo_user.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/review_information/email_address.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/review_information/first_name.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/review_information/last_name.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/review_information/notes.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/review_information/phone_number.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/secondary_category.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/secondary_first_sub_category.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/secondary_second_sub_category.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/address_line1.txt:
--------------------------------------------------------------------------------
1 | 10115
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/address_line2.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/address_line3.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/city_name.txt:
--------------------------------------------------------------------------------
1 | Austin
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/country.txt:
--------------------------------------------------------------------------------
1 | United States
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/email_address.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/first_name.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/is_displayed_on_app_store.txt:
--------------------------------------------------------------------------------
1 | false
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/last_name.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/phone_number.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/postal_code.txt:
--------------------------------------------------------------------------------
1 | 78747
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/state.txt:
--------------------------------------------------------------------------------
1 | Texas
2 |
--------------------------------------------------------------------------------
/ios/fastlane/metadata/trade_representative_contact_information/trade_name.txt:
--------------------------------------------------------------------------------
1 | Evan Bacon
2 |
--------------------------------------------------------------------------------
/ios/fastlane/report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/ios/fastlane/screenshots/README.txt:
--------------------------------------------------------------------------------
1 | Put all screenshots you want to use inside the folder of its language (e.g. en-US).
2 | The device type will automatically be recognized using the image resolution. Apple TV screenshots
3 | should be stored in a subdirectory named appleTV with language folders inside of it. iMessage
4 | screenshots, like Apple TV screenshots, should also be stored in a subdirectory named iMessage
5 | with language folders inside of it.
6 |
7 | The screenshots can be named whatever you want, but keep in mind they are sorted alphabetically.
8 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "main": "node_modules/expo/AppEntry.js",
3 | "scripts": {
4 | "start": "expo start",
5 | "android": "expo start --android",
6 | "ios": "expo start --ios",
7 | "eject": "expo eject"
8 | },
9 | "dependencies": {
10 | "expo": "^31.0.2",
11 | "expokit": "31.0.2",
12 | "react": "16.5.0",
13 | "react-native": "https://github.com/expo/react-native/archive/sdk-31.0.0.tar.gz"
14 | },
15 | "devDependencies": {
16 | "babel-preset-expo": "^5.0.0"
17 | },
18 | "private": true
19 | }
20 |
--------------------------------------------------------------------------------