diff --git a/.circleci/config.yml b/.circleci/config.yml
index f886dc0ecc4..0d2053a1996 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -91,7 +91,7 @@ jobs:
- run:
name: Bundle emission
- command: cd emission && yarn bundle-for-native-ci
+ command: yarn bundle-for-native-ci
- save_cache:
key: v4-pods-{{ checksum "Podfile.lock" }}
@@ -147,22 +147,22 @@ jobs:
- restore_cache:
keys:
- - v3-yarn-{{ checksum "emission/yarn.lock" }}
+ - v3-yarn-{{ checksum "yarn.lock" }}
# Fall back to using the latest cache if no exact match is found.
- v3-yarn-
- run:
name: Install Yarn Dependencies
- command: cd emission && yarn install --ignore-engines
+ command: yarn install --ignore-engines
- save_cache:
- key: v3-yarn-{{ checksum "emission/yarn.lock" }}
+ key: v3-yarn-{{ checksum "yarn.lock" }}
paths:
- - emission/node_modules
+ - node_modules
- run:
name: Deploy via auto-release
- command: cd emission && yarn update-metaphysics
+ command: yarn update-metaphysics
workflows:
version: 2
diff --git a/.gitattributes b/.gitattributes
index 386b45fd09d..859b2d65baa 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1,3 @@
CHANGELOG.yml merge=union
+src/__generated__/*.graphql.ts linguist-generated
+src/__generated__/*.queryMap.json linguist-generated
diff --git a/.gitignore b/.gitignore
index fb1ca1fcc59..1d995691aaa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,12 +52,42 @@ iOSInjectionProject/
fastlane/Gemfile.lock
Artsy.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
-# React Native pods. See: Podfile
-rn_pods
-
# regular Pods. No longer a submodule
Pods
# build artefacts
derived_data
Artsy/Networking/ARReactPackagerHost.m
+
+# COPIED FROM EMISSION
+
+# Xcode
+
+## Build generated
+dist
+
+# Custom
+
+node_modules
+npm-debug.log
+.vscode/launchReactNative.js
+.vscode/.react/
+.vscode/typings
+.apphub
+coverage
+package-lock.json
+yarn-error.log
+.awcache
+
+# Use a custom, cached location for Jest to save transpiling
+# on every PR
+.jest/cache
+
+# Danger artifacts
+tslint-errors.json
+
+# TypeScript Logs
+tsc_raw.log
+
+# Emission bundle
+emission/Pod/Assets/Emission.js*
diff --git a/emission/.gqlconfig b/.gqlconfig
similarity index 100%
rename from emission/.gqlconfig
rename to .gqlconfig
diff --git a/emission/.npmrc b/.npmrc
similarity index 100%
rename from emission/.npmrc
rename to .npmrc
diff --git a/emission/.nvmrc b/.nvmrc
similarity index 100%
rename from emission/.nvmrc
rename to .nvmrc
diff --git a/emission/.prettierignore b/.prettierignore
similarity index 100%
rename from emission/.prettierignore
rename to .prettierignore
diff --git a/emission/.stylelintrc b/.stylelintrc
similarity index 100%
rename from emission/.stylelintrc
rename to .stylelintrc
diff --git a/.travis.yml b/.travis.yml
index 45bbf77647f..17945fcbe64 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,19 +11,18 @@ cache:
# General SwiftPM
# Danger Swift plugins, like Yams
- .build
- - emission/node_modules
- - emission/.jest/cache
+ - node_modules
+ - .jest/cache
install:
# Grab the latest Danger JS from npm
- nvm use 12
- npm install -g danger
- npm install -g yarn
- - pushd emission && yarn install && popd
+ - yarn install
script:
# Run the Dangerfile.swift
- swift run danger-swift ci
- - cd emission
- yarn ci
- yarn danger ci --verbose
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 093d1dd6133..fb782c57155 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -1,8 +1,6 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
- "recommendations": [
- "Orta.vscode-ios-common-files",
- "Orta.vscode-danger",
- ]
+ "recommendations": ["Orta.vscode-ios-common-files", "Orta.vscode-danger", "artsy.artsy-studio-extension-pack"],
+ "unwantedRecommendations": ["prisma.vscode-graphql"]
}
diff --git a/emission/.vscode/launch.json b/.vscode/launch.json
similarity index 100%
rename from emission/.vscode/launch.json
rename to .vscode/launch.json
diff --git a/emission/.vscode/settings.json b/.vscode/settings.json
similarity index 90%
rename from emission/.vscode/settings.json
rename to .vscode/settings.json
index 0193468004c..3c589f6f5d4 100644
--- a/emission/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -28,9 +28,6 @@
"build": true,
".awcache": true,
".happypack": true,
- "Example/build": true,
- "Example/DerivedData": true,
- "Example/Pods/Headers/**": true
},
"search.exclude": {
"**/node_modules": true,
@@ -61,7 +58,6 @@
"matt"
],
"cSpell.diagnosticLevel": "Hint",
- "clang.compilationDatabase": "${workspaceRoot}/Example/compile_commands.json",
"typescript.tsdk": "./node_modules/typescript/lib",
"todohighlight.exclude": ["node_modules/**", ".vscode/**", "externals/**"],
"tslint.autoFixOnSave": true,
diff --git a/emission/.vscode/tasks.json b/.vscode/tasks.json
similarity index 100%
rename from emission/.vscode/tasks.json
rename to .vscode/tasks.json
diff --git a/emission/.yarnrc b/.yarnrc
similarity index 100%
rename from emission/.yarnrc
rename to .yarnrc
diff --git a/Artsy.xcodeproj/project.pbxproj b/Artsy.xcodeproj/project.pbxproj
index 45ef15a6670..b037d28e551 100644
--- a/Artsy.xcodeproj/project.pbxproj
+++ b/Artsy.xcodeproj/project.pbxproj
@@ -4616,7 +4616,7 @@
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Artsy/Pods-Artsy-frameworks.sh",
- "${PODS_ROOT}/../emission/node_modules/@mapbox/react-native-mapbox-gl/ios/Mapbox.framework",
+ "${PODS_ROOT}/../node_modules/@mapbox/react-native-mapbox-gl/ios/Mapbox.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
@@ -4649,7 +4649,6 @@
"${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/Unica77LL-Regular.otf",
"${PODS_ROOT}/Artsy+UILabels/Pod/Assets/Chevron_Black.png",
"${PODS_ROOT}/Artsy+UILabels/Pod/Assets/Chevron_Black@2x.png",
- "${PODS_ROOT}/../emission/Pod/Assets/Emission.js",
"${PODS_ROOT}/../emission/Pod/Assets/assets",
"${PODS_ROOT}/Extraction/Extraction/Assets/ARLoadFailureRetryIcon@2x.png",
"${PODS_ROOT}/FBSDKCoreKit/FacebookSDKStrings.bundle",
@@ -4674,7 +4673,6 @@
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Unica77LL-Regular.otf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Chevron_Black.png",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Chevron_Black@2x.png",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Emission.js",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/assets",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ARLoadFailureRetryIcon@2x.png",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FacebookSDKStrings.bundle",
diff --git a/Artsy/App/ARAppDelegate+Emission.m b/Artsy/App/ARAppDelegate+Emission.m
index 908fc33ede5..62c6f710333 100644
--- a/Artsy/App/ARAppDelegate+Emission.m
+++ b/Artsy/App/ARAppDelegate+Emission.m
@@ -86,7 +86,7 @@ - (void)setupEmission;
[self setupSharedEmissionWithPackagerURL:packagerURL];
} else if ([AROptions boolForOption:AROptionsDevReactEnv]) {
- NSString *bundleUrlString = [NSString stringWithFormat:@"http://%@:8081/Example/Emission/index.ios.bundle?platform=ios&dev=true", [ARReactPackagerHost hostname]];
+ NSString *bundleUrlString = [NSString stringWithFormat:@"http://%@:8081/index.ios.bundle?platform=ios&dev=true", [ARReactPackagerHost hostname]];
NSURL *packagerURL = [NSURL URLWithString:bundleUrlString];
[self setupSharedEmissionWithPackagerURL:packagerURL];
diff --git a/Podfile b/Podfile
index 987a9cf8467..ee432de3bc8 100644
--- a/Podfile
+++ b/Podfile
@@ -22,16 +22,9 @@ installing_pods = ARGV.include?('install') || ARGV.include?('update')
npm_vendored_podspecs = {}
if installing_pods
- system 'pushd emission; yarn install --ignore-engines; popd'
-
- npm_vendored_podspecs = JSON.parse(File.read('./emission/npm-podspecs.json'), symbolize_names: true)
- npm_vendored_podspecs.update(npm_vendored_podspecs) do |_pod_name, props|
- if props[:path]
- props.merge path: File.join('./emission/', props[:path])
- else
- props.merge podspec: File.join('./emission/', props[:podspec])
- end
- end
+ system 'yarn install --ignore-engines'
+
+ npm_vendored_podspecs = JSON.parse(File.read('./npm-podspecs.json'), symbolize_names: true)
# Remove DevSupport pod on CI builds, which are used to deploy prod builds.
if ENV['CIRCLE_BUILD_NUM']
diff --git a/Podfile.lock b/Podfile.lock
index 681e740a55f..256fe5a41e9 100644
--- a/Podfile.lock
+++ b/Podfile.lock
@@ -70,7 +70,7 @@ PODS:
- DHCShakeNotifier (0.2.0)
- DoubleConversion (1.1.6)
- EDColor (1.0.0)
- - Emission (1.21.51):
+ - Emission (1.21.52):
- "Artsy+UIColors"
- "Artsy+UIFonts (>= 3.0.0)"
- DoubleConversion (= 1.1.6)
@@ -461,22 +461,22 @@ DEPENDENCIES:
- Artsy-UIButtons
- CocoaLumberjack (from `https://github.com/CocoaLumberjack/CocoaLumberjack.git`)
- DHCShakeNotifier
- - DoubleConversion (from `./emission/node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
+ - DoubleConversion (from `node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- EDColor
- Emission (from `./emission`)
- Expecta
- "Expecta+Snapshots"
- Extraction
- - FBLazyVector (from `./emission/node_modules/react-native/Libraries/FBLazyVector`)
- - FBReactNativeSpec (from `./emission/node_modules/react-native/Libraries/FBReactNativeSpec`)
+ - FBLazyVector (from `node_modules/react-native/Libraries/FBLazyVector`)
+ - FBReactNativeSpec (from `node_modules/react-native/Libraries/FBReactNativeSpec`)
- FBSDKCoreKit (~> 4.33)
- FBSDKLoginKit (~> 4.33)
- FBSnapshotTestCase
- FLKAutoLayout (from `https://github.com/orta/FLKAutoLayout.git`, branch `v1`)
- - Folly (from `./emission/node_modules/react-native/third-party-podspecs/Folly.podspec`)
+ - Folly (from `node_modules/react-native/third-party-podspecs/Folly.podspec`)
- Forgeries/Mocks
- FXBlurView
- - glog (from `./emission/node_modules/react-native/third-party-podspecs/glog.podspec`)
+ - glog (from `node_modules/react-native/third-party-podspecs/glog.podspec`)
- Interstellar/Core (from `https://github.com/ashfurrow/Interstellar.git`, branch `observable-unsubscribe`)
- ISO8601DateFormatter (from `https://github.com/orta/iso-8601-date-formatter`)
- JLRoutes (from `https://github.com/orta/JLRoutes.git`)
@@ -498,48 +498,48 @@ DEPENDENCIES:
- ORStackView (= 2.0.3)
- Pulley (from `https://github.com/l2succes/Pulley.git`, branch `master`)
- Quick
- - RCTRequired (from `./emission/node_modules/react-native/Libraries/RCTRequired`)
- - RCTTypeSafety (from `./emission/node_modules/react-native/Libraries/TypeSafety`)
- - React (from `./emission/node_modules/react-native`)
- - React-Core/DevSupport (from `./emission/node_modules/react-native`)
- - React-CoreModules (from `./emission/node_modules/react-native/React/CoreModules`)
- - React-cxxreact (from `./emission/node_modules/react-native/ReactCommon/cxxreact`)
- - React-jsi (from `./emission/node_modules/react-native/ReactCommon/jsi`)
- - React-jsiexecutor (from `./emission/node_modules/react-native/ReactCommon/jsiexecutor`)
- - React-jsinspector (from `./emission/node_modules/react-native/ReactCommon/jsinspector`)
- - "react-native-cameraroll (from `./emission/node_modules/@react-native-community/cameraroll`)"
- - "react-native-geolocation (from `./emission/node_modules/@react-native-community/geolocation`)"
- - "react-native-mapbox-gl (from `./emission/node_modules/@mapbox/react-native-mapbox-gl`)"
- - react-native-navigator-ios (from `./emission/node_modules/react-native-navigator-ios`)
- - "react-native-netinfo (from `./emission/node_modules/@react-native-community/netinfo`)"
- - React-RCTActionSheet (from `./emission/node_modules/react-native/Libraries/ActionSheetIOS`)
- - React-RCTAnimation (from `./emission/node_modules/react-native/Libraries/NativeAnimation`)
- - React-RCTBlob (from `./emission/node_modules/react-native/Libraries/Blob`)
- - React-RCTImage (from `./emission/node_modules/react-native/Libraries/Image`)
- - React-RCTLinking (from `./emission/node_modules/react-native/Libraries/LinkingIOS`)
- - React-RCTNetwork (from `./emission/node_modules/react-native/Libraries/Network`)
- - React-RCTSettings (from `./emission/node_modules/react-native/Libraries/Settings`)
- - React-RCTText (from `./emission/node_modules/react-native/Libraries/Text`)
- - React-RCTVibration (from `./emission/node_modules/react-native/Libraries/Vibration`)
- - ReactCommon/jscallinvoker (from `./emission/node_modules/react-native/ReactCommon`)
- - ReactCommon/turbomodule/core (from `./emission/node_modules/react-native/ReactCommon`)
+ - RCTRequired (from `node_modules/react-native/Libraries/RCTRequired`)
+ - RCTTypeSafety (from `node_modules/react-native/Libraries/TypeSafety`)
+ - React (from `node_modules/react-native`)
+ - React-Core/DevSupport (from `node_modules/react-native`)
+ - React-CoreModules (from `node_modules/react-native/React/CoreModules`)
+ - React-cxxreact (from `node_modules/react-native/ReactCommon/cxxreact`)
+ - React-jsi (from `node_modules/react-native/ReactCommon/jsi`)
+ - React-jsiexecutor (from `node_modules/react-native/ReactCommon/jsiexecutor`)
+ - React-jsinspector (from `node_modules/react-native/ReactCommon/jsinspector`)
+ - "react-native-cameraroll (from `node_modules/@react-native-community/cameraroll`)"
+ - "react-native-geolocation (from `node_modules/@react-native-community/geolocation`)"
+ - "react-native-mapbox-gl (from `node_modules/@mapbox/react-native-mapbox-gl`)"
+ - react-native-navigator-ios (from `node_modules/react-native-navigator-ios`)
+ - "react-native-netinfo (from `node_modules/@react-native-community/netinfo`)"
+ - React-RCTActionSheet (from `node_modules/react-native/Libraries/ActionSheetIOS`)
+ - React-RCTAnimation (from `node_modules/react-native/Libraries/NativeAnimation`)
+ - React-RCTBlob (from `node_modules/react-native/Libraries/Blob`)
+ - React-RCTImage (from `node_modules/react-native/Libraries/Image`)
+ - React-RCTLinking (from `node_modules/react-native/Libraries/LinkingIOS`)
+ - React-RCTNetwork (from `node_modules/react-native/Libraries/Network`)
+ - React-RCTSettings (from `node_modules/react-native/Libraries/Settings`)
+ - React-RCTText (from `node_modules/react-native/Libraries/Text`)
+ - React-RCTVibration (from `node_modules/react-native/Libraries/Vibration`)
+ - ReactCommon/jscallinvoker (from `node_modules/react-native/ReactCommon`)
+ - ReactCommon/turbomodule/core (from `node_modules/react-native/ReactCommon`)
- ReactiveObjC
- - "RNCAsyncStorage (from `./emission/node_modules/@react-native-community/async-storage`)"
- - RNReanimated (from `./emission/node_modules/react-native-reanimated`)
- - RNSVG (from `./emission/node_modules/react-native-svg`)
+ - "RNCAsyncStorage (from `node_modules/@react-native-community/async-storage`)"
+ - RNReanimated (from `node_modules/react-native-reanimated`)
+ - RNSVG (from `node_modules/react-native-svg`)
- SDWebImage (>= 3.7.2)
- - SentryReactNative (from `./emission/node_modules/react-native-sentry`)
+ - SentryReactNative (from `node_modules/react-native-sentry`)
- Specta
- SSFadingScrollView (from `https://github.com/alloy/SSFadingScrollView.git`, branch `add-axial-support`)
- Starscream
- SwiftyJSON
- Then
- - tipsi-stripe (from `./emission/node_modules/tipsi-stripe/tipsi-stripe.podspec`)
+ - tipsi-stripe (from `node_modules/tipsi-stripe/tipsi-stripe.podspec`)
- UICKeyChainStore
- "UIView+BooleanAnimations"
- VCRURLConnection
- "XCTest+OHHTTPStubSuiteCleanUp"
- - Yoga (from `./emission/node_modules/react-native/ReactCommon/yoga`)
+ - Yoga (from `node_modules/react-native/ReactCommon/yoga`)
SPEC REPOS:
https://cdn.cocoapods.org/:
@@ -609,20 +609,20 @@ EXTERNAL SOURCES:
CocoaLumberjack:
:git: https://github.com/CocoaLumberjack/CocoaLumberjack.git
DoubleConversion:
- :podspec: "./emission/node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
+ :podspec: node_modules/react-native/third-party-podspecs/DoubleConversion.podspec
Emission:
:path: "./emission"
FBLazyVector:
- :path: "./emission/node_modules/react-native/Libraries/FBLazyVector"
+ :path: node_modules/react-native/Libraries/FBLazyVector
FBReactNativeSpec:
- :path: "./emission/node_modules/react-native/Libraries/FBReactNativeSpec"
+ :path: node_modules/react-native/Libraries/FBReactNativeSpec
FLKAutoLayout:
:branch: v1
:git: https://github.com/orta/FLKAutoLayout.git
Folly:
- :podspec: "./emission/node_modules/react-native/third-party-podspecs/Folly.podspec"
+ :podspec: node_modules/react-native/third-party-podspecs/Folly.podspec
glog:
- :podspec: "./emission/node_modules/react-native/third-party-podspecs/glog.podspec"
+ :podspec: node_modules/react-native/third-party-podspecs/glog.podspec
Interstellar:
:branch: observable-unsubscribe
:git: https://github.com/ashfurrow/Interstellar.git
@@ -636,68 +636,68 @@ EXTERNAL SOURCES:
:branch: master
:git: https://github.com/l2succes/Pulley.git
RCTRequired:
- :path: "./emission/node_modules/react-native/Libraries/RCTRequired"
+ :path: node_modules/react-native/Libraries/RCTRequired
RCTTypeSafety:
- :path: "./emission/node_modules/react-native/Libraries/TypeSafety"
+ :path: node_modules/react-native/Libraries/TypeSafety
React:
- :path: "./emission/node_modules/react-native"
+ :path: node_modules/react-native
React-Core:
- :path: "./emission/node_modules/react-native"
+ :path: node_modules/react-native
React-CoreModules:
- :path: "./emission/node_modules/react-native/React/CoreModules"
+ :path: node_modules/react-native/React/CoreModules
React-cxxreact:
- :path: "./emission/node_modules/react-native/ReactCommon/cxxreact"
+ :path: node_modules/react-native/ReactCommon/cxxreact
React-jsi:
- :path: "./emission/node_modules/react-native/ReactCommon/jsi"
+ :path: node_modules/react-native/ReactCommon/jsi
React-jsiexecutor:
- :path: "./emission/node_modules/react-native/ReactCommon/jsiexecutor"
+ :path: node_modules/react-native/ReactCommon/jsiexecutor
React-jsinspector:
- :path: "./emission/node_modules/react-native/ReactCommon/jsinspector"
+ :path: node_modules/react-native/ReactCommon/jsinspector
react-native-cameraroll:
- :path: "./emission/node_modules/@react-native-community/cameraroll"
+ :path: "node_modules/@react-native-community/cameraroll"
react-native-geolocation:
- :path: "./emission/node_modules/@react-native-community/geolocation"
+ :path: "node_modules/@react-native-community/geolocation"
react-native-mapbox-gl:
- :path: "./emission/node_modules/@mapbox/react-native-mapbox-gl"
+ :path: "node_modules/@mapbox/react-native-mapbox-gl"
react-native-navigator-ios:
- :path: "./emission/node_modules/react-native-navigator-ios"
+ :path: node_modules/react-native-navigator-ios
react-native-netinfo:
- :path: "./emission/node_modules/@react-native-community/netinfo"
+ :path: "node_modules/@react-native-community/netinfo"
React-RCTActionSheet:
- :path: "./emission/node_modules/react-native/Libraries/ActionSheetIOS"
+ :path: node_modules/react-native/Libraries/ActionSheetIOS
React-RCTAnimation:
- :path: "./emission/node_modules/react-native/Libraries/NativeAnimation"
+ :path: node_modules/react-native/Libraries/NativeAnimation
React-RCTBlob:
- :path: "./emission/node_modules/react-native/Libraries/Blob"
+ :path: node_modules/react-native/Libraries/Blob
React-RCTImage:
- :path: "./emission/node_modules/react-native/Libraries/Image"
+ :path: node_modules/react-native/Libraries/Image
React-RCTLinking:
- :path: "./emission/node_modules/react-native/Libraries/LinkingIOS"
+ :path: node_modules/react-native/Libraries/LinkingIOS
React-RCTNetwork:
- :path: "./emission/node_modules/react-native/Libraries/Network"
+ :path: node_modules/react-native/Libraries/Network
React-RCTSettings:
- :path: "./emission/node_modules/react-native/Libraries/Settings"
+ :path: node_modules/react-native/Libraries/Settings
React-RCTText:
- :path: "./emission/node_modules/react-native/Libraries/Text"
+ :path: node_modules/react-native/Libraries/Text
React-RCTVibration:
- :path: "./emission/node_modules/react-native/Libraries/Vibration"
+ :path: node_modules/react-native/Libraries/Vibration
ReactCommon:
- :path: "./emission/node_modules/react-native/ReactCommon"
+ :path: node_modules/react-native/ReactCommon
RNCAsyncStorage:
- :path: "./emission/node_modules/@react-native-community/async-storage"
+ :path: "node_modules/@react-native-community/async-storage"
RNReanimated:
- :path: "./emission/node_modules/react-native-reanimated"
+ :path: node_modules/react-native-reanimated
RNSVG:
- :path: "./emission/node_modules/react-native-svg"
+ :path: node_modules/react-native-svg
SentryReactNative:
- :path: "./emission/node_modules/react-native-sentry"
+ :path: node_modules/react-native-sentry
SSFadingScrollView:
:branch: add-axial-support
:git: https://github.com/alloy/SSFadingScrollView.git
tipsi-stripe:
- :podspec: "./emission/node_modules/tipsi-stripe/tipsi-stripe.podspec"
+ :podspec: node_modules/tipsi-stripe/tipsi-stripe.podspec
Yoga:
- :path: "./emission/node_modules/react-native/ReactCommon/yoga"
+ :path: node_modules/react-native/ReactCommon/yoga
CHECKOUT OPTIONS:
AFOAuth1Client:
@@ -754,7 +754,7 @@ SPEC CHECKSUMS:
DHCShakeNotifier: 64048427ecaa763f2472d0032f58bf7a10074eee
DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
EDColor: c83f9a61f9f9b3c23d541f1feb561558e29cb088
- Emission: 7657821cbcfd431abaf30c1fa8e1ffec28a7866e
+ Emission: c0d44f4745243b1cfc750f84f30a68714283a5a7
Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe
"Expecta+Snapshots": c343f410c7a6392f3e22e78f94c44b6c0749a516
Extraction: 2be993a17f8f8c4fac988ebecaed93a409181faf
@@ -836,6 +836,6 @@ SPEC CHECKSUMS:
"XCTest+OHHTTPStubSuiteCleanUp": 4469ec8863c6bc022c5089a9b94233eb3416c5ee
Yoga: ba3d99dbee6c15ea6bbe3783d1f0cb1ffb79af0f
-PODFILE CHECKSUM: 2057bdb5dc57363490ad61e40d14bbc9d90c41a0
+PODFILE CHECKSUM: bde362cc9b474c64f2d920484e2086f123a9793a
COCOAPODS: 1.7.5
diff --git a/README.md b/README.md
index 97dffd3ce13..1b774b6e9a1 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,6 @@ bundle exec pod install --repo-update
open Artsy.xcworkspace
# finally start the react-native bundler
-cd emission
yarn start
```
diff --git a/emission/__mocks__/react-relay.js b/__mocks__/react-relay.js
similarity index 100%
rename from emission/__mocks__/react-relay.js
rename to __mocks__/react-relay.js
diff --git a/emission/apollo.config.js b/apollo.config.js
similarity index 100%
rename from emission/apollo.config.js
rename to apollo.config.js
diff --git a/emission/babel.config.js b/babel.config.js
similarity index 100%
rename from emission/babel.config.js
rename to babel.config.js
diff --git a/emission/dangerfile.ts b/dangerfile.ts
similarity index 81%
rename from emission/dangerfile.ts
rename to dangerfile.ts
index 5fe0dc22aff..c4cc77dd92e 100644
--- a/emission/dangerfile.ts
+++ b/dangerfile.ts
@@ -5,9 +5,6 @@ import { danger, fail, markdown, warn } from "danger"
import * as fs from "fs"
import * as path from "path"
-// TODO: after moving emission package.json into eigen repo root, we can remove this
-const qualify = (file: string) => path.join("../", file)
-
// Setup
const pr = danger.github.pr
const bodyAndTitle = (pr.body + pr.title).toLowerCase()
@@ -19,7 +16,7 @@ const typescriptOnly = (file: string) => file.includes(".ts")
const filesOnly = (file: string) => fs.existsSync(file) && fs.lstatSync(file).isFile()
// Modified or Created can be treated the same a lot of the time
-const createdFiles = danger.git.created_files.map(qualify).filter(filesOnly)
+const createdFiles = danger.git.created_files.filter(filesOnly)
const appOnlyFilter = (filename: string) =>
filename.includes("src/lib/") &&
@@ -29,11 +26,6 @@ const appOnlyFilter = (filename: string) =>
const createdAppOnlyFiles = createdFiles.filter(appOnlyFilter)
-// If it's not a branch PR
-if (pr.base.repo.full_name !== pr.head.repo.full_name) {
- warn("This PR comes from a fork, and won't get JS generated for QA testing this PR inside the Emission Example app.")
-}
-
// Check that every file created has a corresponding test file
const correspondingTestsForAppFiles = createdAppOnlyFiles.map(f => {
const newPath = path.dirname(f)
@@ -98,14 +90,3 @@ import jest from "danger-plugin-jest"
if (fs.existsSync("test-results.json")) {
jest({ testResultsJsonPath: "test-results.json" })
}
-
-const AppDelegate = fs.readFileSync("Example/Emission/AppDelegate.m", "utf8")
-if (
- !AppDelegate.includes("static NSString *UserID = nil;") ||
- !AppDelegate.includes("static NSString *UserAccessToken = nil;")
-) {
- fail(
- "Sensitive user credentials have been left in this PR, please remove those and sqaush the commits so no trace " +
- "of them is left behind."
- )
-}
diff --git a/emission/data/cityDataSortedByDisplayPreference.json b/data/cityDataSortedByDisplayPreference.json
similarity index 100%
rename from emission/data/cityDataSortedByDisplayPreference.json
rename to data/cityDataSortedByDisplayPreference.json
diff --git a/emission/data/colors.json b/data/colors.json
similarity index 100%
rename from emission/data/colors.json
rename to data/colors.json
diff --git a/emission/data/complete.queryMap.json b/data/complete.queryMap.json
similarity index 100%
rename from emission/data/complete.queryMap.json
rename to data/complete.queryMap.json
diff --git a/emission/data/schema.graphql b/data/schema.graphql
similarity index 100%
rename from emission/data/schema.graphql
rename to data/schema.graphql
diff --git a/docs/updating_emission.md b/docs/updating_emission.md
deleted file mode 100644
index ca0f4f6104f..00000000000
--- a/docs/updating_emission.md
+++ /dev/null
@@ -1,28 +0,0 @@
-### Updating Emission steps
-
-## Update Eigen with the most recent version of Emission
-
-- [New Emission releases](https://github.com/artsy/emission#deploying-emission) are made after any merged PR.
-- Update Eigen's `Podfile`, specifically the `EMISSION_VERSION` constant near the top. It needs to point to the same version number you want to deploy.
-- Apply the update: `bundle exec pod repo update artsy && bundle exec pod install`. You will see a diff with the new version in `Podfile.lock`.
-- Commit your changes and merge a self assigned PR in Eigen with the updated Emission changes.
-- Once that PR has merged, switch to your master branch, pull the latest changes, and run `make deploy`. This will create a new version of Eigen with the updated Emission package.
-
-## Get Emission's to compile
-
-If it doesn't compile out-right:
-
-- If the error exists inside React: look into what post-install hooks run inside the Emission repo.
-
- E.g. inside [package.json](https://github.com/artsy/emission/blob/master/package.json), [scripts/post\_\*.sh](https://github.com/artsy/emission/tree/master/scripts) and the example [app's Podfile](https://github.com/artsy/emission/blob/master/Example/Podfile). They may need to be applied here.
-
-- If the error exists inside Emission: Look at the Emission test app [AppDelegate](https://github.com/artsy/emission/blob/master/Example/Emission/AppDelegate.m) to see how all of the
- available functions are wired up.
-
-## Get Emission runtime
-
-Does it crash on launch?
-
-- Sometimes the simulator will crash after you've run unit tests in it. Uninstall the app from the simulator to fix the crash.
-- Might need to add new settings to [the `AREmissionConfiguration` object](https://github.com/artsy/emission/blob/master/Pod/Classes/Core/AREmission.h) in Eigen's side. Ideally these should get raised by compiler warnings, but you never know.
-- A native module may have new exposed callbacks which are required to be set up on launch.
diff --git a/docs/using_dev_emission.md b/docs/using_dev_emission.md
deleted file mode 100644
index aae79cd4ea8..00000000000
--- a/docs/using_dev_emission.md
+++ /dev/null
@@ -1,28 +0,0 @@
-## Using Emission via `yarn start` in Emission
-
-When trying to work on some more complex interactions between Emission and Eigen, it can help
-to skip the Emission release setup in favour of having Eigen talk to the React Native server.
-
-You enable this by hitting cmd + alt + z to bring up the Eigen
-admin panel. In here is an option "Use local Emission packager" - select this. What this option
-does is change the path for Emissions' JS from a statically compiled file (which gets shipped with
-the app) to `http://localhost:8081/Example/Emission/index.ios.bundle?platform=ios&dev=true`
-
-This kills the app, open Eigen back up and you should see the green status bar indicating it's compiling
-some Emission dynamically.
-
-Because both Eigen and React Native use the shake gesture, the React Native shake gesture is disabled
-but you can trigger it via the Eigen admin menu.
-
-## Running Objective-C Changes from Emission in Eigen
-
-The above steps only link Eigen to Emission's _JavaScript_. But what if you want to link to Emission's _Objective-C_? Well lucky you, it's very straightforward.
-
-First, follow the steps above so you're running against Emission's RNP. You'll now need to edit Eigen's `Podfile`. Don't commit these changes, they're just for developing. The change will look something like:
-
-```diff
-- pod 'Emission', '~> 1.12'
-+ pod 'Emission', path: '../emission' # Point to the directory where you have Emission cloned.
-```
-
-Now run `bundle exec pod update Emission` from Eigen's directory. This points Eigen to your local Emission. You can open Eigen in Xcode and edit Emission's Objective-C files there – you'll be editing the files in your local Emission clone.
diff --git a/emission/.autorc b/emission/.autorc
deleted file mode 100644
index 5f191f7b186..00000000000
--- a/emission/.autorc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "extends": "@artsy",
-}
diff --git a/emission/.gitignore b/emission/.gitignore
deleted file mode 100644
index c27f981596e..00000000000
--- a/emission/.gitignore
+++ /dev/null
@@ -1,68 +0,0 @@
-# Xcode
-
-## Build generated
-build/
-DerivedData
-dist
-
-## Various settings
-*.pbxuser
-!default.pbxuser
-*.mode1v3
-!default.mode1v3
-*.mode2v3
-!default.mode2v3
-*.perspectivev3
-!default.perspectivev3
-xcuserdata
-
-## Other
-*.xccheckout
-*.moved-aside
-*.xcuserstate
-*.xcscmblueprint
-
-## Obj-C/Swift specific
-*.hmap
-*.ipa
-
-## Playgrounds
-timeline.xctimeline
-playground.xcworkspace
-
-# Custom
-
-.DS_Store
-node_modules
-npm-debug.log
-Artsy-UIFonts/*
-Example/Pods/*
-Example/vendor/*
-Example/compile_commands.json
-Example/Emission/Configuration.h
-.vscode/launchReactNative.js
-.vscode/.react/
-.vscode/typings
-.apphub
-coverage
-package-lock.json
-yarn-error.log
-.awcache
-
-# Use a custom, cached location for Jest to save transpiling
-# on every PR
-.jest/cache
-
-# Danger artifacts
-tslint-errors.json
-
-# Haul
-#
-haul-debug.log
-.happypack
-test-results.json
-head_metadata.json
-.vscode/*.sql
-
-# TypeScript Logs
-tsc_raw.log
diff --git a/emission/.storybook/webpack.config.js b/emission/.storybook/webpack.config.js
deleted file mode 100644
index 8d3eb506af8..00000000000
--- a/emission/.storybook/webpack.config.js
+++ /dev/null
@@ -1,30 +0,0 @@
-const path = require("path");
-const webpack = require("webpack");
-
-const {
- OccurenceOrderPlugin,
- includePaths,
- excludePaths
-} = require("@storybook/react-native/dist/server/config/utils");
-
-module.exports = {
- devtool: "#inline-source-map", // Otherwise getting errors about e.g. `Relay` not being defined.
- resolve: {
- extensions: [".js", ".jsx", ".ts", ".tsx"]
- },
- module: {
- loaders: [
- {
- test: /\.tsx?$/,
- exclude: /node_modules/,
- loaders: [
- "awesome-typescript-loader?configFileName=./tsconfig.json&silent=true&transpileOnly=true&target=es6&useBabel=true&useCache=true"
- ]
- }
- ]
- },
- plugins: [
- new OccurenceOrderPlugin(),
- new webpack.HotModuleReplacementPlugin()
- ]
-};
diff --git a/emission/.vscode/extensions.json b/emission/.vscode/extensions.json
deleted file mode 100644
index 481087fedef..00000000000
--- a/emission/.vscode/extensions.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "recommendations": ["artsy.artsy-studio-extension-pack"],
- "unwantedRecommendations": ["prisma.vscode-graphql"]
-}
diff --git a/emission/Emission.podspec b/emission/Emission.podspec
index 1af9c78a8d3..afe6cadb2d5 100644
--- a/emission/Emission.podspec
+++ b/emission/Emission.podspec
@@ -1,7 +1,7 @@
require 'json'
require 'date'
-root = ENV['EMISSION_ROOT'] || __dir__
+root = ENV['EMISSION_ROOT'] || File.join(__dir__, '../')
pkg_version = lambda do |dir_from_root = '', version = 'version'|
path = File.join(root, dir_from_root, 'package.json')
JSON.load(File.read(path))[version]
@@ -58,21 +58,21 @@ podspec = Pod::Spec.new do |s|
# React's Dependencies
# s.dependency 'Yoga', "#{react_native_version}.React"
react_podspecs = [
- 'node_modules/react-native/third-party-podspecs/DoubleConversion.podspec',
- 'node_modules/react-native/third-party-podspecs/Folly.podspec',
- 'node_modules/react-native/third-party-podspecs/glog.podspec'
+ '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec',
+ '../node_modules/react-native/third-party-podspecs/Folly.podspec',
+ '../node_modules/react-native/third-party-podspecs/glog.podspec'
]
# Native dependencies of Emission, which come from node_modules
dep_podspecs = [
- 'node_modules/tipsi-stripe/tipsi-stripe.podspec',
- 'node_modules/@mapbox/react-native-mapbox-gl/react-native-mapbox-gl.podspec',
- 'node_modules/react-native-sentry/SentryReactNative.podspec',
- 'node_modules/react-native-svg/RNSVG.podspec',
- 'node_modules/react-native-navigator-ios/react-native-navigator-ios.podspec',
- 'node_modules/@react-native-community/cameraroll/react-native-cameraroll.podspec',
- 'node_modules/@react-native-community/netinfo/react-native-netinfo.podspec',
- 'node_modules/@react-native-community/geolocation/react-native-geolocation.podspec'
+ '../node_modules/tipsi-stripe/tipsi-stripe.podspec',
+ '../node_modules/@mapbox/react-native-mapbox-gl/react-native-mapbox-gl.podspec',
+ '../node_modules/react-native-sentry/SentryReactNative.podspec',
+ '../node_modules/react-native-svg/RNSVG.podspec',
+ '../node_modules/react-native-navigator-ios/react-native-navigator-ios.podspec',
+ '../node_modules/@react-native-community/cameraroll/react-native-cameraroll.podspec',
+ '../node_modules/@react-native-community/netinfo/react-native-netinfo.podspec',
+ '../node_modules/@react-native-community/geolocation/react-native-geolocation.podspec'
]
# Ties the exact versions so host apps don't need to guess the version
diff --git a/emission/Example/.ruby-version b/emission/Example/.ruby-version
deleted file mode 100644
index ec1cf33c3f6..00000000000
--- a/emission/Example/.ruby-version
+++ /dev/null
@@ -1 +0,0 @@
-2.6.3
diff --git a/emission/Example/Emission.xcodeproj/project.pbxproj b/emission/Example/Emission.xcodeproj/project.pbxproj
deleted file mode 100644
index f3c50611f26..00000000000
--- a/emission/Example/Emission.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,1219 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- 34C566E6214C4AAA00479C22 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34C566E5214C4AAA00479C22 /* AVFoundation.framework */; };
- 3A484741223AC736002E657B /* docs in Resources */ = {isa = PBXBuildFile; fileRef = 3A484740223AC736002E657B /* docs */; };
- 3A7D41FE213F3CAD009618F5 /* ARLabOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A7D41FC213F3CAC009618F5 /* ARLabOptions.m */; };
- 3ACAE7B922258EAD009C2236 /* ARAdminSentryBreadcrumbViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3ACAE7B722258EAD009C2236 /* ARAdminSentryBreadcrumbViewController.m */; };
- 402D55D24FAA1BC36FB4ED85 /* libPods-Emission.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B53B6F10A80F64A976B9F221 /* libPods-Emission.a */; };
- 510DCB121CCA69EC0075E8CB /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 510DCB111CCA69EC0075E8CB /* main.m */; };
- 510DCB151CCA69EC0075E8CB /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 510DCB141CCA69EC0075E8CB /* AppDelegate.m */; };
- 510DCB1D1CCA69EC0075E8CB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 510DCB1C1CCA69EC0075E8CB /* Assets.xcassets */; };
- 510DCB2B1CCA69EC0075E8CB /* OpaqueImageViewComponentTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 510DCB2A1CCA69EC0075E8CB /* OpaqueImageViewComponentTests.m */; };
- 510DCB361CCA69EC0075E8CB /* EmissionUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 510DCB351CCA69EC0075E8CB /* EmissionUITests.m */; };
- 510E94FD1CCA828900BDF098 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 510E94FB1CCA828900BDF098 /* LaunchScreen.xib */; };
- 510E95141CCEB84F00BDF098 /* TestHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 510E95131CCEB84F00BDF098 /* TestHelper.m */; };
- 515687BE2079A300002F365C /* ARAdminPreloadTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 515687BD2079A300002F365C /* ARAdminPreloadTableViewCell.m */; };
- 515926A8206BA0C000048C74 /* complete.queryMap.json in Resources */ = {isa = PBXBuildFile; fileRef = 515926A7206BA0C000048C74 /* complete.queryMap.json */; };
- 515926AE206CF8BA00048C74 /* UITabBarDownloadsTemplate@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 515926AD206CF8B900048C74 /* UITabBarDownloadsTemplate@2x.png */; };
- 51F3E9A41CF3B8A4004A2013 /* EigenLikeNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 51F3E9A31CF3B8A4004A2013 /* EigenLikeNavigationController.m */; };
- 5E09C96B21E7B46B00207812 /* RCTTestModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E09C96621E7B46B00207812 /* RCTTestModule.m */; };
- 5E09C96C21E7B46B00207812 /* RCTSnapshotManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E09C96921E7B46B00207812 /* RCTSnapshotManager.m */; };
- 5E09C96D21E7B46B00207812 /* RCTTestRunner.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E09C96A21E7B46B00207812 /* RCTTestRunner.m */; };
- 6011C23B1DAF5DD900CE54E5 /* ARRootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6011C23A1DAF5DD900CE54E5 /* ARRootViewController.m */; };
- 6011C2451DAF61AF00CE54E5 /* ARAdminTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 6011C23E1DAF61AF00CE54E5 /* ARAdminTableViewCell.m */; };
- 6011C2461DAF61AF00CE54E5 /* ARTickedTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 6011C2401DAF61AF00CE54E5 /* ARTickedTableViewCell.m */; };
- 6011C2471DAF61AF00CE54E5 /* ARAnimatedTickView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6011C2421DAF61AF00CE54E5 /* ARAnimatedTickView.m */; };
- 6011C24B1DAF63C000CE54E5 /* ARDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 6011C24A1DAF63C000CE54E5 /* ARDefaults.m */; };
- 6011C24E1DAF697B00CE54E5 /* EigenLikeAdminViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6011C24D1DAF697B00CE54E5 /* EigenLikeAdminViewController.m */; };
- 6011C2511DAF7B6D00CE54E5 /* UnroutedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6011C2501DAF7B6D00CE54E5 /* UnroutedViewController.m */; };
- 6011C2561DAF835900CE54E5 /* logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6011C2551DAF835900CE54E5 /* logo@2x.png */; };
- 60218E2920168D4E00A6C66B /* ARTopMenuViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 60218E2820168D4E00A6C66B /* ARTopMenuViewController.m */; };
- 608A60D61F75614700B6EF83 /* AppSetup.m in Sources */ = {isa = PBXBuildFile; fileRef = 608A60D51F75614700B6EF83 /* AppSetup.m */; };
- 60A1A77E1DA3A23C005E3357 /* BackArrow@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 60A1A77B1DA3A23C005E3357 /* BackArrow@2x.png */; };
- 60A1A77F1DA3A23C005E3357 /* BackArrow_Highlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 60A1A77C1DA3A23C005E3357 /* BackArrow_Highlighted@2x.png */; };
- 60A1A7801DA3A23C005E3357 /* BackArrowBlack@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 60A1A77D1DA3A23C005E3357 /* BackArrowBlack@2x.png */; };
- 60AEE7A01ECC6237008058E3 /* NSDateFormatter+TimeAgo.m in Sources */ = {isa = PBXBuildFile; fileRef = 60AEE79F1ECC6237008058E3 /* NSDateFormatter+TimeAgo.m */; };
- 60B743B71D3EB12600E6B2A3 /* ARStorybookComponentViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 60B743B61D3EB12600E6B2A3 /* ARStorybookComponentViewController.m */; };
- 60E4ABF71EE7D85000E8C3B1 /* LoadingSpinner.m in Sources */ = {isa = PBXBuildFile; fileRef = 60E4ABF61EE7D85000E8C3B1 /* LoadingSpinner.m */; };
- 60EDA5731F4B2944007A6100 /* InternalWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 60EDA5721F4B2944007A6100 /* InternalWebViewController.m */; };
- 60F61A8B1DAF982B00A72101 /* AuthenticationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 60F61A8A1DAF982B00A72101 /* AuthenticationManager.m */; };
- 7F4FEE4321A36F7F00B8766A /* Back@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7F4FEE4021A36F7E00B8766A /* Back@2x.png */; };
- 7F4FEE4421A36F7F00B8766A /* Back.png in Resources */ = {isa = PBXBuildFile; fileRef = 7F4FEE4121A36F7E00B8766A /* Back.png */; };
- 7F4FEE4521A36F7F00B8766A /* Back@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7F4FEE4221A36F7F00B8766A /* Back@3x.png */; };
- 7F6D717721CAA82D001BC122 /* Placeholder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F6D717621CAA82D001BC122 /* Placeholder.swift */; };
- DC0E8A345456472B4B0828A5 /* libPods-EmissionTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C4F07E47A447A6BE9EE66978 /* libPods-EmissionTests.a */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
- 510DCB271CCA69EC0075E8CB /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 607FACC81AFB9204008FA782 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 510DCB0D1CCA69EC0075E8CB;
- remoteInfo = Emission;
- };
- 510DCB321CCA69EC0075E8CB /* PBXContainerItemProxy */ = {
- isa = PBXContainerItemProxy;
- containerPortal = 607FACC81AFB9204008FA782 /* Project object */;
- proxyType = 1;
- remoteGlobalIDString = 510DCB0D1CCA69EC0075E8CB;
- remoteInfo = Emission;
- };
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
- 02E9860078C8122DA3D55F0F /* Pods-Emission.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Emission.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Emission/Pods-Emission.debug.xcconfig"; sourceTree = ""; };
- 163341760E6AD3C2BD2501B6 /* Pods-Emission.deploy.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Emission.deploy.xcconfig"; path = "Pods/Target Support Files/Pods-Emission/Pods-Emission.deploy.xcconfig"; sourceTree = ""; };
- 17DDC2B5E27740D462B9B1E4 /* Pods-EmissionTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-EmissionTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-EmissionTests/Pods-EmissionTests.debug.xcconfig"; sourceTree = ""; };
- 34C566E5214C4AAA00479C22 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
- 3A484740223AC736002E657B /* docs */ = {isa = PBXFileReference; lastKnownFileType = folder; name = docs; path = ../docs; sourceTree = ""; };
- 3A7D41FC213F3CAC009618F5 /* ARLabOptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARLabOptions.m; sourceTree = ""; };
- 3A7D41FD213F3CAD009618F5 /* ARLabOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARLabOptions.h; sourceTree = ""; };
- 3ACAE7B722258EAD009C2236 /* ARAdminSentryBreadcrumbViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARAdminSentryBreadcrumbViewController.m; sourceTree = ""; };
- 3ACAE7B822258EAD009C2236 /* ARAdminSentryBreadcrumbViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARAdminSentryBreadcrumbViewController.h; sourceTree = ""; };
- 3CA8129D4B3357E4EDA54CF0 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; };
- 510DCB0E1CCA69EC0075E8CB /* Emission.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Emission.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 510DCB111CCA69EC0075E8CB /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- 510DCB131CCA69EC0075E8CB /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
- 510DCB141CCA69EC0075E8CB /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
- 510DCB1C1CCA69EC0075E8CB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
- 510DCB211CCA69EC0075E8CB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 510DCB261CCA69EC0075E8CB /* EmissionTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EmissionTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
- 510DCB2A1CCA69EC0075E8CB /* OpaqueImageViewComponentTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OpaqueImageViewComponentTests.m; sourceTree = ""; };
- 510DCB2C1CCA69EC0075E8CB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 510DCB311CCA69EC0075E8CB /* EmissionUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EmissionUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
- 510DCB351CCA69EC0075E8CB /* EmissionUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EmissionUITests.m; sourceTree = ""; };
- 510DCB371CCA69ED0075E8CB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 510E94FC1CCA828900BDF098 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
- 510E95131CCEB84F00BDF098 /* TestHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestHelper.m; sourceTree = ""; };
- 510E95151CCEC22C00BDF098 /* TestHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestHelper.h; sourceTree = ""; };
- 515687BC2079A300002F365C /* ARAdminPreloadTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARAdminPreloadTableViewCell.h; sourceTree = ""; };
- 515687BD2079A300002F365C /* ARAdminPreloadTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARAdminPreloadTableViewCell.m; sourceTree = ""; };
- 515926A7206BA0C000048C74 /* complete.queryMap.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = complete.queryMap.json; path = ../../data/complete.queryMap.json; sourceTree = ""; };
- 515926AD206CF8B900048C74 /* UITabBarDownloadsTemplate@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "UITabBarDownloadsTemplate@2x.png"; sourceTree = ""; };
- 51F3E9A21CF3B8A4004A2013 /* EigenLikeNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EigenLikeNavigationController.h; sourceTree = ""; };
- 51F3E9A31CF3B8A4004A2013 /* EigenLikeNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EigenLikeNavigationController.m; sourceTree = ""; };
- 5D75FFB0E282ED7DB0B9141E /* Pods-EmissionTests.deploy.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-EmissionTests.deploy.xcconfig"; path = "Pods/Target Support Files/Pods-EmissionTests/Pods-EmissionTests.deploy.xcconfig"; sourceTree = ""; };
- 5E09C96521E7B46B00207812 /* RCTSnapshotManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTSnapshotManager.h; sourceTree = ""; };
- 5E09C96621E7B46B00207812 /* RCTTestModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTTestModule.m; sourceTree = ""; };
- 5E09C96721E7B46B00207812 /* RCTTestModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTTestModule.h; sourceTree = ""; };
- 5E09C96821E7B46B00207812 /* RCTTestRunner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTTestRunner.h; sourceTree = ""; };
- 5E09C96921E7B46B00207812 /* RCTSnapshotManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTSnapshotManager.m; sourceTree = ""; };
- 5E09C96A21E7B46B00207812 /* RCTTestRunner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTTestRunner.m; sourceTree = ""; };
- 6011C2391DAF5DD900CE54E5 /* ARRootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARRootViewController.h; sourceTree = ""; };
- 6011C23A1DAF5DD900CE54E5 /* ARRootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARRootViewController.m; sourceTree = ""; };
- 6011C23D1DAF61AF00CE54E5 /* ARAdminTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAdminTableViewCell.h; sourceTree = ""; };
- 6011C23E1DAF61AF00CE54E5 /* ARAdminTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAdminTableViewCell.m; sourceTree = ""; };
- 6011C23F1DAF61AF00CE54E5 /* ARTickedTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARTickedTableViewCell.h; sourceTree = ""; };
- 6011C2401DAF61AF00CE54E5 /* ARTickedTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARTickedTableViewCell.m; sourceTree = ""; };
- 6011C2411DAF61AF00CE54E5 /* ARAnimatedTickView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARAnimatedTickView.h; sourceTree = ""; };
- 6011C2421DAF61AF00CE54E5 /* ARAnimatedTickView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARAnimatedTickView.m; sourceTree = ""; };
- 6011C2491DAF63C000CE54E5 /* ARDefaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARDefaults.h; sourceTree = ""; };
- 6011C24A1DAF63C000CE54E5 /* ARDefaults.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARDefaults.m; sourceTree = ""; };
- 6011C24C1DAF697B00CE54E5 /* EigenLikeAdminViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EigenLikeAdminViewController.h; sourceTree = ""; };
- 6011C24D1DAF697B00CE54E5 /* EigenLikeAdminViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EigenLikeAdminViewController.m; sourceTree = ""; };
- 6011C24F1DAF7B6D00CE54E5 /* UnroutedViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UnroutedViewController.h; sourceTree = ""; };
- 6011C2501DAF7B6D00CE54E5 /* UnroutedViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UnroutedViewController.m; sourceTree = ""; };
- 6011C2551DAF835900CE54E5 /* logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "logo@2x.png"; sourceTree = ""; };
- 60204ADD1D9D590900204628 /* Emission.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Emission.entitlements; sourceTree = ""; };
- 60218E2720168D4E00A6C66B /* ARTopMenuViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARTopMenuViewController.h; sourceTree = ""; };
- 60218E2820168D4E00A6C66B /* ARTopMenuViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ARTopMenuViewController.m; sourceTree = ""; };
- 607673A21ECC4C9F005848B5 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
- 6077F28F1EE56723004F054D /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = CHANGELOG.md; path = ../CHANGELOG.md; sourceTree = ""; };
- 608A60D41F75614700B6EF83 /* AppSetup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppSetup.h; sourceTree = ""; };
- 608A60D51F75614700B6EF83 /* AppSetup.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppSetup.m; sourceTree = ""; };
- 608C6DB91FA263290044E235 /* CommitNetworkModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CommitNetworkModel.h; sourceTree = ""; };
- 608C6DBA1FA263290044E235 /* CommitNetworkModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CommitNetworkModel.m; sourceTree = ""; };
- 60A1A77B1DA3A23C005E3357 /* BackArrow@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BackArrow@2x.png"; sourceTree = ""; };
- 60A1A77C1DA3A23C005E3357 /* BackArrow_Highlighted@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BackArrow_Highlighted@2x.png"; sourceTree = ""; };
- 60A1A77D1DA3A23C005E3357 /* BackArrowBlack@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "BackArrowBlack@2x.png"; sourceTree = ""; };
- 60A1A7841DA3A879005E3357 /* ARMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ARMacros.h; sourceTree = ""; };
- 60AE1D7E1EE7DF9C00FC800A /* PRNetworkModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PRNetworkModel.h; sourceTree = ""; };
- 60AE1D7F1EE7DF9C00FC800A /* PRNetworkModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PRNetworkModel.m; sourceTree = ""; };
- 60AEE79E1ECC6237008058E3 /* NSDateFormatter+TimeAgo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDateFormatter+TimeAgo.h"; sourceTree = ""; };
- 60AEE79F1ECC6237008058E3 /* NSDateFormatter+TimeAgo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDateFormatter+TimeAgo.m"; sourceTree = ""; };
- 60B743B51D3EB12600E6B2A3 /* ARStorybookComponentViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARStorybookComponentViewController.h; sourceTree = ""; };
- 60B743B61D3EB12600E6B2A3 /* ARStorybookComponentViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ARStorybookComponentViewController.m; sourceTree = ""; };
- 60E4ABF51EE7D85000E8C3B1 /* LoadingSpinner.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoadingSpinner.h; sourceTree = ""; };
- 60E4ABF61EE7D85000E8C3B1 /* LoadingSpinner.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LoadingSpinner.m; sourceTree = ""; };
- 60EDA5711F4B2944007A6100 /* InternalWebViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InternalWebViewController.h; sourceTree = ""; };
- 60EDA5721F4B2944007A6100 /* InternalWebViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = InternalWebViewController.m; sourceTree = ""; };
- 60F61A891DAF982A00A72101 /* AuthenticationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuthenticationManager.h; sourceTree = ""; };
- 60F61A8A1DAF982B00A72101 /* AuthenticationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AuthenticationManager.m; sourceTree = ""; };
- 7F4FEE4021A36F7E00B8766A /* Back@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Back@2x.png"; sourceTree = ""; };
- 7F4FEE4121A36F7E00B8766A /* Back.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Back.png; sourceTree = ""; };
- 7F4FEE4221A36F7F00B8766A /* Back@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Back@3x.png"; sourceTree = ""; };
- 7F6D717621CAA82D001BC122 /* Placeholder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Placeholder.swift; sourceTree = ""; };
- 9AB72C7CDF8351EF0ADB2E4D /* Pods-Emission.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Emission.release.xcconfig"; path = "Pods/Target Support Files/Pods-Emission/Pods-Emission.release.xcconfig"; sourceTree = ""; };
- B53B6F10A80F64A976B9F221 /* libPods-Emission.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Emission.a"; sourceTree = BUILT_PRODUCTS_DIR; };
- BD6A42932C7B5D57AE022D1A /* Emission.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Emission.podspec; path = ../Emission.podspec; sourceTree = ""; };
- C4F07E47A447A6BE9EE66978 /* libPods-EmissionTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-EmissionTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
- DB1BB078CB1708CE8106DA15 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; };
- E347387A62A41620FEED9427 /* Pods-EmissionTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-EmissionTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-EmissionTests/Pods-EmissionTests.release.xcconfig"; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 510DCB0B1CCA69EC0075E8CB /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 34C566E6214C4AAA00479C22 /* AVFoundation.framework in Frameworks */,
- 402D55D24FAA1BC36FB4ED85 /* libPods-Emission.a in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 510DCB231CCA69EC0075E8CB /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- DC0E8A345456472B4B0828A5 /* libPods-EmissionTests.a in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 510DCB2E1CCA69EC0075E8CB /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 510DCB0F1CCA69EC0075E8CB /* Emission */ = {
- isa = PBXGroup;
- children = (
- 515926AC206CF8B900048C74 /* Resources */,
- 60F61A881DAF849700A72101 /* App */,
- 60AEE79D1ECC620F008058E3 /* Categories */,
- 60F61A871DAF848E00A72101 /* View Controllers */,
- 6011C2521DAF7EF600CE54E5 /* Launch */,
- 6011C23C1DAF619700CE54E5 /* Admin Tableview Cells */,
- 60D3D56D1D42532600A15671 /* Navigation */,
- 60D3D56C1D42531200A15671 /* Storybooks */,
- 510DCB101CCA69EC0075E8CB /* Supporting Files */,
- );
- path = Emission;
- sourceTree = "";
- };
- 510DCB101CCA69EC0075E8CB /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- 60204ADD1D9D590900204628 /* Emission.entitlements */,
- 510DCB1C1CCA69EC0075E8CB /* Assets.xcassets */,
- 510DCB211CCA69EC0075E8CB /* Info.plist */,
- 510DCB111CCA69EC0075E8CB /* main.m */,
- );
- name = "Supporting Files";
- sourceTree = "";
- };
- 510DCB291CCA69EC0075E8CB /* EmissionTests */ = {
- isa = PBXGroup;
- children = (
- 5E09C95221E7A0D500207812 /* RCTTest */,
- 510DCB2A1CCA69EC0075E8CB /* OpaqueImageViewComponentTests.m */,
- 510DCB2C1CCA69EC0075E8CB /* Info.plist */,
- 510E95151CCEC22C00BDF098 /* TestHelper.h */,
- 510E95131CCEB84F00BDF098 /* TestHelper.m */,
- );
- path = EmissionTests;
- sourceTree = "";
- };
- 510DCB341CCA69EC0075E8CB /* EmissionUITests */ = {
- isa = PBXGroup;
- children = (
- 510DCB351CCA69EC0075E8CB /* EmissionUITests.m */,
- 510DCB371CCA69ED0075E8CB /* Info.plist */,
- );
- path = EmissionUITests;
- sourceTree = "";
- };
- 515926AC206CF8B900048C74 /* Resources */ = {
- isa = PBXGroup;
- children = (
- 515926A7206BA0C000048C74 /* complete.queryMap.json */,
- 515926AD206CF8B900048C74 /* UITabBarDownloadsTemplate@2x.png */,
- );
- path = Resources;
- sourceTree = SOURCE_ROOT;
- };
- 5E09C95221E7A0D500207812 /* RCTTest */ = {
- isa = PBXGroup;
- children = (
- 5E09C96521E7B46B00207812 /* RCTSnapshotManager.h */,
- 5E09C96921E7B46B00207812 /* RCTSnapshotManager.m */,
- 5E09C96721E7B46B00207812 /* RCTTestModule.h */,
- 5E09C96621E7B46B00207812 /* RCTTestModule.m */,
- 5E09C96821E7B46B00207812 /* RCTTestRunner.h */,
- 5E09C96A21E7B46B00207812 /* RCTTestRunner.m */,
- );
- path = RCTTest;
- sourceTree = "";
- };
- 6011C23C1DAF619700CE54E5 /* Admin Tableview Cells */ = {
- isa = PBXGroup;
- children = (
- 6011C23D1DAF61AF00CE54E5 /* ARAdminTableViewCell.h */,
- 6011C23E1DAF61AF00CE54E5 /* ARAdminTableViewCell.m */,
- 6011C23F1DAF61AF00CE54E5 /* ARTickedTableViewCell.h */,
- 6011C2401DAF61AF00CE54E5 /* ARTickedTableViewCell.m */,
- 6011C2411DAF61AF00CE54E5 /* ARAnimatedTickView.h */,
- 6011C2421DAF61AF00CE54E5 /* ARAnimatedTickView.m */,
- 6011C24C1DAF697B00CE54E5 /* EigenLikeAdminViewController.h */,
- 6011C24D1DAF697B00CE54E5 /* EigenLikeAdminViewController.m */,
- 515687BC2079A300002F365C /* ARAdminPreloadTableViewCell.h */,
- 515687BD2079A300002F365C /* ARAdminPreloadTableViewCell.m */,
- );
- name = "Admin Tableview Cells";
- sourceTree = "";
- };
- 6011C2521DAF7EF600CE54E5 /* Launch */ = {
- isa = PBXGroup;
- children = (
- 6011C2551DAF835900CE54E5 /* logo@2x.png */,
- 510E94FB1CCA828900BDF098 /* LaunchScreen.xib */,
- );
- name = Launch;
- sourceTree = "";
- };
- 607FACC71AFB9204008FA782 = {
- isa = PBXGroup;
- children = (
- 3A484740223AC736002E657B /* docs */,
- 607FACF51AFB993E008FA782 /* Podspec Metadata */,
- 510DCB0F1CCA69EC0075E8CB /* Emission */,
- 510DCB291CCA69EC0075E8CB /* EmissionTests */,
- 510DCB341CCA69EC0075E8CB /* EmissionUITests */,
- 607FACD11AFB9204008FA782 /* Products */,
- A8456AA0E39F581C091B5C1D /* Frameworks */,
- BA58B07A6BE3C2C396F4F73F /* Pods */,
- );
- indentWidth = 2;
- sourceTree = "";
- tabWidth = 2;
- };
- 607FACD11AFB9204008FA782 /* Products */ = {
- isa = PBXGroup;
- children = (
- 510DCB0E1CCA69EC0075E8CB /* Emission.app */,
- 510DCB261CCA69EC0075E8CB /* EmissionTests.xctest */,
- 510DCB311CCA69EC0075E8CB /* EmissionUITests.xctest */,
- );
- name = Products;
- sourceTree = "";
- };
- 607FACF51AFB993E008FA782 /* Podspec Metadata */ = {
- isa = PBXGroup;
- children = (
- 6077F28F1EE56723004F054D /* CHANGELOG.md */,
- BD6A42932C7B5D57AE022D1A /* Emission.podspec */,
- 3CA8129D4B3357E4EDA54CF0 /* README.md */,
- DB1BB078CB1708CE8106DA15 /* LICENSE */,
- );
- name = "Podspec Metadata";
- sourceTree = "";
- };
- 60A1A77A1DA3A230005E3357 /* Resources */ = {
- isa = PBXGroup;
- children = (
- 60A1A77B1DA3A23C005E3357 /* BackArrow@2x.png */,
- 60A1A77C1DA3A23C005E3357 /* BackArrow_Highlighted@2x.png */,
- 60A1A77D1DA3A23C005E3357 /* BackArrowBlack@2x.png */,
- 7F4FEE4121A36F7E00B8766A /* Back.png */,
- 7F4FEE4021A36F7E00B8766A /* Back@2x.png */,
- 7F4FEE4221A36F7F00B8766A /* Back@3x.png */,
- );
- name = Resources;
- sourceTree = "";
- };
- 60AEE79D1ECC620F008058E3 /* Categories */ = {
- isa = PBXGroup;
- children = (
- 60AEE79E1ECC6237008058E3 /* NSDateFormatter+TimeAgo.h */,
- 60AEE79F1ECC6237008058E3 /* NSDateFormatter+TimeAgo.m */,
- );
- name = Categories;
- sourceTree = "";
- };
- 60D3D56C1D42531200A15671 /* Storybooks */ = {
- isa = PBXGroup;
- children = (
- 60B743B51D3EB12600E6B2A3 /* ARStorybookComponentViewController.h */,
- 60B743B61D3EB12600E6B2A3 /* ARStorybookComponentViewController.m */,
- );
- name = Storybooks;
- sourceTree = "";
- };
- 60D3D56D1D42532600A15671 /* Navigation */ = {
- isa = PBXGroup;
- children = (
- 60A1A77A1DA3A230005E3357 /* Resources */,
- 51F3E9A21CF3B8A4004A2013 /* EigenLikeNavigationController.h */,
- 51F3E9A31CF3B8A4004A2013 /* EigenLikeNavigationController.m */,
- 60218E2720168D4E00A6C66B /* ARTopMenuViewController.h */,
- 60218E2820168D4E00A6C66B /* ARTopMenuViewController.m */,
- );
- name = Navigation;
- sourceTree = "";
- };
- 60F61A871DAF848E00A72101 /* View Controllers */ = {
- isa = PBXGroup;
- children = (
- 3ACAE7B822258EAD009C2236 /* ARAdminSentryBreadcrumbViewController.h */,
- 3ACAE7B722258EAD009C2236 /* ARAdminSentryBreadcrumbViewController.m */,
- 6011C2391DAF5DD900CE54E5 /* ARRootViewController.h */,
- 6011C23A1DAF5DD900CE54E5 /* ARRootViewController.m */,
- 6011C24F1DAF7B6D00CE54E5 /* UnroutedViewController.h */,
- 6011C2501DAF7B6D00CE54E5 /* UnroutedViewController.m */,
- 60EDA5711F4B2944007A6100 /* InternalWebViewController.h */,
- 60EDA5721F4B2944007A6100 /* InternalWebViewController.m */,
- 7F6D717621CAA82D001BC122 /* Placeholder.swift */,
- );
- name = "View Controllers";
- sourceTree = "";
- };
- 60F61A881DAF849700A72101 /* App */ = {
- isa = PBXGroup;
- children = (
- 510DCB131CCA69EC0075E8CB /* AppDelegate.h */,
- 510DCB141CCA69EC0075E8CB /* AppDelegate.m */,
- 608A60D41F75614700B6EF83 /* AppSetup.h */,
- 608A60D51F75614700B6EF83 /* AppSetup.m */,
- 6011C2491DAF63C000CE54E5 /* ARDefaults.h */,
- 6011C24A1DAF63C000CE54E5 /* ARDefaults.m */,
- 3A7D41FD213F3CAD009618F5 /* ARLabOptions.h */,
- 3A7D41FC213F3CAC009618F5 /* ARLabOptions.m */,
- 60A1A7841DA3A879005E3357 /* ARMacros.h */,
- 60F61A891DAF982A00A72101 /* AuthenticationManager.h */,
- 60F61A8A1DAF982B00A72101 /* AuthenticationManager.m */,
- 608C6DB91FA263290044E235 /* CommitNetworkModel.h */,
- 608C6DBA1FA263290044E235 /* CommitNetworkModel.m */,
- 60E4ABF51EE7D85000E8C3B1 /* LoadingSpinner.h */,
- 60E4ABF61EE7D85000E8C3B1 /* LoadingSpinner.m */,
- 60AE1D7E1EE7DF9C00FC800A /* PRNetworkModel.h */,
- 60AE1D7F1EE7DF9C00FC800A /* PRNetworkModel.m */,
- );
- name = App;
- sourceTree = "";
- };
- A8456AA0E39F581C091B5C1D /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- 34C566E5214C4AAA00479C22 /* AVFoundation.framework */,
- 607673A21ECC4C9F005848B5 /* XCTest.framework */,
- B53B6F10A80F64A976B9F221 /* libPods-Emission.a */,
- C4F07E47A447A6BE9EE66978 /* libPods-EmissionTests.a */,
- );
- name = Frameworks;
- sourceTree = "";
- };
- BA58B07A6BE3C2C396F4F73F /* Pods */ = {
- isa = PBXGroup;
- children = (
- 02E9860078C8122DA3D55F0F /* Pods-Emission.debug.xcconfig */,
- 9AB72C7CDF8351EF0ADB2E4D /* Pods-Emission.release.xcconfig */,
- 163341760E6AD3C2BD2501B6 /* Pods-Emission.deploy.xcconfig */,
- 17DDC2B5E27740D462B9B1E4 /* Pods-EmissionTests.debug.xcconfig */,
- 5D75FFB0E282ED7DB0B9141E /* Pods-EmissionTests.deploy.xcconfig */,
- E347387A62A41620FEED9427 /* Pods-EmissionTests.release.xcconfig */,
- );
- name = Pods;
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 510DCB0D1CCA69EC0075E8CB /* Emission */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 510DCB3E1CCA69ED0075E8CB /* Build configuration list for PBXNativeTarget "Emission" */;
- buildPhases = (
- 6E41E6A6664172F7C45F3D36 /* [CP] Check Pods Manifest.lock */,
- 510DCB0A1CCA69EC0075E8CB /* Sources */,
- 510DCB0B1CCA69EC0075E8CB /* Frameworks */,
- 513510561DAFBBB9007223BF /* Compile JS Bundle for Release */,
- 5157C2E92018C82400DE6B07 /* Record Packager Host IP for Debug */,
- 510DCB0C1CCA69EC0075E8CB /* Resources */,
- 510E94FE1CCB87F100BDF098 /* Create Clang compilation DB */,
- 3531E0CB4D0C66204FFF9D4A /* [CP] Copy Pods Resources */,
- 3CB362FC55CDD77CDAA5F2C2 /* [CP] Embed Pods Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = Emission;
- productName = Emission;
- productReference = 510DCB0E1CCA69EC0075E8CB /* Emission.app */;
- productType = "com.apple.product-type.application";
- };
- 510DCB251CCA69EC0075E8CB /* EmissionTests */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 510DCB3F1CCA69ED0075E8CB /* Build configuration list for PBXNativeTarget "EmissionTests" */;
- buildPhases = (
- 26CA73EDB939BB2466B1F25A /* [CP] Check Pods Manifest.lock */,
- 510DCB221CCA69EC0075E8CB /* Sources */,
- 510DCB231CCA69EC0075E8CB /* Frameworks */,
- 510DCB241CCA69EC0075E8CB /* Resources */,
- );
- buildRules = (
- );
- dependencies = (
- 510DCB281CCA69EC0075E8CB /* PBXTargetDependency */,
- );
- name = EmissionTests;
- productName = EmissionTests;
- productReference = 510DCB261CCA69EC0075E8CB /* EmissionTests.xctest */;
- productType = "com.apple.product-type.bundle.unit-test";
- };
- 510DCB301CCA69EC0075E8CB /* EmissionUITests */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 510DCB401CCA69ED0075E8CB /* Build configuration list for PBXNativeTarget "EmissionUITests" */;
- buildPhases = (
- 510DCB2D1CCA69EC0075E8CB /* Sources */,
- 510DCB2E1CCA69EC0075E8CB /* Frameworks */,
- 510DCB2F1CCA69EC0075E8CB /* Resources */,
- );
- buildRules = (
- );
- dependencies = (
- 510DCB331CCA69EC0075E8CB /* PBXTargetDependency */,
- );
- name = EmissionUITests;
- productName = EmissionUITests;
- productReference = 510DCB311CCA69EC0075E8CB /* EmissionUITests.xctest */;
- productType = "com.apple.product-type.bundle.ui-testing";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 607FACC81AFB9204008FA782 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastSwiftUpdateCheck = 0720;
- LastUpgradeCheck = 1130;
- ORGANIZATIONNAME = CocoaPods;
- TargetAttributes = {
- 510DCB0D1CCA69EC0075E8CB = {
- CreatedOnToolsVersion = 7.2.1;
- DevelopmentTeam = 23KMWZ572J;
- LastSwiftMigration = 1020;
- ProvisioningStyle = Automatic;
- SystemCapabilities = {
- com.apple.BackgroundModes = {
- enabled = 1;
- };
- com.apple.Keychain = {
- enabled = 1;
- };
- com.apple.SafariKeychain = {
- enabled = 1;
- };
- };
- };
- 510DCB251CCA69EC0075E8CB = {
- CreatedOnToolsVersion = 7.2.1;
- LastSwiftMigration = 1010;
- TestTargetID = 510DCB0D1CCA69EC0075E8CB;
- };
- 510DCB301CCA69EC0075E8CB = {
- CreatedOnToolsVersion = 7.2.1;
- TestTargetID = 510DCB0D1CCA69EC0075E8CB;
- };
- };
- };
- buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "Emission" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = en;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- Base,
- );
- mainGroup = 607FACC71AFB9204008FA782;
- productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- 510DCB0D1CCA69EC0075E8CB /* Emission */,
- 510DCB251CCA69EC0075E8CB /* EmissionTests */,
- 510DCB301CCA69EC0075E8CB /* EmissionUITests */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- 510DCB0C1CCA69EC0075E8CB /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 510E94FD1CCA828900BDF098 /* LaunchScreen.xib in Resources */,
- 6011C2561DAF835900CE54E5 /* logo@2x.png in Resources */,
- 7F4FEE4421A36F7F00B8766A /* Back.png in Resources */,
- 515926A8206BA0C000048C74 /* complete.queryMap.json in Resources */,
- 60A1A77F1DA3A23C005E3357 /* BackArrow_Highlighted@2x.png in Resources */,
- 515926AE206CF8BA00048C74 /* UITabBarDownloadsTemplate@2x.png in Resources */,
- 60A1A7801DA3A23C005E3357 /* BackArrowBlack@2x.png in Resources */,
- 510DCB1D1CCA69EC0075E8CB /* Assets.xcassets in Resources */,
- 7F4FEE4321A36F7F00B8766A /* Back@2x.png in Resources */,
- 3A484741223AC736002E657B /* docs in Resources */,
- 7F4FEE4521A36F7F00B8766A /* Back@3x.png in Resources */,
- 60A1A77E1DA3A23C005E3357 /* BackArrow@2x.png in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 510DCB241CCA69EC0075E8CB /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 510DCB2F1CCA69EC0075E8CB /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- 26CA73EDB939BB2466B1F25A /* [CP] Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
- );
- name = "[CP] Check Pods Manifest.lock";
- outputFileListPaths = (
- );
- outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-EmissionTests-checkManifestLockResult.txt",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- 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";
- showEnvVarsInLog = 0;
- };
- 3531E0CB4D0C66204FFF9D4A /* [CP] Copy Pods Resources */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Emission/Pods-Emission-resources.sh",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/AGaramondPro-Bold.otf",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/AGaramondPro-BoldItalic.otf",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/AGaramondPro-Italic.otf",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/AGaramondPro-Regular.otf",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/AGaramondPro-Semibold.otf",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/AVG65lig.otf",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/ReactNativeAGaramondPro-Italic.otf",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/ReactNativeAGaramondPro-Regular.otf",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/ReactNativeAGaramondPro-Semibold.otf",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/Unica77LL-Italic.otf",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/Unica77LL-Medium.otf",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/Unica77LL-MediumItalic.otf",
- "${PODS_ROOT}/Artsy+UIFonts/Pod/Assets/Unica77LL-Regular.otf",
- "${PODS_ROOT}/../../Pod/Assets/Emission.js",
- "${PODS_ROOT}/../../Pod/Assets/assets",
- "${PODS_ROOT}/Extraction/Extraction/Assets/ARLoadFailureRetryIcon@2x.png",
- "${PODS_ROOT}/SAMKeychain/Support/SAMKeychain.bundle",
- "${PODS_CONFIGURATION_BUILD_DIR}/Stripe/Stripe.bundle",
- );
- name = "[CP] Copy Pods Resources";
- outputPaths = (
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AGaramondPro-Bold.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AGaramondPro-BoldItalic.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AGaramondPro-Italic.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AGaramondPro-Regular.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AGaramondPro-Semibold.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AVG65lig.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ReactNativeAGaramondPro-Italic.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ReactNativeAGaramondPro-Regular.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ReactNativeAGaramondPro-Semibold.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Unica77LL-Italic.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Unica77LL-Medium.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Unica77LL-MediumItalic.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Unica77LL-Regular.otf",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Emission.js",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/assets",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ARLoadFailureRetryIcon@2x.png",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SAMKeychain.bundle",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Stripe.bundle",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Emission/Pods-Emission-resources.sh\"\n";
- showEnvVarsInLog = 0;
- };
- 3CB362FC55CDD77CDAA5F2C2 /* [CP] Embed Pods Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Emission/Pods-Emission-frameworks.sh",
- "${PODS_ROOT}/../../node_modules/@mapbox/react-native-mapbox-gl/ios/Mapbox.framework",
- );
- name = "[CP] Embed Pods Frameworks";
- outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mapbox.framework",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Emission/Pods-Emission-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
- 510E94FE1CCB87F100BDF098 /* Create Clang compilation DB */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Create Clang compilation DB";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "if type -p clang-compilation-database-tool > /dev/null 2>&1; then\nclang-compilation-database-tool collect \"${OBJECT_FILE_DIR_normal}\" > \"${SRCROOT}/compile_commands.json\"\nfi";
- showEnvVarsInLog = 0;
- };
- 513510561DAFBBB9007223BF /* Compile JS Bundle for Release */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 12;
- files = (
- );
- inputPaths = (
- );
- name = "Compile JS Bundle for Release";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "if [ \"$CONFIGURATION\" = \"Release\" ]\nthen\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && . \"$NVM_DIR/nvm.sh\"\ncd .. && nvm use && npm run bundle\nfi";
- showEnvVarsInLog = 0;
- };
- 5157C2E92018C82400DE6B07 /* Record Packager Host IP for Debug */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Record Packager Host IP for Debug";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "# Taken from https://github.com/facebook/react-native/blob/2716f53220f947c690d5f627286aad51313256a0/scripts/react-native-xcode.sh\n\n# Print commands before executing them (useful for troubleshooting)\nset -x\nDEST=$CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH\n\nif [[ \"$CONFIGURATION\" = \"Debug\" && ! \"$PLATFORM_NAME\" == *simulator ]]; then\nPLISTBUDDY='/usr/libexec/PlistBuddy'\nPLIST=$TARGET_BUILD_DIR/$INFOPLIST_PATH\nIP=$(ipconfig getifaddr en0)\nif [ -z \"$IP\" ]; then\nIP=$(ifconfig | grep 'inet ' | grep -v ' 127.' | cut -d\\ -f2 | awk 'NR==1{print $1}')\nfi\n\nif [ -z ${DISABLE_XIP+x} ]; then\nIP=\"$IP.xip.io\"\nfi\n\n$PLISTBUDDY -c \"Add NSAppTransportSecurity:NSExceptionDomains:localhost:NSTemporaryExceptionAllowsInsecureHTTPLoads bool true\" \"$PLIST\"\n$PLISTBUDDY -c \"Add NSAppTransportSecurity:NSExceptionDomains:$IP:NSTemporaryExceptionAllowsInsecureHTTPLoads bool true\" \"$PLIST\"\necho \"$IP\" > \"$DEST/ip.txt\"\nfi";
- showEnvVarsInLog = 0;
- };
- 6E41E6A6664172F7C45F3D36 /* [CP] Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
- );
- name = "[CP] Check Pods Manifest.lock";
- outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-Emission-checkManifestLockResult.txt",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- 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";
- showEnvVarsInLog = 0;
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 510DCB0A1CCA69EC0075E8CB /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 6011C2511DAF7B6D00CE54E5 /* UnroutedViewController.m in Sources */,
- 6011C2451DAF61AF00CE54E5 /* ARAdminTableViewCell.m in Sources */,
- 3ACAE7B922258EAD009C2236 /* ARAdminSentryBreadcrumbViewController.m in Sources */,
- 3A7D41FE213F3CAD009618F5 /* ARLabOptions.m in Sources */,
- 60B743B71D3EB12600E6B2A3 /* ARStorybookComponentViewController.m in Sources */,
- 51F3E9A41CF3B8A4004A2013 /* EigenLikeNavigationController.m in Sources */,
- 515687BE2079A300002F365C /* ARAdminPreloadTableViewCell.m in Sources */,
- 6011C2461DAF61AF00CE54E5 /* ARTickedTableViewCell.m in Sources */,
- 60E4ABF71EE7D85000E8C3B1 /* LoadingSpinner.m in Sources */,
- 60218E2920168D4E00A6C66B /* ARTopMenuViewController.m in Sources */,
- 60F61A8B1DAF982B00A72101 /* AuthenticationManager.m in Sources */,
- 608A60D61F75614700B6EF83 /* AppSetup.m in Sources */,
- 6011C2471DAF61AF00CE54E5 /* ARAnimatedTickView.m in Sources */,
- 60AEE7A01ECC6237008058E3 /* NSDateFormatter+TimeAgo.m in Sources */,
- 510DCB151CCA69EC0075E8CB /* AppDelegate.m in Sources */,
- 6011C24B1DAF63C000CE54E5 /* ARDefaults.m in Sources */,
- 60EDA5731F4B2944007A6100 /* InternalWebViewController.m in Sources */,
- 510DCB121CCA69EC0075E8CB /* main.m in Sources */,
- 6011C24E1DAF697B00CE54E5 /* EigenLikeAdminViewController.m in Sources */,
- 6011C23B1DAF5DD900CE54E5 /* ARRootViewController.m in Sources */,
- 7F6D717721CAA82D001BC122 /* Placeholder.swift in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 510DCB221CCA69EC0075E8CB /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 510DCB2B1CCA69EC0075E8CB /* OpaqueImageViewComponentTests.m in Sources */,
- 510E95141CCEB84F00BDF098 /* TestHelper.m in Sources */,
- 5E09C96B21E7B46B00207812 /* RCTTestModule.m in Sources */,
- 5E09C96D21E7B46B00207812 /* RCTTestRunner.m in Sources */,
- 5E09C96C21E7B46B00207812 /* RCTSnapshotManager.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- 510DCB2D1CCA69EC0075E8CB /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 510DCB361CCA69EC0075E8CB /* EmissionUITests.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
- 510DCB281CCA69EC0075E8CB /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = 510DCB0D1CCA69EC0075E8CB /* Emission */;
- targetProxy = 510DCB271CCA69EC0075E8CB /* PBXContainerItemProxy */;
- };
- 510DCB331CCA69EC0075E8CB /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- target = 510DCB0D1CCA69EC0075E8CB /* Emission */;
- targetProxy = 510DCB321CCA69EC0075E8CB /* PBXContainerItemProxy */;
- };
-/* End PBXTargetDependency section */
-
-/* Begin PBXVariantGroup section */
- 510E94FB1CCA828900BDF098 /* LaunchScreen.xib */ = {
- isa = PBXVariantGroup;
- children = (
- 510E94FC1CCA828900BDF098 /* Base */,
- );
- name = LaunchScreen.xib;
- sourceTree = "";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- 510DCB381CCA69ED0075E8CB /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 02E9860078C8122DA3D55F0F /* Pods-Emission.debug.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- CC = "${SRCROOT}/compile_commands_emitting_clang";
- CLANG_ENABLE_MODULES = YES;
- CLANG_WARN_CXX0X_EXTENSIONS = YES;
- CODE_SIGN_ENTITLEMENTS = Emission/Emission.entitlements;
- CODE_SIGN_IDENTITY = "iPhone Developer";
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- CODE_SIGN_STYLE = Automatic;
- DEBUG_INFORMATION_FORMAT = dwarf;
- DEVELOPMENT_TEAM = "";
- GCC_TREAT_WARNINGS_AS_ERRORS = YES;
- GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
- GCC_WARN_PEDANTIC = YES;
- INFOPLIST_FILE = Emission/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- OTHER_LDFLAGS = (
- "$(inherited)",
- "-lstdc++",
- );
- PRODUCT_BUNDLE_IDENTIFIER = net.artsy.Emission;
- PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "";
- SWIFT_OBJC_BRIDGING_HEADER = "Emission/Emission-Bridging-Header.h";
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 4.2;
- TARGETED_DEVICE_FAMILY = "1,2";
- WARNING_CFLAGS = "-Wno-variadic-macros";
- };
- name = Debug;
- };
- 510DCB391CCA69ED0075E8CB /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 9AB72C7CDF8351EF0ADB2E4D /* Pods-Emission.release.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- CC = "${SRCROOT}/compile_commands_emitting_clang";
- CLANG_ENABLE_MODULES = YES;
- CLANG_WARN_CXX0X_EXTENSIONS = YES;
- CODE_SIGN_ENTITLEMENTS = Emission/Emission.entitlements;
- CODE_SIGN_IDENTITY = "iPhone Developer";
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
- CODE_SIGN_STYLE = Automatic;
- DEVELOPMENT_TEAM = "";
- GCC_TREAT_WARNINGS_AS_ERRORS = YES;
- GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
- GCC_WARN_PEDANTIC = YES;
- INFOPLIST_FILE = Emission/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- OTHER_LDFLAGS = (
- "$(inherited)",
- "-lstdc++",
- );
- PRODUCT_BUNDLE_IDENTIFIER = net.artsy.Emission;
- PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "";
- SWIFT_VERSION = 4.2;
- TARGETED_DEVICE_FAMILY = "1,2";
- WARNING_CFLAGS = "-Wno-variadic-macros";
- };
- name = Release;
- };
- 510DCB3A1CCA69ED0075E8CB /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 17DDC2B5E27740D462B9B1E4 /* Pods-EmissionTests.debug.xcconfig */;
- buildSettings = {
- BUNDLE_LOADER = "$(TEST_HOST)";
- CLANG_ENABLE_MODULES = YES;
- DEBUG_INFORMATION_FORMAT = dwarf;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "$(inherited)",
- "COCOAPODS=1",
- "FB_REFERENCE_IMAGE_DIR=\"\\\"$(SOURCE_ROOT)/$(TARGET_NAME)/ReferenceImages\\\"\"",
- );
- INFOPLIST_FILE = EmissionTests/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = net.artsy.EmissionTests;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 4.2;
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Emission.app/Emission";
- };
- name = Debug;
- };
- 510DCB3B1CCA69ED0075E8CB /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = E347387A62A41620FEED9427 /* Pods-EmissionTests.release.xcconfig */;
- buildSettings = {
- BUNDLE_LOADER = "$(TEST_HOST)";
- CLANG_ENABLE_MODULES = YES;
- INFOPLIST_FILE = EmissionTests/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = net.artsy.EmissionTests;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_VERSION = 4.2;
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Emission.app/Emission";
- };
- name = Release;
- };
- 510DCB3C1CCA69ED0075E8CB /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
- DEBUG_INFORMATION_FORMAT = dwarf;
- INFOPLIST_FILE = EmissionUITests/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = net.artsy.EmissionUITests;
- PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_TARGET_NAME = Emission;
- USES_XCTRUNNER = YES;
- };
- name = Debug;
- };
- 510DCB3D1CCA69ED0075E8CB /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
- INFOPLIST_FILE = EmissionUITests/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = net.artsy.EmissionUITests;
- PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_TARGET_NAME = Emission;
- USES_XCTRUNNER = YES;
- };
- name = Release;
- };
- 607FACED1AFB9204008FA782 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 12.0;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- };
- name = Debug;
- };
- 607FACEE1AFB9204008FA782 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 12.0;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = iphoneos;
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- 608A60D01F755E2F00B6EF83 /* Deploy */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "DEPLOY=1",
- "$(inherited)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 12.0;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- };
- name = Deploy;
- };
- 608A60D11F755E2F00B6EF83 /* Deploy */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 163341760E6AD3C2BD2501B6 /* Pods-Emission.deploy.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- CC = "${SRCROOT}/compile_commands_emitting_clang";
- CLANG_ENABLE_MODULES = YES;
- CLANG_WARN_CXX0X_EXTENSIONS = YES;
- CODE_SIGN_ENTITLEMENTS = Emission/Emission.entitlements;
- CODE_SIGN_IDENTITY = "iPhone Developer";
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
- CODE_SIGN_STYLE = Automatic;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- DEVELOPMENT_TEAM = "";
- GCC_TREAT_WARNINGS_AS_ERRORS = YES;
- GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
- GCC_WARN_PEDANTIC = YES;
- INFOPLIST_FILE = Emission/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- OTHER_LDFLAGS = (
- "$(inherited)",
- "-lstdc++",
- );
- PRODUCT_BUNDLE_IDENTIFIER = net.artsy.Emission;
- PRODUCT_NAME = "$(TARGET_NAME)";
- PROVISIONING_PROFILE_SPECIFIER = "";
- SWIFT_OBJC_BRIDGING_HEADER = "Emission/Emission-Bridging-Header.h";
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 4.2;
- TARGETED_DEVICE_FAMILY = "1,2";
- WARNING_CFLAGS = "-Wno-variadic-macros";
- };
- name = Deploy;
- };
- 608A60D21F755E2F00B6EF83 /* Deploy */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 5D75FFB0E282ED7DB0B9141E /* Pods-EmissionTests.deploy.xcconfig */;
- buildSettings = {
- BUNDLE_LOADER = "$(TEST_HOST)";
- CLANG_ENABLE_MODULES = YES;
- DEBUG_INFORMATION_FORMAT = dwarf;
- INFOPLIST_FILE = EmissionTests/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = net.artsy.EmissionTests;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 4.2;
- TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Emission.app/Emission";
- };
- name = Deploy;
- };
- 608A60D31F755E2F00B6EF83 /* Deploy */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
- DEBUG_INFORMATION_FORMAT = dwarf;
- INFOPLIST_FILE = EmissionUITests/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = net.artsy.EmissionUITests;
- PRODUCT_NAME = "$(TARGET_NAME)";
- TEST_TARGET_NAME = Emission;
- USES_XCTRUNNER = YES;
- };
- name = Deploy;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 510DCB3E1CCA69ED0075E8CB /* Build configuration list for PBXNativeTarget "Emission" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 510DCB381CCA69ED0075E8CB /* Debug */,
- 608A60D11F755E2F00B6EF83 /* Deploy */,
- 510DCB391CCA69ED0075E8CB /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 510DCB3F1CCA69ED0075E8CB /* Build configuration list for PBXNativeTarget "EmissionTests" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 510DCB3A1CCA69ED0075E8CB /* Debug */,
- 608A60D21F755E2F00B6EF83 /* Deploy */,
- 510DCB3B1CCA69ED0075E8CB /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 510DCB401CCA69ED0075E8CB /* Build configuration list for PBXNativeTarget "EmissionUITests" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 510DCB3C1CCA69ED0075E8CB /* Debug */,
- 608A60D31F755E2F00B6EF83 /* Deploy */,
- 510DCB3D1CCA69ED0075E8CB /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "Emission" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 607FACED1AFB9204008FA782 /* Debug */,
- 608A60D01F755E2F00B6EF83 /* Deploy */,
- 607FACEE1AFB9204008FA782 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 607FACC81AFB9204008FA782 /* Project object */;
-}
diff --git a/emission/Example/Emission.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/emission/Example/Emission.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index f6ade13ad0f..00000000000
--- a/emission/Example/Emission.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/emission/Example/Emission.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/emission/Example/Emission.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d981003d6..00000000000
--- a/emission/Example/Emission.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/emission/Example/Emission.xcodeproj/xcshareddata/xcschemes/Emission Example.xcscheme b/emission/Example/Emission.xcodeproj/xcshareddata/xcschemes/Emission Example.xcscheme
deleted file mode 100644
index 722358d98ba..00000000000
--- a/emission/Example/Emission.xcodeproj/xcshareddata/xcschemes/Emission Example.xcscheme
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/emission/Example/Emission.xcodeproj/xcshareddata/xcschemes/Emission.xcscheme b/emission/Example/Emission.xcodeproj/xcshareddata/xcschemes/Emission.xcscheme
deleted file mode 100644
index de938e78de4..00000000000
--- a/emission/Example/Emission.xcodeproj/xcshareddata/xcschemes/Emission.xcscheme
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/emission/Example/Emission.xcworkspace/contents.xcworkspacedata b/emission/Example/Emission.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 327e05a2367..00000000000
--- a/emission/Example/Emission.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
diff --git a/emission/Example/Emission.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/emission/Example/Emission.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d981003d6..00000000000
--- a/emission/Example/Emission.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/emission/Example/Emission/ARAdminPreloadTableViewCell.h b/emission/Example/Emission/ARAdminPreloadTableViewCell.h
deleted file mode 100644
index 0f8014cdb98..00000000000
--- a/emission/Example/Emission/ARAdminPreloadTableViewCell.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#import
-#import "ARAdminTableViewCell.h"
-
-@interface ARAdminPreloadTableViewCell : ARAdminTableViewCell
-@property (nonatomic, copy) dispatch_block_t preloadBlock;
-@end
diff --git a/emission/Example/Emission/ARAdminPreloadTableViewCell.m b/emission/Example/Emission/ARAdminPreloadTableViewCell.m
deleted file mode 100644
index 404de8a438f..00000000000
--- a/emission/Example/Emission/ARAdminPreloadTableViewCell.m
+++ /dev/null
@@ -1,22 +0,0 @@
-#import "ARAdminPreloadTableViewCell.h"
-
-@implementation ARAdminPreloadTableViewCell
-
-- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier;
-{
- if ((self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])) {
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- [button setImage:[UIImage imageNamed:@"UITabBarDownloadsTemplate"] forState:UIControlStateNormal];
- [button sizeToFit];
- [button addTarget:self action:@selector(invokePreloadBlock) forControlEvents:UIControlEventTouchUpInside];
- self.accessoryView = button;
- }
- return self;
-}
-
-- (void)invokePreloadBlock;
-{
- self.preloadBlock();
-}
-
-@end
diff --git a/emission/Example/Emission/ARAdminSentryBreadcrumbViewController.h b/emission/Example/Emission/ARAdminSentryBreadcrumbViewController.h
deleted file mode 100644
index 920da720100..00000000000
--- a/emission/Example/Emission/ARAdminSentryBreadcrumbViewController.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#import
-
-@interface ARAdminSentryBreadcrumbViewController : UIViewController
-
-@end
diff --git a/emission/Example/Emission/ARAdminSentryBreadcrumbViewController.m b/emission/Example/Emission/ARAdminSentryBreadcrumbViewController.m
deleted file mode 100644
index e7462233112..00000000000
--- a/emission/Example/Emission/ARAdminSentryBreadcrumbViewController.m
+++ /dev/null
@@ -1,80 +0,0 @@
-#import "ARAdminSentryBreadcrumbViewController.h"
-
-#import
-#import
-
-#import
-
-// Pull out the private fileManager
-@interface SentryBreadcrumbStore (Private)
-@property(nonatomic, strong) SentryFileManager *fileManager;
-@end
-
-
-@implementation ARAdminSentryBreadcrumbViewController
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
-
- // Grab the breadcrumbs from analytics calls and API wins/losses
- // Convert those into string messages
- // Throw them into a UITextView
- // :shippit:
- //
- SentryBreadcrumbStore *store = [SentryClient sharedClient].breadcrumbs;
- NSArray *> *breadCrumbs = [[[store.fileManager getAllStoredBreadcrumbs] reverseObjectEnumerator] allObjects];
-
- NSMutableArray *messages = [NSMutableArray array];
- for (NSDictionary *data in breadCrumbs) {
- NSDictionary *breadcrumb = [NSJSONSerialization JSONObjectWithData: data[@"data"] options:NSJSONReadingAllowFragments error:NULL];
-
- NSString *timestamp = breadcrumb[@"timestamp"];
- NSString *category = breadcrumb[@"category"];
- NSString *message;
-
- // Is a console log message
- if ([category isEqualToString:@"console"]){
- message = [NSString stringWithFormat:@"🕰 %@ \n%@ - %@", timestamp, breadcrumb[@"level"], breadcrumb[@"message"]];
- }
-
- // Is the start of an API call
- if (!message && [category isEqualToString:@"fetch"]){
- NSString *url = breadcrumb[@"data"][@"url"];
- NSString *method = breadcrumb[@"data"][@"method"];
- NSString *status = @"START";
-
- message = [NSString stringWithFormat:@"🕰 %@ \n%@ - %@ %@",timestamp, status, method, url];
- }
-
- // Is the end of an API call
- if (!message && [category isEqualToString:@"xhr"]){
- NSString *url = breadcrumb[@"data"][@"url"];
- NSString *method = breadcrumb[@"data"][@"method"];
- NSString *status = breadcrumb[@"data"][@"status_code"];
-
- message = [NSString stringWithFormat:@"🕰 %@ \n%@ - %@ %@", timestamp, status, method, url];
- }
-
- // Is a generic API call
- if (!message && category) {
- message = [NSString stringWithFormat:@"🕰 %@ \n🔎 %@ \n%@", timestamp, category, breadcrumb[@"data"]];
- }
-
- if (message){
- [messages addObject:message];
- }
- }
-
- UITextView *tv = [[UITextView alloc] initWithFrame:self.view.bounds];
- tv.font = [UIFont fontWithName:@"Menlo-Regular" size:13];
- tv.textContainerInset = UIEdgeInsetsMake(60, 20, 60, 20);
- tv.contentOffset = CGPointMake(0, 60);
- tv.editable = NO;
- [self.view addSubview:tv];
- [tv alignToView:self.view];
-
- tv.text = [messages componentsJoinedByString:@"\n\n"];
-}
-
-@end
diff --git a/emission/Example/Emission/ARAdminTableViewCell.h b/emission/Example/Emission/ARAdminTableViewCell.h
deleted file mode 100644
index a941e4bc16a..00000000000
--- a/emission/Example/Emission/ARAdminTableViewCell.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#import
-
-extern CGFloat ARTableViewCellSettingsHeight;
-
-
-@interface ARAdminTableViewCell : UITableViewCell
-
-@property (nonatomic, assign) BOOL useSerifFont;
-
-@end
diff --git a/emission/Example/Emission/ARAdminTableViewCell.m b/emission/Example/Emission/ARAdminTableViewCell.m
deleted file mode 100644
index 7bf7210b634..00000000000
--- a/emission/Example/Emission/ARAdminTableViewCell.m
+++ /dev/null
@@ -1,63 +0,0 @@
-#import "ARAdminTableViewCell.h"
-#import "EigenLikeAdminViewController.h"
-
-#import
-#import
-
-CGFloat ARTableViewCellSettingsHeight = 60;
-
-@implementation ARAdminTableViewCell
-
-CGFloat MainTextVerticalOffset = 4;
-CGFloat DetailTextVerticalOffset = 6;
-
-- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
-{
- BOOL overwriteStyle = [reuseIdentifier isEqualToString:ARLabOptionCell];
- UITableViewCellStyle usedStyle = overwriteStyle ? UITableViewCellStyleSubtitle : style;
-
- self = [super initWithStyle:usedStyle reuseIdentifier:reuseIdentifier];
- if (!self) {
- return nil;
- }
-
- self.useSerifFont = YES;
- UIView *backgroundView = [[UIView alloc] init];
- backgroundView.backgroundColor = [UIColor artsyGrayLight];
- self.selectedBackgroundView = backgroundView;
- self.textLabel.backgroundColor = [UIColor clearColor];
-
- return self;
-}
-
-
-- (void)setUseSerifFont:(BOOL)newUseSerifFont
-{
- _useSerifFont = newUseSerifFont;
-
- if (_useSerifFont) {
- self.textLabel.font = [UIFont serifFontWithSize:18];
- self.detailTextLabel.font = [UIFont serifItalicFontWithSize:16];
- } else {
- self.textLabel.font = [UIFont sansSerifFontWithSize:15];
- self.detailTextLabel.font = [UIFont sansSerifFontWithSize:15];
- }
-}
-
-- (void)layoutSubviews
-{
- [super layoutSubviews];
-
- if (!self.detailTextLabel) {
- if (_useSerifFont) {
- CGRect frame = self.textLabel.frame;
- frame.size.height -= MainTextVerticalOffset;
- self.textLabel.frame = frame;
- self.textLabel.center = CGPointMake(self.textLabel.center.x, self.textLabel.center.y + MainTextVerticalOffset);
- }
- } else {
- self.detailTextLabel.center = CGPointMake(self.detailTextLabel.center.x, self.detailTextLabel.center.y + DetailTextVerticalOffset);
- }
-}
-
-@end
diff --git a/emission/Example/Emission/ARAnimatedTickView.h b/emission/Example/Emission/ARAnimatedTickView.h
deleted file mode 100644
index 0a221ddcd31..00000000000
--- a/emission/Example/Emission/ARAnimatedTickView.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#import
-
-
-@interface ARAnimatedTickView : UIView
-- (id)initWithSelection:(BOOL)selected;
-
-- (BOOL)selected;
-- (void)setSelected:(BOOL)selected animated:(BOOL)animated;
-@end
diff --git a/emission/Example/Emission/ARAnimatedTickView.m b/emission/Example/Emission/ARAnimatedTickView.m
deleted file mode 100644
index bc879a6ea51..00000000000
--- a/emission/Example/Emission/ARAnimatedTickView.m
+++ /dev/null
@@ -1,176 +0,0 @@
-#import "ARAnimatedTickView.h"
-#import
-
-#define TICK_DIMENSION 32
-
-@interface ARTickViewFrontLayer : CAShapeLayer
-@end
-
-
-@interface ARTickViewBackLayer : CALayer
-@property (nonatomic, assign) CGFloat completion;
-@end
-
-
-@interface ARAnimatedTickView () {
- ARTickViewBackLayer *_backLayer;
-}
-@end
-
-
-@implementation ARAnimatedTickView
-
-- (id)initWithFrame:(CGRect)frame
-{
- [NSException raise:NSInvalidArgumentException format:@"NSObject %@[%@]: selector not recognized - use initWithSelection: ", NSStringFromClass([self class]), NSStringFromSelector(_cmd)];
- return nil;
-}
-
-- (id)initWithSelection:(BOOL)selected
-{
- self = [super initWithFrame:CGRectMake(0, 0, TICK_DIMENSION, TICK_DIMENSION)];
- if (self) {
- self.backgroundColor = [[UIColor artsyGrayRegular] colorWithAlphaComponent:0.2];
-
- _backLayer = [ARTickViewBackLayer layer];
- _backLayer.completion = 1;
- _backLayer.bounds = self.bounds;
- _backLayer.position = CGPointMake(TICK_DIMENSION / 2, TICK_DIMENSION / 2);
-
- [self.layer addSublayer:_backLayer];
- [self.layer addSublayer:[ARTickViewFrontLayer layer]];
-
- [self setSelected:selected animated:NO];
- }
- return self;
-}
-
-- (BOOL)selected
-{
- return (_backLayer.completion) ? YES : NO;
-}
-
-- (void)setSelected:(BOOL)selected animated:(BOOL)animated
-{
- if (!animated) {
- _backLayer.completion = selected ? 1 : 0;
- [_backLayer setNeedsDisplay];
-
- } else {
- CABasicAnimation *positionAnimation = [CABasicAnimation animationWithKeyPath:@"completion"];
- positionAnimation.duration = 0.15;
- positionAnimation.fromValue = @(!selected);
- positionAnimation.toValue = @(selected);
- positionAnimation.fillMode = kCAFillModeForwards;
- positionAnimation.removedOnCompletion = YES;
- [_backLayer addAnimation:positionAnimation forKey:@"TickAnimation"];
-
- _backLayer.completion = selected ? 1 : 0;
- }
-}
-
-@end
-
-
-@implementation ARTickViewFrontLayer
-
-// This is essentially the facia behind which the tick selection is drawn
-
-+ (instancetype)layer
-{
- ARTickViewFrontLayer *layer = [[ARTickViewFrontLayer alloc] init];
- CGMutablePathRef tickPath = CGPathCreateMutable();
-
- // Tick with gets diffed on outline // x y
- CGPathMoveToPoint(tickPath, NULL, 24.28, 6.62);
- CGPathAddLineToPoint(tickPath, NULL, 12.14, 22.07);
- CGPathAddLineToPoint(tickPath, NULL, 6.62, 16.55);
- CGPathAddLineToPoint(tickPath, NULL, 4.41, 18.76);
- CGPathAddLineToPoint(tickPath, NULL, 12.14, 26.48);
- CGPathAddLineToPoint(tickPath, NULL, 26.48, 8.83);
- CGPathAddLineToPoint(tickPath, NULL, 24.28, 6.62);
- CGPathCloseSubpath(tickPath);
-
- // Outline
- CGPathMoveToPoint(tickPath, NULL, 32, 32);
- CGPathAddLineToPoint(tickPath, NULL, 0, 32);
- CGPathAddLineToPoint(tickPath, NULL, 0, 0);
- CGPathAddLineToPoint(tickPath, NULL, 32, 0);
- CGPathAddLineToPoint(tickPath, NULL, 32, 32);
- CGPathCloseSubpath(tickPath);
-
- layer.path = tickPath;
- CGPathRelease(tickPath);
-
- layer.fillColor = [UIColor whiteColor].CGColor;
- return layer;
-}
-
-@end
-
-
-@implementation ARTickViewBackLayer
-
-// Tell the class if completion changes that needs a redraw
-// meaning you can animate the key completion using a CABasicAnimation
-
-+ (BOOL)needsDisplayForKey:(NSString *)key
-{
- if ([key isEqualToString:@"completion"]) {
- return YES;
- }
-
- return [super needsDisplayForKey:key];
-}
-
-- (void)drawInContext:(CGContextRef)context
-{
- [self drawLowerHalfInContext:context];
- [self drawUpperHalfInContext:context];
-}
-
-// Top left is 0,0
-
-- (void)drawLowerHalfInContext:(CGContextRef)ctx
-{
- CGPoint TL = CGPointMake(6.0, 15.2);
- CGPoint BL = CGPointMake(4.1, 19.4);
-
- // this is double the distance it needs, so that it finished in half-time
-
- CGPoint TR = CGPointMake(21, 32);
- CGPoint BR = CGPointMake(21.1, 34.6);
- [self drawStretchyRectWithPointsTL:TL TR:TR BL:BL BR:BR inContext:ctx];
-}
-
-- (void)drawUpperHalfInContext:(CGContextRef)ctx
-{
- CGPoint TL = CGPointMake(9.4, 24.5);
- CGPoint BL = CGPointMake(12.1, 27.1);
-
- CGPoint TR = CGPointMake(24, 6.8);
- CGPoint BR = CGPointMake(27.1, 8.9);
- [self drawStretchyRectWithPointsTL:TL TR:TR BL:BL BR:BR inContext:ctx];
-}
-
-- (void)drawStretchyRectWithPointsTL:(CGPoint)TL TR:(CGPoint)TR BL:(CGPoint)BL BR:(CGPoint)BR inContext:(CGContextRef)ctx
-{
- CGContextMoveToPoint(ctx, TL.x, TL.y);
-
- // the top right
- CGContextAddLineToPoint(ctx, ((TR.x - TL.x) * self.completion) + TL.x, ((TR.y - TL.y) * self.completion) + TL.y);
- // bottom right
- CGContextAddLineToPoint(ctx, ((BR.x - BL.x) * self.completion) + BL.x, ((BR.y - BL.y) * self.completion) + BL.y);
-
- // bottom left
- CGContextAddLineToPoint(ctx, BL.x, BL.y);
- CGContextClosePath(ctx);
-
- // Color it
- CGContextSetFillColorWithColor(ctx, [UIColor artsyPurpleRegular].CGColor);
- CGContextSetLineWidth(ctx, 0);
-
- CGContextDrawPath(ctx, kCGPathFill);
-}
-
-@end
diff --git a/emission/Example/Emission/ARDefaults.h b/emission/Example/Emission/ARDefaults.h
deleted file mode 100644
index b7317d644b5..00000000000
--- a/emission/Example/Emission/ARDefaults.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#import
-
-extern NSString *const ARForceUseRNPDefault;
-extern NSString *const ARJumpStraightIntoStorybooks;
-
-extern NSString *const ARUseStagingDefault;
-extern NSString *const ARUsePREmissionDefault;
-extern NSString *const ARPREmissionIDDefault;
-
-extern NSString *const ARStagingAPIURLDefault;
-extern NSString *const ARStagingWebURLDefault;
-extern NSString *const ARStagingMetaphysicsURLDefault;
-extern NSString *const ARStagingPredictionURLDefault;
-extern NSString *const ARRNPackagerHostDefault;
-
-@interface ARDefaults : NSObject
-+ (void)setup;
-+ (void)resetDefaults;
-@end
diff --git a/emission/Example/Emission/ARDefaults.m b/emission/Example/Emission/ARDefaults.m
deleted file mode 100644
index 7ed5c273e46..00000000000
--- a/emission/Example/Emission/ARDefaults.m
+++ /dev/null
@@ -1,50 +0,0 @@
-#import "ARDefaults.h"
-#import
-
-NSString *const ARForceUseRNPDefault = @"ARForceUseRNPDefault";
-NSString *const ARJumpStraightIntoStorybooks = @"ARJumpStraightIntoStorybooks";
-
-NSString *const ARUseStagingDefault = @"ARUseStagingDefault";
-NSString *const ARUsePREmissionDefault = @"ARUsePREmissionDefault";
-NSString *const ARPREmissionIDDefault = @"ARPREmissionIDDefault";
-
-NSString *const ARStagingAPIURLDefault = @"ARStagingAPIURLDefault";
-NSString *const ARStagingWebURLDefault = @"ARStagingWebURLDefault";
-NSString *const ARStagingMetaphysicsURLDefault = @"ARStagingMetaphysicsURLDefault";
-NSString *const ARStagingPredictionURLDefault = @"ARStagingPredictionURLDefault";
-NSString *const ARRNPackagerHostDefault = @"ARStagingRNPackagerHostDefault";
-
-
-@implementation ARDefaults
-
-+ (void)setup
-{
- BOOL useStagingDefault;
-#if DEBUG
- useStagingDefault = YES;
-#else
- useStagingDefault = NO;
-#endif
-
- NSString *ipPath = [[NSBundle mainBundle] pathForResource:@"ip" ofType:@"txt"];
- NSString *ipGuess = [[NSString stringWithContentsOfFile:ipPath encoding:NSUTF8StringEncoding error:nil]
- stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];
- NSString *host = ipGuess ? ipGuess : @"localhost";
-
- [[NSUserDefaults standardUserDefaults] registerDefaults:@{
- ARUseStagingDefault : @(useStagingDefault),
- ARStagingAPIURLDefault : @"https://stagingapi.artsy.net",
- ARStagingWebURLDefault : @"https://staging.artsy.net",
- ARStagingMetaphysicsURLDefault : @"https://metaphysics-staging.artsy.net/v2",
- ARStagingPredictionURLDefault : @"https://live-staging.artsy.net",
- ARRNPackagerHostDefault : host,
- }];
-}
-
-+ (void)resetDefaults
-{
- [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:[[NSBundle mainBundle] bundleIdentifier]];
- [[NSUserDefaults standardUserDefaults] synchronize];
-}
-
-@end
diff --git a/emission/Example/Emission/ARLabOptions.h b/emission/Example/Emission/ARLabOptions.h
deleted file mode 100644
index 7d3aad4b8a0..00000000000
--- a/emission/Example/Emission/ARLabOptions.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#import
-
-extern NSDictionary *AROptionsAnExampleLabOption;
-
-@interface ARLabOptions : NSObject
-
-/// Returns all the current options
-+ (NSArray *)labsOptions;
-/// A subset of the above that the app should restart upon changing
-+ (NSArray *)labsOptionsThatRequireRestart;
-/// A dictionary of lab options to true/false as NSNumbers
-+ (NSDictionary *)labOptionsMap;
-/// So we can provide a UI
-+ (NSString *)descriptionForOption:(NSString *)option;
-
-/// Get and set individual options
-+ (BOOL)boolForOption:(NSString *)option;
-+ (void)setBool:(BOOL)value forOption:(NSString *)option;
-
-@end
diff --git a/emission/Example/Emission/ARLabOptions.m b/emission/Example/Emission/ARLabOptions.m
deleted file mode 100644
index 38007030110..00000000000
--- a/emission/Example/Emission/ARLabOptions.m
+++ /dev/null
@@ -1,71 +0,0 @@
-
-#import "ARLabOptions.h"
-
-static NSDictionary *options = nil;
-
-@implementation ARLabOptions
-
-+ (void)initialize
-{
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- //
- // The keys in this hash are how you can access the value in Emission code:
- //
- // import { options } from "lib/options"
- //
- // if (options.example) {
- // [something]
- //
- //
- // Then in your test files, you can use jest to mock "lib/options" with your own
- // object.
- //
- options = @{
- @"AROptionsPriceTransparency": @"Price transparency",
- @"AROptionsLotConditionReport": @"Lot Condition Report",
- @"AROptionsFilterCollectionsArtworks": @"Filter Collections Artworks"
- };
- });
-
-}
-
-+ (NSArray *)labsOptions
-{
- return options.allKeys;
-}
-
-+ (NSString *)descriptionForOption:(NSString *)option
-{
- return options[option];
-}
-
-+ (NSDictionary *)labOptionsMap
-{
- NSArray *options = [self labsOptions];
- NSMutableDictionary *mutableOptions = [NSMutableDictionary dictionary];
-
- for (NSString *option in options) {
- [mutableOptions setObject:@([self boolForOption:option]) forKey:option];
- }
- return [mutableOptions copy];
-}
-
-
-+ (NSArray *)labsOptionsThatRequireRestart
-{
- return @[];
-}
-
-+ (BOOL)boolForOption:(NSString *)option
-{
- return [[NSUserDefaults standardUserDefaults] boolForKey:option];
-}
-
-+ (void)setBool:(BOOL)value forOption:(NSString *)option
-{
- [[NSUserDefaults standardUserDefaults] setBool:value forKey:option];
- [[NSUserDefaults standardUserDefaults] synchronize];
-}
-
-@end
diff --git a/emission/Example/Emission/ARMacros.h b/emission/Example/Emission/ARMacros.h
deleted file mode 100644
index 2da794aa87b..00000000000
--- a/emission/Example/Emission/ARMacros.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef ARMacros_h
-#define ARMacros_h
-
-#define ar_keypath(anObject, aKeyPath) ((void)(NO && ((void)anObject.aKeyPath, NO)), @ #aKeyPath)
-
-#endif /* ARMacros_h */
diff --git a/emission/Example/Emission/ARRootViewController.h b/emission/Example/Emission/ARRootViewController.h
deleted file mode 100644
index f2d6ec29b2b..00000000000
--- a/emission/Example/Emission/ARRootViewController.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#import
-#import "EigenLikeAdminViewController.h"
-#import "AuthenticationManager.h"
-
-@interface ARRootViewController : EigenLikeAdminViewController
-
-@property (nonatomic) AuthenticationManager *authenticationManager;
-
-@end
diff --git a/emission/Example/Emission/ARRootViewController.m b/emission/Example/Emission/ARRootViewController.m
deleted file mode 100644
index 195fbc035b3..00000000000
--- a/emission/Example/Emission/ARRootViewController.m
+++ /dev/null
@@ -1,564 +0,0 @@
-#import "ARRootViewController.h"
-#import "ARAnimatedTickView.h"
-#import "ARTickedTableViewCell.h"
-#import "ARAdminTableViewCell.h"
-#import "ARAdminPreloadTableViewCell.h"
-#import "EigenLikeNavigationController.h"
-#import
-
-#import "AppDelegate.h"
-#import "ARDefaults.h"
-#import "AppSetup.h"
-#import "ARLabOptions.h"
-
-#import
-#import
-
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-
-#import "ARStorybookComponentViewController.h"
-
-#import "InternalWebViewController.h"
-#import "EigenLikeNavigationController.h"
-#import
-#import "ARAdminSentryBreadcrumbViewController.h"
-
-#import
-#import
-
-@implementation ARRootViewController
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
-
- AppSetup *setup = [AppSetup ambientSetup];
-
- ARTableViewData *tableViewData = [[ARTableViewData alloc] init];
- [self registerClass:ARTickedTableViewCell.class forCellReuseIdentifier:ARLabOptionCell];
- [self registerClass:ARAdminTableViewCell.class forCellReuseIdentifier:ARSubtitledLabOptionCell];
- [self registerClass:ARAdminTableViewCell.class forCellReuseIdentifier:AROptionCell];
- [self registerClass:ARAdminPreloadTableViewCell.class forCellReuseIdentifier:ARPreloadOptionCell];
-
- ARSectionData *appData = [[ARSectionData alloc] init];
- [self setupSection:appData withTitle:[self titleForApp]];
- [appData addCellData:[self emissionJSLocationDescription:setup.emissionLoadedFromString]];
- [tableViewData addSectionData:appData];
-
- // This isn't of any use unless you're developing
- if(!setup.usingPRBuild) {
- ARSectionData *developerSection = [self developersSection];
- [tableViewData addSectionData:developerSection];
- }
-
- ARSectionData *userSection = [self userSection];
- [tableViewData addSectionData:userSection];
-
- ARSectionData *labsSection = [self labsSection];
- [tableViewData addSectionData:labsSection];
-
- // TODO: Deprecate
- // These were nice quick for getting bootstrapped, but they should be storybooks
- // so that they can be controlled in JS and deployed with PRs.
- ARSectionData *viewControllerSection = [self jumpToViewControllersSection];
- [tableViewData addSectionData:viewControllerSection];
-
- ARSectionData *adminSection = [self adminSection];
- [tableViewData addSectionData:adminSection];
-
- self.tableViewData = tableViewData;
-}
-
-- (void)viewDidAppear:(BOOL)animated
-{
- [super viewDidAppear:animated];
-
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- BOOL autoJump = [[NSUserDefaults standardUserDefaults] boolForKey:ARJumpStraightIntoStorybooks];
- if (autoJump) {
- id viewController = [ARStorybookComponentViewController new];
- [self.navigationController pushViewController:viewController animated:YES];
- }
- });
-}
-
-/// Sections
-
-- (ARSectionData *)jumpToViewControllersSection
-{
- ARSectionData *sectionData = [[ARSectionData alloc] init];
- [self setupSection:sectionData withTitle:@"View Controllers"];
-
- [sectionData addCellData:self.jumpToSearch];
- [sectionData addCellData:self.jumpToShow];
- [sectionData addCellData:self.jumpToFair];
- [sectionData addCellData:self.jumpToMap];
- [sectionData addCellData:self.jumpToCollection];
- [sectionData addCellData:self.jumpToArtwork];
- [sectionData addCellData:self.jumpToPartner];
- [sectionData addCellData:self.jumpToArtist];
- [sectionData addCellData:self.jumpToRandomArtist];
- [sectionData addCellData:self.jumpToHomepage];
- [sectionData addCellData:self.jumpToGene];
- [sectionData addCellData:self.jumpToRefinedGene];
- [sectionData addCellData:self.jumpToMyProfile];
- [sectionData addCellData:self.jumpToConsignments];
- [sectionData addCellData:self.jumpToInbox];
- [sectionData addCellData:self.jumpToInquiry];
- [sectionData addCellData:self.jumpToFavorites];
- [sectionData addCellData:self.jumpToBidFlow];
-
- return sectionData;
-}
-
-- (ARSectionData *)developersSection
-{
- ARSectionData *sectionData = [[ARSectionData alloc] init];
- [self setupSection:sectionData withTitle:@"Developer"];
-
- [sectionData addCellData:self.jumpToStorybooks];
- [sectionData addCellData:self.autoOpenStorybooksOnLaunch];
-
- return sectionData;
-}
-
-- (ARSectionData *)labsSection
-{
- ARSectionData *labsSectionData = [[ARSectionData alloc] init];
- labsSectionData.headerTitle = @"Labs";
-
- NSArray *options = [ARLabOptions labsOptions];
- for (NSInteger index = 0; index < options.count; index++) {
- NSString *key = options[index];
- NSString *title = [ARLabOptions descriptionForOption:key];
- BOOL requiresRestart = [[ARLabOptions labsOptionsThatRequireRestart] indexOfObject:title] != NSNotFound;
-
- ARCellData *cellData = [[ARCellData alloc] initWithIdentifier:ARLabOptionCell];
- [cellData setCellConfigurationBlock:^(UITableViewCell *cell) {
- cell.textLabel.text = requiresRestart ? [title stringByAppendingString:@" (restarts)"] : title;
- cell.accessoryView = [[ARAnimatedTickView alloc] initWithSelection:[ARLabOptions boolForOption:key]];
- }];
-
- [cellData setCellSelectionBlock:^(UITableView *tableView, NSIndexPath *indexPath) {
- BOOL currentSelection = [ARLabOptions boolForOption:key];
- [ARLabOptions setBool:!currentSelection forOption:key];
-
- if (requiresRestart) {
- // Show checkmark.
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
- exit(0);
- });
- } else {
- AppDelegate *appDelegate = (id)[UIApplication sharedApplication].delegate;
- [appDelegate reloadEmission];
- }
-
- UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
- [(ARAnimatedTickView *)cell.accessoryView setSelected:!currentSelection animated:YES];
- }];
-
- [labsSectionData addCellData:cellData];
- }
- return labsSectionData;
-}
-
-- (ARCellData *)jumpToStorybooks
-{
- return [self tappableCellDataWithTitle:@"Open Storybook" selection: ^{
- id viewController = [ARStorybookComponentViewController new];
- [self.navigationController pushViewController:viewController animated:YES];
- }];
-}
-
-- (ARCellData *)autoOpenStorybooksOnLaunch
-{
- BOOL autoJump = [[NSUserDefaults standardUserDefaults] boolForKey:ARJumpStraightIntoStorybooks];
- NSString *title = autoJump ? @"Stop auto-jumping into Storybooks" : @"Jump into Storybooks on launch";
-
- ARCellData *autoSwitchCellData = [[ARCellData alloc] initWithIdentifier:AROptionCell];
- [autoSwitchCellData setCellConfigurationBlock:^(UITableViewCell *cell) {
- cell.textLabel.text = title;
- cell.accessoryView = [[ARAnimatedTickView alloc] initWithSelection:autoJump];
- }];
-
- [autoSwitchCellData setCellSelectionBlock:^(UITableView *tableView, NSIndexPath *indexPath) {
- UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
- cell.accessoryView = [[ARAnimatedTickView alloc] initWithSelection:!autoJump];
-
- [self showAlertViewWithTitle:@"Confirm Switch" message:@"Switching auto-storybooks." actionTitle:@"Do it" actionHandler:^{
- [[NSUserDefaults standardUserDefaults] setBool:!autoJump forKey:ARJumpStraightIntoStorybooks];
- [[NSUserDefaults standardUserDefaults] synchronize];
- exit(0);
- }];
- }];
-
- return autoSwitchCellData;
-}
-
-
-- (ARCellData *)jumpToEndUserStorybooks
-{
- return [self tappableCellDataWithTitle:@"Open Storybook Browser" selection: ^{
- id viewController = [[ARComponentViewController alloc] initWithEmission:nil moduleName:@"StorybookBrowser" initialProperties: @{}];
- [self.navigationController pushViewController:viewController animated:YES];
- }];
-}
-
-
-- (ARCellData *)jumpToUserDocs
-{
- return [self tappableCellDataWithTitle:@"Open Emission beta Docs" selection: ^{
- NSURL *url = [NSURL URLWithString:@"https://github.com/artsy/emission/blob/master/docs/using_the_beta.md"];
- id viewController = [[InternalWebViewController alloc] initWithURL:url];
- [self.navigationController pushViewController:viewController animated:YES];
- }];
-}
-
-- (ARCellData *)jumpToSearch
-{
- return [self tappableCellDataWithTitle:@"Search" selection:^{
- id viewController = [[ARSearchComponentViewController alloc] init];
- [self.navigationController pushViewController:viewController animated:YES];
- }];
-}
-
-- (ARCellData *)jumpToArtwork
-{
- return [self tappableCellDataWithTitle:@"Artwork" selection:^{
- id viewController = [[ARArtworkComponentViewController alloc] initWithArtworkID:@"be-at-rbrick-mastermind-japan-1000-percent"];
- [self.navigationController pushViewController:viewController animated:YES];
- }];
-}
-
-- (ARCellData *)jumpToPartner
-{
- return [self tappableCellDataWithTitle:@"Partner" selection:^{
- id viewController = [[ARPartnerComponentViewController alloc] initWithPartnerID:@"gagosian-gallery"];
- [self.navigationController pushViewController:viewController animated:YES];
- }];
-}
-
-- (ARCellData *)jumpToArtist
-{
- NSString *artistID = @"andy-warhol";
- return [self viewControllerCellDataWithTitle:@"Artist"
- selection:^{
- id viewController = [[ARArtistComponentViewController alloc] initWithArtistID:artistID];
- [self.navigationController pushViewController:viewController animated:YES];
- }
- preload:^NSArray *{
- return [ARArtistComponentViewController preloadQueriesWithArtistID:artistID];
- }];
-}
-
-- (ARCellData *)jumpToCollection
-{
- return [self viewControllerCellDataWithTitle:@"Collection"
- selection:^{
- id viewController = [[ARCollectionComponentViewController alloc] initWithCollectionID:@"street-art-now"];
- [self.navigationController pushViewController:viewController animated:YES];
- }
- preload:nil];
-}
-
-- (ARCellData *)jumpToRandomArtist
-{
- NSString *sourceRoot = [NSProcessInfo processInfo].environment[@"SRCROOT"];
- NSString *artistListFromExample = @"../externals/metaphysics/schema/artist/maps/artist_title_slugs.js";
- NSString *slugsPath = [sourceRoot stringByAppendingPathComponent:artistListFromExample];
-
- NSFileManager *manager = [NSFileManager defaultManager];
-
- // Don't have the submodule? bail, it's no biggie
- if (![manager fileExistsAtPath:slugsPath]) { return nil; }
-
- // Otherwise lets support jumping to a random Artist
- return [self tappableCellDataWithTitle:@"Artist (random from metaphysics)" selection: ^{
- NSString *data = [NSString stringWithContentsOfFile:slugsPath encoding:NSUTF8StringEncoding error:nil];
- NSString *jsonString = [[[data
- stringByReplacingOccurrencesOfString:@"export default" withString:@""]
- stringByReplacingOccurrencesOfString:@"'" withString:@"\""]
- stringByReplacingOccurrencesOfString:@",\n];" withString:@"]"];
- NSArray *artists = [NSJSONSerialization JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];
- u_int32_t rnd = arc4random_uniform((uint32_t)artists.count);
- id viewController = [[ARArtistComponentViewController alloc] initWithArtistID:[artists objectAtIndex:rnd]];
- [self.navigationController pushViewController:viewController animated:YES];
- }];
-}
-
-- (ARCellData *)jumpToHomepage
-{
- return [self viewControllerCellDataWithTitle:@"Homepage"
- selection:^{
- id viewController = [[ARHomeComponentViewController alloc] initWithSelectedArtist:nil tab:ARHomeTabArtists emission:nil];
- [self.navigationController pushViewController:viewController animated:YES];
- }
- preload:^NSArray *{
- return [ARHomeComponentViewController preloadQueriesWithSelectedArtist:nil tab:ARHomeTabArtists];
- }];
-}
-
-- (ARCellData *)jumpToGene
-{
- NSString *geneID = @"minimalism";
- return [self viewControllerCellDataWithTitle:@"Gene"
- selection:^{
- id viewController = [[ARGeneComponentViewController alloc] initWithGeneID:geneID];
- [self.navigationController pushViewController:viewController animated:YES];
- }
- preload:^NSArray *{
- return [ARGeneComponentViewController preloadQueriesWithGeneID:geneID refineSettings:@{}];
- }];
-}
-
-- (ARCellData *)jumpToRefinedGene
-{
- // From: https://github.com/artsy/metaphysics/blob/master/schema/home/add_generic_genes.js
- NSString *geneID = @"emerging-art";
- NSDictionary *refineSettings = @{ @"medium": @"painting", @"price_range": @"50.00-10000.00" };
- return [self viewControllerCellDataWithTitle:@"Gene Refined"
- selection:^{
- id viewController = [[ARGeneComponentViewController alloc] initWithGeneID:geneID refineSettings:refineSettings];
- [self.navigationController pushViewController:viewController animated:YES];
- }
- preload:^NSArray *{
- return [ARGeneComponentViewController preloadQueriesWithGeneID:geneID refineSettings:refineSettings];
- }];
-}
-
-- (ARCellData *)jumpToMyProfile
-{
- return [self tappableCellDataWithTitle:@"My Profile"
- selection:^{
- id viewController = [[ARMyProfileComponentViewController alloc] init];
- [self.navigationController pushViewController:viewController animated:YES];
- }];
-}
-
-
-- (ARCellData *)jumpToConsignments
-{
- return [self tappableCellDataWithTitle:@"Start Consignment Flow" selection:^{
- [[(EigenLikeNavigationController *)self.navigationController backButton] setHidden:YES];
- id viewController = [[ARShowConsignmentsFlowViewController alloc] init];
-
- UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:viewController];
- nav.navigationBarHidden = YES;
- [self.navigationController presentViewController:nav animated:YES completion:NULL];
- }];
-}
-
-- (ARCellData *)jumpToInbox
-{
- return [self viewControllerCellDataWithTitle:@"Inbox"
- selection:^{
- id viewController = [[ARInboxComponentViewController alloc] initWithInbox];
- [self.navigationController pushViewController:viewController animated:YES];
- }
- preload:^NSArray *{
- return [ARInboxComponentViewController preloadQueries];
- }];
-}
-
-- (ARCellData *)jumpToInquiry
-{
- return [self tappableCellDataWithTitle:@"Inquiry" selection: ^{
- id viewController = [[ARInquiryComponentViewController alloc] initWithArtworkID:@"damien-hirst-analgesics"];
- [self.navigationController presentViewController:viewController animated:YES completion:nil];
- }];
-}
-
-- (ARCellData *)jumpToFavorites
-{
- return [self viewControllerCellDataWithTitle:@"Favorites"
- selection:^{
- id viewController = [[ARFavoritesComponentViewController alloc] init];
- [self.navigationController pushViewController:viewController animated:YES];
- }
- preload:^NSArray *{
- return [ARFavoritesComponentViewController preloadQueries];
- }];
-}
-
-- (ARCellData *)jumpToShow
-{
- return [self tappableCellDataWithTitle:@"Show" selection:^{
- id viewController = [[ARShowComponentViewController alloc] initWithShowID:@"harlan-levey-projects-recreational-painting"];
- [self.navigationController pushViewController:viewController animated:YES];
- }];
-}
-
-- (ARCellData *)jumpToFair
-{
- return [self tappableCellDataWithTitle:@"Fair" selection:^{
- id viewController = [[ARFairComponentViewController alloc] initWithFairID:@"the-art-show-2019"];
- [self.navigationController pushViewController:viewController animated:YES];
- }];
-}
-
-- (ARCellData *)jumpToMap
-{
- return [self tappableCellDataWithTitle:@"Map" selection:^{
- id viewController = [[ARMapContainerViewController alloc] init];
- [self.navigationController pushViewController:viewController animated:YES];
-
- }];
-}
-
-- (ARCellData *)jumpToBidFlow
-{
- NSString *artworkID = @"david-hockney-pool-made-with-paper-and-blue-ink-for-book-from-paper-pools-2";
- NSString *saleID = @"phillips-summer-school-1";
- return [self viewControllerCellDataWithTitle:@"Bid Flow" selection: ^{
- ARBidFlowViewController *bidFlowController = [[ARBidFlowViewController alloc] initWithArtworkID:artworkID saleID:saleID];
- EigenLikeNavigationController *navigationController = [[EigenLikeNavigationController alloc] initWithRootViewController:bidFlowController];
- navigationController.showBackButtonOnRoot = YES;
- [self presentViewController:navigationController animated:YES completion:nil];
- } preload:^NSArray *{
- return [ARBidFlowViewController preloadQueriesWithArtworkID:artworkID saleID:saleID intent:ARBidFlowViewControllerIntentBid];
- }];
-}
-
-- (ARCellData *)generateStagingSwitch
-{
- BOOL useStaging = [[NSUserDefaults standardUserDefaults] boolForKey:ARUseStagingDefault];
- NSString *title = [NSString stringWithFormat:@"Switch to %@ (Resets)", useStaging ? @"Production" : @"Staging"];
-
- ARCellData *crashCellData = [[ARCellData alloc] initWithIdentifier:AROptionCell];
- [crashCellData setCellConfigurationBlock:^(UITableViewCell *cell) {
- cell.textLabel.text = title;
- }];
-
- [crashCellData setCellSelectionBlock:^(UITableView *tableView, NSIndexPath *indexPath) {
- [self showAlertViewWithTitle:@"Confirm Switch" message:@"Switching servers may log you out. App will exit. Please re-open to log back in." actionTitle:@"Continue" actionHandler:^{
-
- [[NSUserDefaults standardUserDefaults] setBool:!useStaging forKey:ARUseStagingDefault];
- [[NSUserDefaults standardUserDefaults] synchronize];
- [[[AREmission sharedInstance] graphQLQueryCacheModule] clearAll];
-
- exit(0);
- }];
- }];
- return crashCellData;
-}
-
-- (ARCellData *)toggleRNPSwitch
-{
- BOOL forceRNP = [[NSUserDefaults standardUserDefaults] boolForKey:ARForceUseRNPDefault];
- NSString *rnpLocation = [[NSUserDefaults standardUserDefaults] stringForKey:ARRNPackagerHostDefault];
- NSString *title = !forceRNP ? [NSString stringWithFormat:@"Use RNP with %@", rnpLocation] : @"Revert forced RNP";
-
- ARCellData *crashCellData = [[ARCellData alloc] initWithIdentifier:AROptionCell];
- [crashCellData setCellConfigurationBlock:^(UITableViewCell *cell) {
- cell.textLabel.text = title;
- }];
-
- [crashCellData setCellSelectionBlock:^(UITableView *tableView, NSIndexPath *indexPath) {
- [self showAlertViewWithTitle:@"Confirm Switch" message:@"Switching forced RNP settings." actionTitle:@"Continue" actionHandler:^{
-
- [[NSUserDefaults standardUserDefaults] setBool:!forceRNP forKey:ARForceUseRNPDefault];
- [[NSUserDefaults standardUserDefaults] synchronize];
- exit(0);
- }];
- }];
- return crashCellData;
-}
-
-- (ARCellData *)emissionJSLocationDescription:(NSString *)loadedFromString
-{
- return [self informationCellDataWithTitle:loadedFromString];
-}
-
-- (ARSectionData *)userSection
-{
- ARSectionData *sectionData = [[ARSectionData alloc] init];
- [self setupSection:sectionData withTitle:@"User"];
-
- [sectionData addCellData:self.jumpToEndUserStorybooks];
-#if defined(DEPLOY)
- [sectionData addCellData:self.jumpToUserDocs];
-#endif
-
- return sectionData;
-}
-
-- (ARSectionData *)adminSection
-{
- ARSectionData *sectionData = [[ARSectionData alloc] init];
- [self setupSection:sectionData withTitle:@"Admin"];
- [sectionData addCellData:self.showSentryLogs];
-
- AppSetup *setup = [AppSetup ambientSetup];
- if (setup.inStaging) {
- [sectionData addCellDataFromArray:@[
- [self editableTextCellDataWithName:@"Gravity API" defaultKey:ARStagingAPIURLDefault],
- [self editableTextCellDataWithName:@"Metaphysics API" defaultKey:ARStagingMetaphysicsURLDefault],
- [self editableTextCellDataWithName:@"Prediction URL" defaultKey:ARStagingPredictionURLDefault],
- [self editableTextCellDataWithName:@"RN Packager" defaultKey:ARRNPackagerHostDefault],
- ]];
-
- }
-
- [sectionData addCellData:self.toggleRNPSwitch];
- [sectionData addCellData:self.generateStagingSwitch];
- [sectionData addCellData:self.clearGraphQLQueryCache];
- [sectionData addCellData:self.clearImageCache];
- [sectionData addCellData:self.logOutButton];
- return sectionData;
-}
-
-- (ARCellData *)clearGraphQLQueryCache;
-{
- return [self tappableCellDataWithTitle:@"Clear GraphQL Query Cache" selection:^{
- [[[AREmission sharedInstance] graphQLQueryCacheModule] clearAll];
- }];
-}
-
-- (ARCellData *)clearImageCache;
-{
- return [self tappableCellDataWithTitle:@"Clear image cache" selection:^{
- SDWebImageManager *manager = [SDWebImageManager sharedManager];
- [[manager imageCache] clearDiskOnCompletion:^{
- [[manager imageCache] clearMemory];
- }];
- }];
-}
-
-- (ARCellData *)logOutButton
-{
- return [self tappableCellDataWithTitle:@"Log Out" selection:^{
- [self showAlertViewWithTitle:@"Confirm Log Out" message:@"" actionTitle:@"Continue" actionHandler:^{
-
- [self.authenticationManager logOut];
- exit(0);
- }];
- }];
-}
-
-- (ARCellData *)showSentryLogs
-{
- return [self tappableCellDataWithTitle:@"Show Sentry Breadcrumbs" selection:^{
- [self.navigationController pushViewController:[[ARAdminSentryBreadcrumbViewController alloc] init] animated:YES];
- }];
-}
-
-@end
diff --git a/emission/Example/Emission/ARStorybookComponentViewController.h b/emission/Example/Emission/ARStorybookComponentViewController.h
deleted file mode 100644
index 1cca8fd5e5f..00000000000
--- a/emission/Example/Emission/ARStorybookComponentViewController.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#import
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface ARStorybookComponentViewController : ARComponentViewController
-
-- (instancetype)init;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/emission/Example/Emission/ARStorybookComponentViewController.m b/emission/Example/Emission/ARStorybookComponentViewController.m
deleted file mode 100644
index a8eaee1de1d..00000000000
--- a/emission/Example/Emission/ARStorybookComponentViewController.m
+++ /dev/null
@@ -1,10 +0,0 @@
-#import "ARStorybookComponentViewController.h"
-
-@implementation ARStorybookComponentViewController
-
-- (instancetype)init;
-{
- return [self initWithEmission:nil moduleName:@"Storybook" initialProperties:nil];
-}
-
-@end
diff --git a/emission/Example/Emission/ARTickedTableViewCell.h b/emission/Example/Emission/ARTickedTableViewCell.h
deleted file mode 100644
index 69583f0d985..00000000000
--- a/emission/Example/Emission/ARTickedTableViewCell.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#import "ARAdminTableViewCell.h"
-
-
-@interface ARTickedTableViewCell : ARAdminTableViewCell
-
-- (void)setTickSelected:(BOOL)selected animated:(BOOL)animated;
-- (BOOL)isSelected;
-@end
diff --git a/emission/Example/Emission/ARTickedTableViewCell.m b/emission/Example/Emission/ARTickedTableViewCell.m
deleted file mode 100644
index 51ce2e648ce..00000000000
--- a/emission/Example/Emission/ARTickedTableViewCell.m
+++ /dev/null
@@ -1,36 +0,0 @@
-#import "ARTickedTableViewCell.h"
-#import "ARAnimatedTickView.h"
-
-
-@implementation ARTickedTableViewCell
-
-- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
-{
- self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
- if (self) {
- self.useSerifFont = YES;
- self.selectionStyle = UITableViewCellSelectionStyleNone;
- self.accessoryView = [[ARAnimatedTickView alloc] initWithSelection:NO];
- self.textLabel.textColor = [UIColor blackColor];
- }
- return self;
-}
-
-// Using setSelected comes with too much baggage. Lets simplify.
-
-- (void)setTickSelected:(BOOL)selected animated:(BOOL)animated
-{
- if ([self.accessoryView isKindOfClass:[ARAnimatedTickView class]]) {
- [(ARAnimatedTickView *)self.accessoryView setSelected:selected animated:animated];
- }
-}
-
-- (BOOL)isSelected
-{
- if ([self.accessoryView isKindOfClass:[ARAnimatedTickView class]]) {
- return [(ARAnimatedTickView *)self.accessoryView selected];
- }
- return NO;
-}
-
-@end
diff --git a/emission/Example/Emission/ARTopMenuViewController.h b/emission/Example/Emission/ARTopMenuViewController.h
deleted file mode 100644
index cbae1055bfc..00000000000
--- a/emission/Example/Emission/ARTopMenuViewController.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#import
-
-@interface ARTopMenuViewController : UIViewController
-
-- (instancetype) initWithNavigationController:(UINavigationController *)controller;
-
-@end
diff --git a/emission/Example/Emission/ARTopMenuViewController.m b/emission/Example/Emission/ARTopMenuViewController.m
deleted file mode 100644
index 51bcc2ad405..00000000000
--- a/emission/Example/Emission/ARTopMenuViewController.m
+++ /dev/null
@@ -1,37 +0,0 @@
-#import "ARTopMenuViewController.h"
-#import
-
-@interface ARTopMenuViewController ()
-@property (nonatomic, strong) UINavigationController *nav;
-@property (nonatomic, strong) NSLayoutConstraint *statusBarVerticalConstraint;
-
-@end
-
-@implementation ARTopMenuViewController
-
-- (instancetype) initWithNavigationController:(UINavigationController *)controller
-{
- self = [super init];
- if (!self) { return nil; }
-
- _nav = controller;
- return self;
-}
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
-
- // Add the nav to our VC
- [self.nav willMoveToParentViewController:self];
- [self addChildViewController:self.nav];
- [self.view addSubview:self.nav.view];
- [self.nav didMoveToParentViewController:self];
- [self addChildViewController:self.nav];
-
- [self.nav.view alignTopEdgeWithView:self.view predicate:@"0"];
- [self.nav.view alignBottom:@"0" trailing:@"0" toView:self.view];
- [self.nav.view constrainWidthToView:self.view predicate:@"0"];
-}
-
-@end
diff --git a/emission/Example/Emission/AppDelegate.h b/emission/Example/Emission/AppDelegate.h
deleted file mode 100644
index 98a59aca993..00000000000
--- a/emission/Example/Emission/AppDelegate.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#import
-
-@interface AppDelegate : UIResponder
-@property (strong, nonatomic) UIWindow *window;
-@property (nonatomic, strong) NSString *emissionLoadedFromString;
-
-// TODO: abstract into a switchboard?
-- (UIViewController *)viewControllerForRoute:(NSString *)route;
-
-// Reloads Emission, and re-creates native modules etc
-- (void)reloadEmission;
-@end
-
diff --git a/emission/Example/Emission/AppDelegate.m b/emission/Example/Emission/AppDelegate.m
deleted file mode 100644
index fc5c8fbd6b3..00000000000
--- a/emission/Example/Emission/AppDelegate.m
+++ /dev/null
@@ -1,437 +0,0 @@
-#import
-#import
-
-#import "AppDelegate.h"
-#import "ARDefaults.h"
-#import "AppSetup.h"
-
-#import "ARTopMenuViewController.h"
-#import "EigenLikeNavigationController.h"
-#import "ARRootViewController.h"
-#import "UnroutedViewController.h"
-
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-
-#import "ARStorybookComponentViewController.h"
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-#import
-
-#import "InternalWebViewController.h"
-#import
-#import
-#import "AuthenticationManager.h"
-#import "LoadingSpinner.h"
-
-#import
-
-// If you have the ID of a user and an access token for them, you can impersonate them by hardcoding those here.
-// Obviously you should *never* check these in!
-
-static NSString *UserID = nil;
-static NSString *UserAccessToken = nil;
-
-static BOOL
-randomBOOL(void)
-{
- return rand() % 2 == 1;
-}
-
-@interface AppDelegate ()
-@property (nonatomic, strong) EigenLikeNavigationController *navigationController;
-@property (nonatomic, strong) LoadingSpinner *spinner;
-@end
-
-@implementation AppDelegate
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
-{
- // Sets all our default defaults
- [ARDefaults setup];
-
- AppSetup *setup = [AppSetup ambientSetup];
- NSString *service = setup.inStaging ? @"Emission-Staging" : @"Emission-Production";
-
- BOOL isImpersonating = UserID && UserAccessToken;
- AuthenticationManager *auth = isImpersonating ? nil : [[AuthenticationManager alloc] initWithService:service];
- self.spinner = [LoadingSpinner new];
-
- ARRootViewController *rootVC = [ARRootViewController new];
- rootVC.authenticationManager = auth;
-
- self.navigationController = [[EigenLikeNavigationController alloc] initWithRootViewController:rootVC];
-
- self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
- self.window.backgroundColor = [UIColor whiteColor];
- self.window.rootViewController = [[ARTopMenuViewController alloc] initWithNavigationController:self.navigationController];;
- [self.window makeKeyAndVisible];
-
- BOOL isAuthenticated = isImpersonating || auth.isAuthenticated;
- NSString *userID = isImpersonating ? UserID : auth.userID;
- NSString *accessToken = isImpersonating ? UserAccessToken : auth.token;
-
- if (isAuthenticated) {
- [self setupEmissionWithUserID:userID accessToken:accessToken keychainService:service];
- } else {
- [self.spinner presentSpinnerOnViewController:rootVC title:@"Logging in" subtitle:nil completion:^{
- [auth presentAuthenticationPromptOnViewController:rootVC.presentedViewController completion:^{
- NSLog(@"Logged in successfully :)");
- [self setupEmissionWithUserID:[auth userID] accessToken:[auth token] keychainService:service];
- }];
- }];
- }
-
- return YES;
-}
-
-
-#pragma mark - Emission
-
-- (void)reloadEmission
-{
- AppSetup *setup = [AppSetup ambientSetup];
- NSString *service = setup.inStaging ? @"Emission-Staging" : @"Emission-Production";
-
- BOOL isImpersonating = UserID && UserAccessToken;
- AuthenticationManager *auth = isImpersonating ? nil : [[AuthenticationManager alloc] initWithService:service];
-
- NSString *userID = isImpersonating ? UserID : auth.userID;
- NSString *accessToken = isImpersonating ? UserAccessToken : auth.token;
- [self setupEmissionWithUserID:userID accessToken:accessToken keychainService:service];
-}
-
-- (void)setupEmissionWithUserID:(NSString *)userID accessToken:(NSString *)accessToken keychainService:(NSString *)service;
-{
- AREmission *emission = nil;
-
- AppSetup *setup = [AppSetup ambientSetup];
-
- EmissionKeys *keys = [[EmissionKeys alloc] init];
-
-#if TARGET_IPHONE_SIMULATOR
- NSString *sentryDSN = nil;
-#else
- // Only use sentry when on a phone
- NSString *sentryDSN = [keys sentryProductionDSN];
- [self setupSentry:sentryDSN userID:userID];
-#endif
-
- AREmissionConfiguration *config = [[AREmissionConfiguration alloc] initWithUserID:userID
- authenticationToken:accessToken
- launchCount:2 // launches mod20 == 2 is the trigger for showing ratings prompt (eg, launch on 2, 22, 42, etc).
- sentryDSN:sentryDSN
- stripePublishableKey:[keys stripePublishableKey]
- googleMapsAPIKey:[keys googleMapsAPIKey]
- mapBoxAPIClientKey:[keys mapBoxAPIClientKey]
- gravityURL:setup.gravityURL
- metaphysicsURL:setup.metaphysicsURL
- predictionURL:setup.predictionURL
- userAgent:@"Emission Example"
- env:setup.inStaging ? AREnvStaging : AREnvProduction
- options:setup.options];
-
- emission = [[AREmission alloc] initWithConfiguration:config packagerURL:setup.jsCodeLocation];
- [AREmission setSharedInstance:emission];
- [emission.bridge reload];
-
- ARRootViewController *controller = (id)self.navigationController.topViewController;
- [controller.tableView reloadData];
-
- emission.APIModule.artistFollowStatusProvider = ^(NSString *artistID, RCTResponseSenderBlock block) {
- NSNumber *following = @(randomBOOL());
- NSLog(@"Artist(%@).follow => %@", artistID, following);
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
- block(@[[NSNull null], following]);
- });
- };
- emission.APIModule.artistFollowStatusAssigner = ^(NSString *artistID, BOOL following, RCTResponseSenderBlock block) {
- NSLog(@"Artist(%@).follow = %@", artistID, @(following));
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-// if (randomBOOL()) {
- block(@[[NSNull null], @(following)]);
-// } else {
-// NSLog(@"Simulated follow request ‘failed’.");
-// block(@[RCTJSErrorFromNSError([NSError errorWithDomain:@"Artsy" code:42 userInfo:nil]), @(!following)]);
-// }
- });
- };
-
- emission.APIModule.geneFollowStatusProvider = ^(NSString *geneID, RCTResponseSenderBlock block) {
- NSNumber *following = @(randomBOOL());
- NSLog(@"Gene(%@).follow => %@", geneID, following);
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
- block(@[[NSNull null], following]);
- });
- };
-
- emission.APIModule.geneFollowStatusAssigner = ^(NSString *geneID, BOOL following, RCTResponseSenderBlock block) {
- NSLog(@"Gene(%@).follow = %@", geneID, @(following));
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
- // if (randomBOOL()) {
- block(@[[NSNull null], @(following)]);
- // } else {
- // NSLog(@"Simulated follow request ‘failed’.");
- // block(@[RCTJSErrorFromNSError([NSError errorWithDomain:@"Artsy" code:42 userInfo:nil]), @(!following)]);
- // }
- });
- };
-
- emission.APIModule.notificationReadStatusAssigner = ^(RCTResponseSenderBlock block) {
- NSLog(@"notificationReadStatusAssigner from APIModule called");
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
- block(@[[NSNull null]]);
- });
- };
-
- emission.APIModule.augmentedRealityVIRPresenter = ^(NSString *imgUrl, CGFloat widthIn, CGFloat heightIn, NSString *artworkSlug, NSString *artworkId) {
- UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"VR!" message:[NSString stringWithFormat:@"slug: %@, width: %f, height: %f", artworkSlug, widthIn, heightIn] preferredStyle:UIAlertControllerStyleAlert];
- UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"ok" style:UIAlertActionStyleDefault handler:nil];
- [alert addAction:defaultAction];
- id controller = self.navigationController;
- [controller presentViewController:alert animated:YES completion:nil];
- };
-
- emission.switchBoardModule.updateShouldHideBackButton = ^(BOOL shouldHide) {
- dispatch_async(dispatch_get_main_queue(), ^{
- [[self.navigationController backButton] setHidden:shouldHide];
- });
- };
-
- emission.switchBoardModule.presentNavigationViewController = ^(UIViewController * _Nonnull fromViewController,
- NSString * _Nonnull route) {
- if ([fromViewController isKindOfClass:ARStorybookComponentViewController.class]) {
- NSLog(@"Route push - %@", route);
- return;
- }
- [fromViewController.navigationController pushViewController:[self viewControllerForRoute:route] animated:YES];
- };
-
- emission.switchBoardModule.presentModalViewController = ^(UIViewController * _Nonnull fromViewController,
- NSString * _Nonnull route) {
- if ([fromViewController isKindOfClass:ARStorybookComponentViewController.class]) {
- NSLog(@"Route modal - %@", route);
- return;
- }
- UIViewController *viewController = [self viewControllerForRoute:route];
- UINavigationController *navigationController = [[EigenLikeNavigationController alloc] initWithRootViewController:viewController];
- navigationController.navigationBarHidden = NO;
- viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
- target:self
- action:@selector(dismissModalViewController)];
- // If the source of this dismiss call is itself being dismissed, then present form our own navigation controller.
- // Otherwise, present from _its_ navigation controller.
- if (fromViewController.isBeingDismissed || fromViewController.navigationController.isBeingDismissed) {
- [self.navigationController presentViewController:navigationController animated:YES completion:nil];
- } else {
- [fromViewController.navigationController presentViewController:navigationController animated:YES completion:nil];
- }
- };
-
- emission.eventsModule.eventOccurred = ^(NSDictionary * _Nonnull info) {
- NSLog(@"[Event] - %@", info);
- };
-
- emission.refineModule.triggerRefine = ^(NSDictionary *_Nonnull initial, NSDictionary *_Nonnull current, UIViewController *_Nonnull controller, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject) {
- sleep(1);
- resolve(@{ @"sort": @"-year", @"medium": @"design", @"selectedPrice": @"0-50000" });
- };
-
- emission.worksForYouModule.setNotificationsCount = ^(NSInteger count) {
- sleep(1);
- NSLog(@"Set notifications count: %@", @(count));
- };
-}
-
-- (NSString *)valueForKey:(NSString *)key
- fromQueryItems:(NSArray *)queryItems
-{
- NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name=%@", key];
- NSURLQueryItem *queryItem = [[queryItems
- filteredArrayUsingPredicate:predicate]
- firstObject];
- return queryItem.value;
-}
-
-- (UIViewController *)viewControllerForRoute:(NSString *)route;
-{
- UIViewController *viewController = nil;
-
-
- BOOL isShow = [route hasPrefix:@"/show/"] || [route hasPrefix:@"show/"];
- BOOL isCityBMWList = [route hasPrefix:@"/city-bmw-list"];
- BOOL isCityFairList = [route hasPrefix:@"/city-fair/"];
- BOOL isCitySavedList = [route hasPrefix:@"/city-save/"];
- BOOL isCityList = [route hasPrefix:@"/city/"];
-
- if ([route hasPrefix:@"ios-settings"]) {
- viewController = [[ARMyProfileComponentViewController alloc] init];
-
- } else if ([route hasPrefix:@"privacy-request"]) {
- viewController = [[ARPrivacyRequestComponentViewController alloc] init];
-
- } else if ([route hasPrefix:@"/artist/"] && [route componentsSeparatedByString:@"/"].count == 3) {
- NSString *artistID = [[route componentsSeparatedByString:@"/"] lastObject];
- viewController = [[ARArtistComponentViewController alloc] initWithArtistID:artistID];
-
- } else if ([route hasPrefix:@"/artwork/"]) {
- NSString *artworkID = [[route componentsSeparatedByString:@"/"] lastObject];
- viewController = [[ARArtworkComponentViewController alloc] initWithArtworkID:artworkID];
-
- } else if ([route hasPrefix:@"/partner-locations"]) {
- NSString *partnerID = [[route componentsSeparatedByString:@"/"] lastObject];
- viewController = [[ARPartnerLocationsComponentViewController alloc] initWithPartnerID:partnerID];
-
- } else if ([route hasPrefix:@"/partner"]) {
- NSString *partnerID = [[route componentsSeparatedByString:@"/"] lastObject];
- viewController = [[ARPartnerComponentViewController alloc] initWithPartnerID:partnerID];
-
- } else if ([route hasPrefix:@"/gene/"] || [route hasPrefix:@"gene/"]) {
- NSString *geneID = [[[[route componentsSeparatedByString:@"/"] lastObject] componentsSeparatedByString:@"?"] firstObject];
- NSURLComponents *components = [NSURLComponents componentsWithString:route];
- NSMutableDictionary *params = [NSMutableDictionary dictionary];
- for ( NSURLQueryItem *item in components.queryItems) {
- params[item.name] = item.value;
- }
- viewController = [[ARGeneComponentViewController alloc] initWithGeneID:geneID refineSettings:params];
-
- } else if ([route hasPrefix:@"/conversation/"] || [route hasPrefix:@"conversation/"]) {
- NSString *conversationID = [[route componentsSeparatedByString:@"/"] lastObject];
- viewController = [[ARConversationComponentViewController alloc] initWithConversationID:conversationID];
-
- } else if ([route isEqualToString:@"/"]) {
- viewController = [[ARHomeComponentViewController alloc] initWithSelectedArtist:nil tab:ARHomeTabArtists emission:nil];
-
- } else if ([route hasPrefix:@"/works-for-you/"] || [route hasPrefix:@"works-for-you"]) {
- NSURLComponents *components = [[NSURLComponents alloc] initWithString:route];
- NSString *artistID = [self valueForKey:@"artist_id" fromQueryItems:components.queryItems];
- viewController = [[ARHomeComponentViewController alloc] initWithSelectedArtist:artistID tab:ARHomeTabArtists emission:nil];
-
- } else if ([route hasSuffix:@"entity=gallery"]){
- return [[UnroutedViewController alloc] initWithRoute:route];
-
- } else if ([route hasSuffix:@"entity=fair"]) {
- NSString *fairID = [[route componentsSeparatedByString:@"/"] lastObject];
- viewController = [[ARFairComponentViewController alloc] initWithFairID:fairID];
-
- } else if ([route hasSuffix:@"entity=fair-booth"]) {
- NSString *fairBoothID = [[route componentsSeparatedByString:@"/"] lastObject];
- viewController = [[ARFairBoothComponentViewController alloc] initWithFairBoothID:fairBoothID];
-
- } else if ([route hasPrefix:@"/fair"] && [route hasSuffix:@"/artworks"]) {
- NSString *fairID = [[route componentsSeparatedByString:@"/"] objectAtIndex:2];
- viewController = [[ARFairArtworksComponentViewController alloc] initWithFairID:fairID];
-
- } else if ([route hasPrefix:@"/fair"] && [route hasSuffix:@"/artists"]) {
- NSString *fairID = [[route componentsSeparatedByString:@"/"] objectAtIndex:2];
- viewController = [[ARFairArtistsComponentViewController alloc] initWithFairID:fairID];
-
- } else if ([route hasPrefix:@"/fair"] && [route hasSuffix:@"/exhibitors"]) {
- NSString *fairID = [[route componentsSeparatedByString:@"/"] objectAtIndex:2];
- viewController = [[ARFairExhibitorsComponentViewController alloc] initWithFairID:fairID];
-
- } else if ([route hasPrefix:@"/fair"] && [route hasSuffix:@"/info"]) {
- NSString *fairID = [[route componentsSeparatedByString:@"/"] objectAtIndex:2];
- viewController = [[ARFairMoreInfoComponentViewController alloc] initWithFairID:fairID];
-
- } else if ([route hasPrefix:@"/fair"] && [route hasSuffix:@"/bmw-sponsored-content"]) {
- NSString *fairID = [[route componentsSeparatedByString:@"/"] objectAtIndex:2];
- viewController = [[ARFairBMWArtActivationComponentViewController alloc] initWithFairID:fairID];
-
- } else if ([route hasSuffix:@"entity=fair-booth"]) {
- NSString *fairBoothID = [[route componentsSeparatedByString:@"/"] lastObject];
- viewController = [[ARFairBoothComponentViewController alloc] initWithFairBoothID:fairBoothID];
-
- } else if (isShow && [route hasSuffix:@"/artworks"]) {
- NSString *showID = [[route componentsSeparatedByString:@"/"] objectAtIndex:2];
- viewController = [[ARShowArtworksComponentViewController alloc] initWithShowID:showID];
-
- } else if (isShow && [route hasSuffix:@"/artists"]) {
- NSString *showID = [[route componentsSeparatedByString:@"/"] objectAtIndex:2];
- viewController = [[ARShowArtistsComponentViewController alloc] initWithShowID:showID];
-
- } else if (isShow && [route hasSuffix:@"/info"]) {
- NSString *showID = [[route componentsSeparatedByString:@"/"] objectAtIndex:2];
- viewController = [[ARShowMoreInfoComponentViewController alloc] initWithShowID:showID];
-
- } else if (isCityFairList) {
- NSString *citySlug = [[route componentsSeparatedByString:@"/"] lastObject];
- viewController = [[ARCityFairListComponentViewController alloc] initWithCitySlug:citySlug];
-
- } else if (isCitySavedList) {
- NSString *citySlug = [[route componentsSeparatedByString:@"/"] lastObject];
- viewController = [[ARCitySavedListComponentViewController alloc] initWithCitySlug:citySlug];
-
- } else if (isCityList) {
- NSString *citySlug = [[route componentsSeparatedByString:@"/"] objectAtIndex:2];
- NSString *section = [[route componentsSeparatedByString:@"/"] objectAtIndex:3];
- viewController = [[ARCitySectionListComponentViewController alloc] initWithCitySlug:citySlug section:section];
-
- } else if (isShow) {
- NSString *showID = [route componentsSeparatedByString:@"/"].lastObject;
- viewController = [[ARShowComponentViewController alloc] initWithShowID:showID];
-
- } else if (isCityBMWList) {
- NSString *citySlug = [[route componentsSeparatedByString:@"/"] lastObject];
- viewController = [[ARCityBMWListComponentViewController alloc] initWithCitySlug:citySlug];
-
- } else if ([route isEqualToString:@"/artwork-classifications"]) {
- viewController = [[ARArtworkAttributionClassFAQViewController alloc] init];
- } else {
- viewController = [[UnroutedViewController alloc] initWithRoute:route];
- }
-
- return viewController;
-}
-
-- (void)dismissModalViewController;
-{
- UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
- [navigationController dismissViewControllerAnimated:YES completion:nil];
-}
-
-- (void)setupSentry:(NSString *)sentryDSN userID:(NSString *)userID
-{
- NSError *error = nil;
- SentryClient *client = [[SentryClient alloc] initWithDsn:sentryDSN didFailWithError:&error];
- NSAssert(error == nil, @"Unable to initialize a SentryClient SDK: %@", error);
- error = nil;
- [client startCrashHandlerWithError:&error];
- NSAssert(error == nil, @"Unable to start the Sentry crash handler: %@", error);
- [SentryClient setSharedClient:client];
-
- // Log you in
- SentryUser *user = [[SentryUser alloc] initWithUserId:userID];
- SentryClient.sharedClient.user = user;
-
-}
-
-@end
diff --git a/emission/Example/Emission/AppSetup.h b/emission/Example/Emission/AppSetup.h
deleted file mode 100644
index 1adca9d89c7..00000000000
--- a/emission/Example/Emission/AppSetup.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#import
-
-@interface AppSetup: NSObject
-
-+ (instancetype)ambientSetup;
-
-- (instancetype)init NS_UNAVAILABLE;
-+ (instancetype)new NS_UNAVAILABLE;
-
-@property (nonatomic, readonly) BOOL inStaging;
-
-@property (nonatomic, readonly) BOOL usingRNP;
-@property (nonatomic, readonly) BOOL usingMaster;
-@property (nonatomic, readonly) BOOL usingPRBuild;
-
-@property (nonatomic, readonly) BOOL inSimulator;
-
-@property (copy, nonatomic, readonly) NSString *gravityURL;
-@property (copy, nonatomic, readonly) NSString *metaphysicsURL;
-@property (copy, nonatomic, readonly) NSString *predictionURL;
-@property (copy, nonatomic, readonly) NSString *packagerURL;
-
-@property (nonatomic, strong, readonly) NSString *emissionLoadedFromString;
-@property (nonatomic, strong, readonly) NSURL *jsCodeLocation;
-
-@property (nonatomic, strong, readonly) NSDictionary *options;
-
-@end
diff --git a/emission/Example/Emission/AppSetup.m b/emission/Example/Emission/AppSetup.m
deleted file mode 100644
index 381d9d718f1..00000000000
--- a/emission/Example/Emission/AppSetup.m
+++ /dev/null
@@ -1,92 +0,0 @@
-#import
-
-#import "ARDefaults.h"
-#import "AppSetup.h"
-#import
-#import "ARLabOptions.h"
-
-@implementation AppSetup
-
-+ (instancetype)ambientSetup
-{
- return [[self.class alloc] initWithAmbientContext];
-}
-
-- (instancetype)initWithAmbientContext
-{
- self = [super init];
- if (self) {
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
-
- NSString *packagerURL = [defaults stringForKey:ARRNPackagerHostDefault];;
- _gravityURL = @"https://api.artsy.net";
- _metaphysicsURL = @"https://metaphysics-production.artsy.net/v2";
- _predictionURL = @"https://live.artsy.net";
-
- BOOL useStaging = [defaults boolForKey:ARUseStagingDefault];
- if (useStaging) {
- _gravityURL = [defaults stringForKey:ARStagingAPIURLDefault];
- _metaphysicsURL = [defaults stringForKey:ARStagingMetaphysicsURLDefault];
- _predictionURL = [defaults stringForKey:ARStagingPredictionURLDefault];
- }
-
- BOOL runningUnitTests = NSClassFromString(@"XCTest") != Nil;
- BOOL runningCITests = NO;
- BOOL useMaster = ![[KSCrash sharedInstance] crashedLastLaunch];
- BOOL usePRBuild = NO;
- BOOL useRNP = NO;
- BOOL isSimulator = NO;
-
-#ifdef RUNNING_ON_CI
- runningCITests = YES;
-#endif
-
-#if TARGET_IPHONE_SIMULATOR
- isSimulator = !runningCITests; // Don't use RNP with unit tests
-#endif
-
- // Comment these out to set yourself up as though you were running the beta
- usePRBuild = [defaults boolForKey:ARUsePREmissionDefault];
- useMaster = useMaster || isSimulator;
- useRNP = isSimulator || [defaults boolForKey:ARForceUseRNPDefault];
-
- if (runningUnitTests) {
- if (runningCITests) {
- // nop on CI, we'll fall back to the bundled Emission JS which we've just built with `yarn bundle:native-tests`
- NSLog(@"ASH I AM HERE");
- } else {
- NSString *rnpString = [NSString stringWithFormat:@"http://%@:8081/Example/Emission/index.tests.ios.bundle?platform=ios&dev=true", packagerURL];
-
- _jsCodeLocation = [NSURL URLWithString:rnpString];
- _emissionLoadedFromString = [NSString stringWithFormat:@"Using Unit Test RNP from %@", _jsCodeLocation.host];
- }
- } else if (useRNP) {
- NSString *rnpString = [NSString stringWithFormat:@"http://%@:8081/Example/Emission/index.ios.bundle?platform=ios&dev=true", packagerURL];
-
- _jsCodeLocation = [NSURL URLWithString:rnpString];
- _emissionLoadedFromString = [NSString stringWithFormat:@"Using RNP from %@", _jsCodeLocation.host];
- }
-
- // Fall back to the bundled Emission JS for release
- if (!_jsCodeLocation) {
- NSBundle *emissionBundle = [NSBundle bundleForClass:AREmission.class];
-
- _jsCodeLocation = [emissionBundle URLForResource:@"Emission" withExtension:@"js"];
- _emissionLoadedFromString = @"Using bundled JS";
- NSLog(@"%@", _emissionLoadedFromString);
- }
-
- _inSimulator = isSimulator;
- _inStaging = useStaging;
-
- _usingMaster = useMaster;
- _usingRNP = useRNP;
- _usingPRBuild = usePRBuild;
-
- _options = [ARLabOptions labOptionsMap];
- }
-
- return self;
-}
-
-@end
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Contents.json b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 307e83865c1..00000000000
--- a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "iphone",
- "size" : "20x20",
- "scale" : "2x"
- },
- {
- "idiom" : "iphone",
- "size" : "20x20",
- "scale" : "3x"
- },
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "Icon-Small@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "iphone_settings_29@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "Icon-Small-40@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "iphone_spotlight_40@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "Icon-60@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "iphone_app_60@3x.png",
- "scale" : "3x"
- },
- {
- "idiom" : "ipad",
- "size" : "20x20",
- "scale" : "1x"
- },
- {
- "idiom" : "ipad",
- "size" : "20x20",
- "scale" : "2x"
- },
- {
- "idiom" : "ipad",
- "size" : "29x29",
- "scale" : "1x"
- },
- {
- "size" : "29x29",
- "idiom" : "ipad",
- "filename" : "Icon-Small@2x-1.png",
- "scale" : "2x"
- },
- {
- "idiom" : "ipad",
- "size" : "40x40",
- "scale" : "1x"
- },
- {
- "size" : "40x40",
- "idiom" : "ipad",
- "filename" : "Icon-Small-40@2x-1.png",
- "scale" : "2x"
- },
- {
- "size" : "76x76",
- "idiom" : "ipad",
- "filename" : "ipad_app_76@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "76x76",
- "idiom" : "ipad",
- "filename" : "ipad_app_76@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "83.5x83.5",
- "idiom" : "ipad",
- "filename" : "ipad_pro_app_83@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "1024x1024",
- "idiom" : "ios-marketing",
- "filename" : "Emission-itunes.png",
- "scale" : "1x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Emission-itunes.png b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Emission-itunes.png
deleted file mode 100644
index 97400acf013..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Emission-itunes.png and /dev/null differ
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png
deleted file mode 100644
index fef8ab1ccb4..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png
deleted file mode 100644
index c68437f4356..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x-1.png and /dev/null differ
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png
deleted file mode 100644
index c68437f4356..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png and /dev/null differ
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png
deleted file mode 100644
index e6c3eb0da85..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png and /dev/null differ
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
deleted file mode 100644
index e6c3eb0da85..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png and /dev/null differ
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/ipad_app_76@1x.png b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/ipad_app_76@1x.png
deleted file mode 100644
index f705165fa02..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/ipad_app_76@1x.png and /dev/null differ
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/ipad_app_76@2x.png b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/ipad_app_76@2x.png
deleted file mode 100644
index edfa4679d40..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/ipad_app_76@2x.png and /dev/null differ
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/ipad_pro_app_83@2x.png b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/ipad_pro_app_83@2x.png
deleted file mode 100644
index e6b5666ae5b..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/ipad_pro_app_83@2x.png and /dev/null differ
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/iphone_app_60@3x.png b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/iphone_app_60@3x.png
deleted file mode 100644
index 02cd206f575..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/iphone_app_60@3x.png and /dev/null differ
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/iphone_settings_29@3x.png b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/iphone_settings_29@3x.png
deleted file mode 100644
index cc9e966a74e..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/iphone_settings_29@3x.png and /dev/null differ
diff --git a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/iphone_spotlight_40@3x.png b/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/iphone_spotlight_40@3x.png
deleted file mode 100644
index fef8ab1ccb4..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/AppIcon.appiconset/iphone_spotlight_40@3x.png and /dev/null differ
diff --git a/emission/Example/Emission/Assets.xcassets/Contents.json b/emission/Example/Emission/Assets.xcassets/Contents.json
deleted file mode 100644
index da4a164c918..00000000000
--- a/emission/Example/Emission/Assets.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/emission/Example/Emission/Assets.xcassets/gradient.imageset/Contents.json b/emission/Example/Emission/Assets.xcassets/gradient.imageset/Contents.json
deleted file mode 100644
index 54499582a28..00000000000
--- a/emission/Example/Emission/Assets.xcassets/gradient.imageset/Contents.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "gradient.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/emission/Example/Emission/Assets.xcassets/gradient.imageset/gradient.png b/emission/Example/Emission/Assets.xcassets/gradient.imageset/gradient.png
deleted file mode 100644
index 598148ab15c..00000000000
Binary files a/emission/Example/Emission/Assets.xcassets/gradient.imageset/gradient.png and /dev/null differ
diff --git a/emission/Example/Emission/AuthenticationManager.h b/emission/Example/Emission/AuthenticationManager.h
deleted file mode 100644
index 2cfc3346f46..00000000000
--- a/emission/Example/Emission/AuthenticationManager.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#import
-#import
-
-/// Handles Keychain communication, and setup for
-/// the user authentication details
-
-@interface AuthenticationManager : NSObject
-
-- (instancetype)initWithService:(NSString *)scheme;
-
-- (void)presentAuthenticationPromptOnViewController:(UIViewController *)viewController completion:(dispatch_block_t)completion;
-
-- (void)logOut;
-
-/// Is there a userID & token?
-@property (readonly) BOOL isAuthenticated;
-
-/// User's unique UUID
-@property (readonly) NSString *userID;
-/// Auth token
-@property (readonly) NSString *token;
-/// The scheme used by the current authentication route
-@property (readonly) NSString *service;
-
-@end
diff --git a/emission/Example/Emission/AuthenticationManager.m b/emission/Example/Emission/AuthenticationManager.m
deleted file mode 100644
index 2b57c5980f4..00000000000
--- a/emission/Example/Emission/AuthenticationManager.m
+++ /dev/null
@@ -1,136 +0,0 @@
-#import "AuthenticationManager.h"
-#import "ARDefaults.h"
-#import "AppSetup.h"
-
-#import
-#import
-
-#import
-#import
-#import
-#import
-
-@interface AuthenticationManager()
-@property (nonatomic, strong) UIViewController *viewController;
-@end
-
-@implementation AuthenticationManager
-
-- (instancetype)initWithService:(NSString *)service
-{
- if ((self = [super init])) {
- _service = service;
- [self updateFromStoredCredentials];
- };
- return self;
-}
-
-- (void)updateFromStoredCredentials
-{
-
- _userID = [SAMKeychain accountsForService:self.service][0][kSAMKeychainAccountKey];
- _token = [SAMKeychain passwordForService:self.service account:_userID];
- _isAuthenticated = _userID && _token;
-}
-
-- (void)presentAuthenticationPromptOnViewController:(UIViewController *)viewController completion:(dispatch_block_t)completion
-{
- self.viewController = viewController;
- [self showAuthenticationToArtsy:nil completion:completion];
-}
-
-/// Create an alert view to type in your user credentials
-
-- (void)showAuthenticationToArtsy:(NSString *)errorMessage completion:(dispatch_block_t)completion
-{
- AppSetup *setup = [AppSetup ambientSetup];
- NSString *prodOrStaging = setup.inStaging ? @"staging" : @"production";
- NSString *message = errorMessage ? errorMessage : [NSString stringWithFormat:@"Enter your %@ Artsy credentials", prodOrStaging];
- UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Authentication"
- message:message
- preferredStyle:UIAlertControllerStyleAlert];
-
- [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
- textField.placeholder = @"Email";
- }];
-
- [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
- textField.placeholder = @"Password";
- textField.secureTextEntry = YES;
- }];
-
- __weak UIAlertController *weakAlert = alert;
- [alert addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
- [self authenticateWithEmail:weakAlert.textFields[0].text
- password:weakAlert.textFields[1].text
- keychainService:self.service
- completion:completion];
- }]];
-
- [self.viewController presentViewController:alert animated:YES completion:nil];
-}
-
-/// Attempt to log in with creds, if it fails, set up the alert view again
-
-- (void)authenticateWithEmail:(NSString *)email password:(NSString *)password keychainService:(NSString *)service completion:(dispatch_block_t)completion;
-{
- EmissionKeys *keys = [[EmissionKeys alloc] init];
-
- if(![keys artsyAPIClientKey] || ![keys artsyAPIClientSecret]) {
- @throw @"You need to set up your CocoaPods Keys, you may have to run `bundle exec pod install` in the Example dir.";
- }
- [keys stripePublishableKey];
-
- ArtsyAuthentication *auth = [[ArtsyAuthentication alloc] initWithClientID:[keys artsyAPIClientKey]
- clientSecret:[keys artsyAPIClientSecret]];
-
- BOOL useStaging = [[NSUserDefaults standardUserDefaults] boolForKey:ARUseStagingDefault];
- auth.router.staging = useStaging;
-
- [auth getWeekLongXAppTrialToken:^(ArtsyToken *token, NSError *error) {
- if (error) {
- NSLog(@"%@", error);
- [self showAuthenticationToArtsy:nil completion:completion];
- } else {
- [auth logInAndFetchUserDetailsWithEmail:email
- password:password
- completion:^(ArtsyToken *token, NSDictionary *userDetails, NSError *error) {
- (void)auth; // keep a strong reference for as long as needed
- dispatch_async(dispatch_get_main_queue(), ^{
- if (error) {
- NSLog(@"%@", error);
- [self showAuthenticationToArtsy:error.localizedFailureReason completion:completion];
-
- } else {
- NSString *userID = userDetails[@"_id"];
- NSString *accessToken = token.token;
- NSParameterAssert(userID);
- NSParameterAssert(accessToken);
-
- NSError *error = nil;
- [SAMKeychain setPassword:accessToken forService:service account:userID error:&error];
- if (error) {
- NSLog(@"%@", error);
- }
-
- [self.viewController dismissViewControllerAnimated:YES completion:nil];
- [self updateFromStoredCredentials];
- completion();
- }
- });
- }];
- }
- }];
-}
-
-- (void)logOut
-{
- NSString *userID = [SAMKeychain accountsForService:self.service][0][kSAMKeychainAccountKey];
- NSError *error = nil;
- [SAMKeychain deletePasswordForService:self.service account:userID error:&error];
- if(error) {
- NSLog(@"Error: %@", error.localizedDescription);
- }
-}
-
-@end
diff --git a/emission/Example/Emission/Back.png b/emission/Example/Emission/Back.png
deleted file mode 100644
index 222f6acffb1..00000000000
Binary files a/emission/Example/Emission/Back.png and /dev/null differ
diff --git a/emission/Example/Emission/Back@2x.png b/emission/Example/Emission/Back@2x.png
deleted file mode 100644
index 83b34d9b917..00000000000
Binary files a/emission/Example/Emission/Back@2x.png and /dev/null differ
diff --git a/emission/Example/Emission/Back@3x.png b/emission/Example/Emission/Back@3x.png
deleted file mode 100644
index ddb401bdd06..00000000000
Binary files a/emission/Example/Emission/Back@3x.png and /dev/null differ
diff --git a/emission/Example/Emission/BackArrow@2x.png b/emission/Example/Emission/BackArrow@2x.png
deleted file mode 100644
index 45db8e2ebdb..00000000000
Binary files a/emission/Example/Emission/BackArrow@2x.png and /dev/null differ
diff --git a/emission/Example/Emission/BackArrowBlack@2x.png b/emission/Example/Emission/BackArrowBlack@2x.png
deleted file mode 100644
index 4529a353e4c..00000000000
Binary files a/emission/Example/Emission/BackArrowBlack@2x.png and /dev/null differ
diff --git a/emission/Example/Emission/BackArrow_Highlighted@2x.png b/emission/Example/Emission/BackArrow_Highlighted@2x.png
deleted file mode 100644
index 454a9b1dcdf..00000000000
Binary files a/emission/Example/Emission/BackArrow_Highlighted@2x.png and /dev/null differ
diff --git a/emission/Example/Emission/Base.lproj/LaunchScreen.xib b/emission/Example/Emission/Base.lproj/LaunchScreen.xib
deleted file mode 100644
index 90496311cb0..00000000000
--- a/emission/Example/Emission/Base.lproj/LaunchScreen.xib
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/emission/Example/Emission/EigenLikeAdminViewController.h b/emission/Example/Emission/EigenLikeAdminViewController.h
deleted file mode 100644
index 2ee034ef115..00000000000
--- a/emission/Example/Emission/EigenLikeAdminViewController.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#import
-#import
-
-/// Tickable cells
-extern NSString *const AROptionCell;
-/// Cells with a subtitle
-extern NSString *const ARSubtitledLabOptionCell;
-/// Cells with a preload button
-extern NSString *const ARPreloadOptionCell;
-/// Normal cells
-extern NSString *const ARLabOptionCell;
-
-@class ARGraphQLQuery;
-
-typedef NSArray *(^ARAdminVCPreloadBlock)(void);
-
-/// Provides some setup + extra functions on ARGenericTableViewController
-/// that are extra useful for admin tooling
-
-@interface EigenLikeAdminViewController : ARGenericTableViewController
-
-/// Adds an Artsy styled header to the section
-- (void)setupSection:(ARSectionData *)section withTitle:(NSString *)title;
-
-/// Show a "Are you sure?" with a cancel that doesn't run the closure
-- (void)showAlertViewWithTitle:(NSString *)title message:(NSString *)message actionTitle:(NSString *)actionTitle actionHandler:(void (^)(void))handler;
-
-/// Easy NSUserDefault toggle
-- (ARCellData *)editableTextCellDataWithName:(NSString *)name defaultKey:(NSString *)key;
-
-/// Metadata about the app version etc
-- (NSString *)titleForApp;
-
-/// Simple cell that has a title and a click handler
-- (ARCellData *)tappableCellDataWithTitle:(NSString *)title selection:(dispatch_block_t)selection;
-
-/// Simple cell that shows info
-- (ARCellData *)informationCellDataWithTitle:(NSString *)title;
-
-- (ARCellData *)viewControllerCellDataWithTitle:(NSString *)title
- selection:(dispatch_block_t)selection
- preload:(ARAdminVCPreloadBlock)preload;
-
-@end
diff --git a/emission/Example/Emission/EigenLikeAdminViewController.m b/emission/Example/Emission/EigenLikeAdminViewController.m
deleted file mode 100644
index 4bc05b41bcb..00000000000
--- a/emission/Example/Emission/EigenLikeAdminViewController.m
+++ /dev/null
@@ -1,155 +0,0 @@
-#import "EigenLikeAdminViewController.h"
-#import "ARAdminPreloadTableViewCell.h"
-
-#import
-#import
-#import
-#import
-
-NSString *const AROptionCell = @"OptionCell";
-NSString *const ARLabOptionCell = @"LabOptionCell";
-NSString *const ARSubtitledLabOptionCell = @"SubtitledLabOptionCell";
-NSString *const ARPreloadOptionCell = @"PreloadOptionCell";
-
-@implementation EigenLikeAdminViewController
-
-- (ARCellData *)tappableCellDataWithTitle:(NSString *)title selection:(dispatch_block_t)selection configuration:(CellConfigurationBlock_t)configuration;
-{
- return [self tappableCellDataWithTitle:title selection:selection identifier:AROptionCell configuration:configuration];
-}
-
-- (ARCellData *)tappableCellDataWithTitle:(NSString *)title selection:(dispatch_block_t)selection identifier:(NSString *)identifier configuration:(CellConfigurationBlock_t)configuration;
-{
- ARCellData *cellData = [[ARCellData alloc] initWithIdentifier:identifier];
- [cellData setCellConfigurationBlock:^(UITableViewCell *cell) {
- cell.textLabel.text = title;
- if (configuration) {
- configuration(cell);
- }
- }];
-
- [cellData setCellSelectionBlock:^(UITableView *tableView, NSIndexPath *indexPath) {
- selection();
- }];
- return cellData;
-}
-
-- (ARCellData *)tappableCellDataWithTitle:(NSString *)title selection:(dispatch_block_t)selection
-{
- return [self tappableCellDataWithTitle:title selection:selection configuration:nil];
-}
-
-- (ARCellData *)viewControllerCellDataWithTitle:(NSString *)title
- selection:(dispatch_block_t)selection
- preload:(ARAdminVCPreloadBlock)preload;
-{
- return [self tappableCellDataWithTitle:title
- selection:selection
- identifier:ARPreloadOptionCell
- configuration:^(ARAdminPreloadTableViewCell *cell) {
- cell.preloadBlock = ^{
- NSLog(@"Preload: %@", title);
- [[[AREmission sharedInstance] graphQLQueryPreloaderModule] preloadQueries:preload()];
- };
- }];
-}
-
-- (ARCellData *)informationCellDataWithTitle:(NSString *)title
- {
- ARCellData *cell = [[ARCellData alloc] initWithIdentifier:AROptionCell];
- [cell setCellConfigurationBlock:^(UITableViewCell *cell) {
- cell.textLabel.text = title;
- cell.textLabel.textColor = [UIColor grayColor];
- }];
-
- return cell;
- }
-
-- (NSString *)titleForApp
-{
- NSDictionary *metadata = [[NSBundle mainBundle] infoDictionary];
- NSString *build = [metadata objectForKey:@"CFBundleVersion"];
- return [NSString stringWithFormat:@"Emission build %@", build];
-}
-
-- (void)setupSection:(ARSectionData *)section withTitle:(NSString *)title
-{
- UIView *wrapper = [UIView new];
- wrapper.backgroundColor = [UIColor colorWithWhite:0.95 alpha:1];
-
- UILabel *label = [UILabel new];
- label.font = [UIFont sansSerifFontWithSize:14];
- label.text = title.uppercaseString;
- label.frame = CGRectMake(15, 4, 400, 20);
-
- [wrapper addSubview:label];
-
- section.headerView = wrapper;
- section.headerHeight = 28;
-}
-
-- (void)showAlertViewWithTitle:(NSString *)title message:(NSString *)message actionTitle:(NSString *)actionTitle actionHandler:(void (^)(void))handler
-{
- UIAlertController *alert = [UIAlertController alertControllerWithTitle:title message:message preferredStyle:UIAlertControllerStyleAlert];
-
- UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:actionTitle style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
- handler();
- }];
-
- UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil];
-
- [alert addAction:defaultAction];
- [alert addAction:cancelAction];
- [self presentViewController:alert animated:YES completion:nil];
-}
-
-- (ARCellData *)editableTextCellDataWithName:(NSString *)name defaultKey:(NSString *)key
-{
- ARCellData *cell = [[ARCellData alloc] initWithIdentifier:ARSubtitledLabOptionCell];
- cell.height = 60;
-
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- NSString *value = [defaults stringForKey:key];
-
- [cell setCellConfigurationBlock:^(UITableViewCell *tableViewCell) {
- tableViewCell.textLabel.text = [NSString stringWithFormat:@"%@:", name];
- tableViewCell.detailTextLabel.text = value;
- }];
-
- [cell setCellSelectionBlock:^(UITableView *tableView, NSIndexPath *indexPath) {
- UIAlertController *controller = [UIAlertController alertControllerWithTitle:name message:@"" preferredStyle:UIAlertControllerStyleAlert];
-
- [controller addAction:[UIAlertAction actionWithTitle:@"Save + Restart" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
- UITextField *theTextField = [controller textFields].firstObject;
- [defaults setObject:theTextField.text forKey:key];
- [defaults synchronize];
- exit(0);
- }]];
-
- [controller addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
- [controller.presentingViewController dismissViewControllerAnimated:YES completion:nil];
- }]];
-
- [controller addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
- textField.text = value;
- }];
-
- [self presentViewController:controller animated:YES completion:nil];
- }];
- return cell;
-}
-
-- (void)viewWillAppear:(BOOL)animated
-{
- [super viewWillAppear:animated];
-
- // http://stackoverflow.com/questions/18924589/uitableviewcell-separator-disappearing-in-ios7
-
- // Due to a weird apple bug we need to do something to
- // trigger the lines between cells.
- UIView *emptyView_ = [[UIView alloc] initWithFrame:CGRectZero];
- emptyView_.backgroundColor = [UIColor clearColor];
- [self.tableView setTableFooterView:emptyView_];
-}
-
-@end
diff --git a/emission/Example/Emission/EigenLikeNavigationController.h b/emission/Example/Emission/EigenLikeNavigationController.h
deleted file mode 100644
index 5a8793c30d7..00000000000
--- a/emission/Example/Emission/EigenLikeNavigationController.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#import
-
-// A very simple reimplmentation of Eigen's ARNavigationViewController
-
-@interface EigenLikeNavigationController : UINavigationController
-
-@property (readonly, nonatomic, strong) UIButton *backButton;
-@property (nonatomic, assign) BOOL showBackButtonOnRoot;
-
-@end
diff --git a/emission/Example/Emission/EigenLikeNavigationController.m b/emission/Example/Emission/EigenLikeNavigationController.m
deleted file mode 100644
index 45af082080d..00000000000
--- a/emission/Example/Emission/EigenLikeNavigationController.m
+++ /dev/null
@@ -1,83 +0,0 @@
-#import "EigenLikeNavigationController.h"
-#import
-
-@interface EigenLikeNavigationController()
-
-@end
-
-@implementation EigenLikeNavigationController
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
-
- self.navigationBarHidden = YES;
- self.delegate = self;
-
- UIButton *backButton = [self createBackButton];
- [self.view addSubview:backButton];
- [backButton constrainTopSpaceToView:self.topLayoutGuide predicate:@"20"];
- [backButton alignLeadingEdgeWithView:self.view predicate:@"3"];
- [backButton constrainWidth:@"40" height:@"40"];
- _backButton = backButton;
-
- UIKeyCommand *command = [UIKeyCommand keyCommandWithInput:@"|" modifierFlags:UIKeyModifierControl action:@selector(toggleNav)];
- [self addKeyCommand: command];
-}
-
-- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
-{
- [UIView animateWithDuration:0.15 animations:^{
- self.backButton.alpha = (navigationController.viewControllers.count != 1) || self.showBackButtonOnRoot;
- }];
-}
-
-- (void)pop
-{
- if (self.presentingViewController) {
- [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
- return;
- }
- // Support popping inside NavigatorIOS before falling back to our navigation VC
- UINavigationController *targetNav = self;
- for (UIViewController *controller in self.topViewController.childViewControllers) {
- if ([controller isKindOfClass:UINavigationController.class]) {
- if (controller.childViewControllers.count > 1) { targetNav = (id)controller; }
- }
- }
- [targetNav popViewControllerAnimated:YES];
-}
-
-- (UIButton *)createBackButton
-{
- UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
- [backButton setImage:[UIImage imageNamed:@"Back"] forState:UIControlStateNormal];
- [backButton addTarget:self action:@selector(pop) forControlEvents:UIControlEventTouchUpInside];
- backButton.adjustsImageWhenDisabled = NO;
-
- backButton.alpha = self.showBackButtonOnRoot ? 1 : 0;
- backButton.layer.cornerRadius = 20;
- backButton.layer.backgroundColor = [UIColor whiteColor].CGColor;
-
- return backButton;
-}
-
-- (BOOL)shouldAutorotate;
-{
- return self.topViewController.shouldAutorotate;
-}
-
-- (UIInterfaceOrientationMask)supportedInterfaceOrientations;
-{
- return self.topViewController.supportedInterfaceOrientations;
-}
-
-- (void)toggleNav
-{
- [UIView animateWithDuration:0.1 animations:^{
- CGFloat alpha = [self.backButton alpha];
- [self.backButton setAlpha:!alpha];
- }];
-}
-
-@end
diff --git a/emission/Example/Emission/Emission-Bridging-Header.h b/emission/Example/Emission/Emission-Bridging-Header.h
deleted file mode 100644
index 1b2cb5d6d09..00000000000
--- a/emission/Example/Emission/Emission-Bridging-Header.h
+++ /dev/null
@@ -1,4 +0,0 @@
-//
-// Use this file to import your target's public headers that you would like to expose to Swift.
-//
-
diff --git a/emission/Example/Emission/Emission.entitlements b/emission/Example/Emission/Emission.entitlements
deleted file mode 100644
index f10171f7825..00000000000
--- a/emission/Example/Emission/Emission.entitlements
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- com.apple.developer.associated-domains
-
- webcredentials:artsy.net
- webcredentials:www.artsy.net
- webcredentials:staging.artsy.net
- webcredentials:m.artsy.net
-
- keychain-access-groups
-
- $(AppIdentifierPrefix)net.artsy.Emission
-
-
-
diff --git a/emission/Example/Emission/Info.plist b/emission/Example/Emission/Info.plist
deleted file mode 100644
index 5eae8bb9037..00000000000
--- a/emission/Example/Emission/Info.plist
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 1.1.0
- CFBundleSignature
- ????
- CFBundleVersion
- 2017.09.22.12
- ITSAppUsesNonExemptEncryption
-
- LSApplicationQueriesSchemes
-
- comgooglemaps
- comgooglemaps-x-callback
-
- LSRequiresIPhoneOS
-
- MGLMapboxMetricsEnabledSettingShownInApp
- YES
- NSAppTransportSecurity
-
- NSAllowsArbitraryLoads
-
-
- NSCameraUsageDescription
- Using Camera to take photos for Consignments
- NSLocationAlwaysAndWhenInUseUsageDescription
- Using User Location to display nearby shows
- NSLocationWhenInUseUsageDescription
- Using User Location to display nearby shows
- NSPhotoLibraryUsageDescription
- Using Camera Roll for Consignments Photos
- UIBackgroundModes
-
- location
-
- UILaunchStoryboardName
- LaunchScreen
- UIRequiredDeviceCapabilities
-
- armv7
-
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
- UIInterfaceOrientationPortraitUpsideDown
-
-
-
diff --git a/emission/Example/Emission/InternalWebViewController.h b/emission/Example/Emission/InternalWebViewController.h
deleted file mode 100644
index 5184ea4a434..00000000000
--- a/emission/Example/Emission/InternalWebViewController.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#import
-
-@interface InternalWebViewController : UIViewController
-- (instancetype)initWithURL:(NSURL *)url;
-@end
diff --git a/emission/Example/Emission/InternalWebViewController.m b/emission/Example/Emission/InternalWebViewController.m
deleted file mode 100644
index 33d24af5b7f..00000000000
--- a/emission/Example/Emission/InternalWebViewController.m
+++ /dev/null
@@ -1,42 +0,0 @@
-#import "InternalWebViewController.h"
-#import
-#import
-
-#import
-
-@interface InternalWebViewController ()
-@property (nonatomic, readonly, strong) NSURL *initialURL;
-@end
-
-@implementation InternalWebViewController
-
-- (instancetype)initWithURL:(NSURL *)url
-{
- self = [super init];
- if (!self) {
- return nil;
- }
-
- _initialURL = url;
- self.automaticallyAdjustsScrollViewInsets = NO;
-
- return self;
-}
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
-
- WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
- WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.bounds configuration:config];
- [self.view addSubview:webView];
-
- [webView constrainTopSpaceToView:self.flk_topLayoutGuide predicate:@"0"];
- [webView alignLeading:@"0" trailing:@"0" toView:self.view];
- [webView alignBottomEdgeWithView:self.view predicate:@"0"];
-
- NSURLRequest *initialRequest = [NSURLRequest requestWithURL:self.initialURL];
- [webView loadRequest:initialRequest];
-}
-
-@end
diff --git a/emission/Example/Emission/LoadingSpinner.h b/emission/Example/Emission/LoadingSpinner.h
deleted file mode 100644
index 797b7df8d03..00000000000
--- a/emission/Example/Emission/LoadingSpinner.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#import
-#import
-
-@interface LoadingSpinner : NSObject
-
-- (void)presentSpinnerOnViewController:(UIViewController *)viewController title:(NSString *)title subtitle:(NSString *)subtitle completion:(dispatch_block_t)completion;
-
-@end
diff --git a/emission/Example/Emission/LoadingSpinner.m b/emission/Example/Emission/LoadingSpinner.m
deleted file mode 100644
index a18cab52a3f..00000000000
--- a/emission/Example/Emission/LoadingSpinner.m
+++ /dev/null
@@ -1,52 +0,0 @@
-#import "LoadingSpinner.h"
-#import
-#import
-#import
-
-@interface LoadingSpinner()
-@property (nonatomic, strong) UIViewController *spinnerController;
-@end
-
-
-@implementation LoadingSpinner
-
-- (void)presentSpinnerOnViewController:(UIViewController *)viewController title:(NSString *)title subtitle:(NSString *)subtitle completion:(dispatch_block_t)completion;
-{
- if (self.spinnerController == nil) {
-
- self.spinnerController = [UIViewController new];
- UIView *spinnerView = self.spinnerController.view;
- ARSpinner *spinner = [ARSpinner new];
- [spinnerView addSubview:spinner];
- [spinner alignCenterWithView:spinnerView];
-
- if (title) {
- UILabel *titleLabel = [[UILabel alloc] init];
- titleLabel.text = title;
- titleLabel.font = [UIFont serifFontWithSize:24];
- titleLabel.textAlignment = NSTextAlignmentCenter;
- [spinnerView addSubview:titleLabel];
- [titleLabel alignLeading:@"0" trailing:@"0" toView:spinnerView];
- [titleLabel alignCenterYWithView:spinnerView predicate:@"-160"];
- }
-
- if (subtitle) {
- UILabel *subtitleLabel = [[UILabel alloc] init];
- subtitleLabel.text = subtitle;
- subtitleLabel.font = [UIFont serifFontWithSize:18];
- subtitleLabel.textAlignment = NSTextAlignmentCenter;
- [spinnerView addSubview:subtitleLabel];
- [subtitleLabel alignLeading:@"0" trailing:@"0" toView:spinnerView];
- [subtitleLabel alignCenterYWithView:spinnerView predicate:@"-100"];
- }
-
- [viewController presentViewController:self.spinnerController animated:NO completion:^{
- [spinner startAnimating];
- if (completion) {
- completion();
- }
- }];
- }
-}
-
-@end
diff --git a/emission/Example/Emission/NSDateFormatter+TimeAgo.h b/emission/Example/Emission/NSDateFormatter+TimeAgo.h
deleted file mode 100644
index 12ae8047742..00000000000
--- a/emission/Example/Emission/NSDateFormatter+TimeAgo.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#import
-
-// Based on an implmentation in
-// http://stackoverflow.com/questions/902950/iphone-convert-date-string-to-a-relative-time-stamp
-
-@interface NSDateFormatter (Extras)
-
-+ (NSString *)timeAgoFromDate:(NSDate *)date;
-
-@end
diff --git a/emission/Example/Emission/NSDateFormatter+TimeAgo.m b/emission/Example/Emission/NSDateFormatter+TimeAgo.m
deleted file mode 100644
index 899fd02c77a..00000000000
--- a/emission/Example/Emission/NSDateFormatter+TimeAgo.m
+++ /dev/null
@@ -1,45 +0,0 @@
-#import "NSDateFormatter+TimeAgo.h"
-
-@implementation NSDateFormatter (Extras)
-
-+ (NSString *)timeAgoFromDate:(NSDate *)date
-{
- NSDate *now = [NSDate date];
-
- NSTimeInterval time = [date timeIntervalSinceDate:now];
- time *= -1;
-
- if(time < 1) {
- return @"-";
-
- } else if (time < 60) {
- return @"less than a minute ago";
-
- } else if (time < 3600) {
- NSInteger diff = round(time / 60);
- if (diff == 1) return @"1 minute ago";
-
- return [NSString stringWithFormat:@"%@ minutes ago", @(diff)];
-
- } else if (time < 86400) {
- NSInteger diff = round(time / 60 / 60);
- if (diff == 1) return @"1 hour ago";
-
- return [NSString stringWithFormat:@"%@ hours ago", @(diff)];
-
- } else if (time < 604800) {
- NSInteger diff = round(time / 60 / 60 / 24);
- if (diff == 1) return @"yesterday";
- if (diff == 7) return @"last week";
-
- return [NSString stringWithFormat:@"%@ days ago", @(diff)];
-
- } else {
- NSInteger diff = round(time / 60 / 60 / 24 / 7);
- if (diff == 1) return @"last week";
-
- return [NSString stringWithFormat:@"%@ weeks ago", @(diff)];
- }
-}
-
-@end
diff --git a/emission/Example/Emission/Placeholder.swift b/emission/Example/Emission/Placeholder.swift
deleted file mode 100644
index 5b3eef56104..00000000000
--- a/emission/Example/Emission/Placeholder.swift
+++ /dev/null
@@ -1,4 +0,0 @@
-import Foundation
-
-// Dummy swift file
-// This is necessary to fix this issue: https://stackoverflow.com/a/52939037
diff --git a/emission/Example/Emission/UnroutedViewController.h b/emission/Example/Emission/UnroutedViewController.h
deleted file mode 100644
index 40664b33695..00000000000
--- a/emission/Example/Emission/UnroutedViewController.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#import
-
-@interface UnroutedViewController : UIViewController
-
-- (instancetype)initWithRoute:(NSString *)title;
-
-@end
diff --git a/emission/Example/Emission/UnroutedViewController.m b/emission/Example/Emission/UnroutedViewController.m
deleted file mode 100644
index 86172457389..00000000000
--- a/emission/Example/Emission/UnroutedViewController.m
+++ /dev/null
@@ -1,110 +0,0 @@
-#import "UnroutedViewController.h"
-#import
-#import
-#import
-#import
-
-#import "ARDefaults.h"
-
-@import WebKit;
-
-@interface UnroutedViewController()
-@property (readonly, nonatomic, strong) WKWebView *webView;
-@property (nonatomic, readonly, strong) NSURL *initialURL;
-@end
-
-@implementation UnroutedViewController
-
-- (instancetype)initWithRoute:(NSString *)route
-{
- if ((self = [super init])) {
- _initialURL = [self urlForRoute:route];
- self.automaticallyAdjustsScrollViewInsets = NO;
- }
-
- return self;
-}
-
-- (NSURL *)urlForRoute:(NSString *)route
-{
- if ([route hasPrefix:@"http"]) {
- NSURL *url = [NSURL URLWithString:route];
- if ([url.scheme isEqualToString:@"http"]) {
- NSLog(@"WARNING: Using a non-SSL URL, which is probably not what we want in production: %@", route);
- }
- return url;
- }
-
- BOOL useStaging = [[NSUserDefaults standardUserDefaults] boolForKey:ARUseStagingDefault];
- NSURL *baseUrl = [NSURL URLWithString: useStaging ? @"https://staging.artsy.net" : @"https://artsy.net"];
- return [[NSURL URLWithString:route relativeToURL:baseUrl] absoluteURL];
-}
-
-- (void)loadURL:(NSURL *)URL;
-{
- AREmission *emission = [AREmission sharedInstance];
- NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
- NSString *agentString = [NSString stringWithFormat:@"Mozilla/5.0 Artsy-Mobile/3.3.0 Eigen/2017.07.07.13/3.3.0 (iPhone; iOS 9.0; Scale/2.00) AppleWebKit/601.1.46 (KHTML, like Gecko) Emission/1.x"];
-
- [request addValue:agentString forHTTPHeaderField:@"UserAgent"];
- [request addValue:emission.configurationModule.userID forHTTPHeaderField:@"X-User-ID"];
- [request addValue:emission.configurationModule.authenticationToken forHTTPHeaderField:@"X-Access-Token"];
-
- [self.webView loadRequest:request];
-}
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
- WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
-
- CGRect deviceBounds = [UIScreen mainScreen].bounds;
- WKWebView *webView = [[WKWebView alloc] initWithFrame:deviceBounds configuration:config];
-
- webView.frame = self.view.bounds;
- webView.navigationDelegate = self;
- [self.view addSubview:webView];
-
- _webView = webView;
-
- [self loadURL:self.initialURL];
-}
-
-- (UIStatusBarStyle)preferredStatusBarStyle
-{
- return UIStatusBarStyleLightContent;
-}
-
-- (void)viewWillLayoutSubviews
-{
- [self.webView constrainTopSpaceToView:self.flk_topLayoutGuide predicate:@"0"];
- [self.webView alignLeading:@"0" trailing:@"0" toView:self.view];
- [self.webView alignBottomEdgeWithView:self.view predicate:@"0"];
-}
-
-- (UIStatusBarStyle)statusBarStyle
-{
- return self.statusBarStyle;
-}
-
-
-#pragma mark - Properties
-
-#pragma mark WKWebViewDelegate
-
-- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;
-{
- decisionHandler([self shouldLoadNavigationAction:navigationAction]);
-}
-
-- (WKNavigationActionPolicy)shouldLoadNavigationAction:(WKNavigationAction *)navigationAction;
-{
- if (navigationAction.navigationType == WKNavigationTypeLinkActivated) {
- NSString *route = navigationAction.request.URL.absoluteString;
- AREmission.sharedInstance.switchBoardModule.presentNavigationViewController(self, route);
- }
- return WKNavigationActionPolicyAllow;
-}
-
-
-@end
diff --git a/emission/Example/Emission/index.ios.js b/emission/Example/Emission/index.ios.js
deleted file mode 100644
index 5a8f2ff38e0..00000000000
--- a/emission/Example/Emission/index.ios.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import "./index.storybooks"
-import "../../src/lib/Components/Storybooks"
-
-import "../../index.ios"
diff --git a/emission/Example/Emission/index.storybooks.js b/emission/Example/Emission/index.storybooks.js
deleted file mode 100644
index 66a6faf21a9..00000000000
--- a/emission/Example/Emission/index.storybooks.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import { AppRegistry } from "react-native"
-import { getStorybookUI, configure, addDecorator } from "@storybook/react-native"
-import React from "react"
-import { Theme } from "@artsy/palette"
-import { loadStories } from "../../storybook/storyLoader"
-
-// import your stories
-configure(() => {
- addDecorator(storyFn => {storyFn()})
- loadStories()
-}, module)
-
-const StorybookUI = getStorybookUI({ port: 9001, host: "localhost" })
-AppRegistry.registerComponent("Storybook", () => StorybookUI)
diff --git a/emission/Example/Emission/index.tests.ios.js b/emission/Example/Emission/index.tests.ios.js
deleted file mode 100644
index 4813e96f680..00000000000
--- a/emission/Example/Emission/index.tests.ios.js
+++ /dev/null
@@ -1 +0,0 @@
-import "../../index.tests.ios"
diff --git a/emission/Example/Emission/logo@2x.png b/emission/Example/Emission/logo@2x.png
deleted file mode 100644
index 50fc9b70d54..00000000000
Binary files a/emission/Example/Emission/logo@2x.png and /dev/null differ
diff --git a/emission/Example/Emission/main.m b/emission/Example/Emission/main.m
deleted file mode 100644
index d39670488fa..00000000000
--- a/emission/Example/Emission/main.m
+++ /dev/null
@@ -1,18 +0,0 @@
-#import
-
-int main(int argc, char * argv[]) {
- @autoreleasepool {
- NSString *delegate = @"AppDelegate";
-#ifdef DEBUG
- if (NSClassFromString(@"XCTestCase")) {
- delegate = @"TestHelper";
- if (NSClassFromString(delegate) == nil) {
- NSString *testBundlePath = [[NSProcessInfo processInfo] environment][@"XCInjectBundle"];
- NSCParameterAssert(testBundlePath);
- NSCParameterAssert([[NSBundle bundleWithPath:testBundlePath] load]);
- }
- }
-#endif
- return UIApplicationMain(argc, argv, nil, delegate);
- }
-}
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/01a367ce1ba17e6231654c254d3877f2.jpg&width=240&height=240&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/01a367ce1ba17e6231654c254d3877f2.jpg&width=240&height=240&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 77a2fcd2e26..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/01a367ce1ba17e6231654c254d3877f2.jpg&width=240&height=240&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/19e6af653c1bd8d817d6039941edbd64.jpg&width=240&height=318&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/19e6af653c1bd8d817d6039941edbd64.jpg&width=240&height=318&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 76aad090899..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/19e6af653c1bd8d817d6039941edbd64.jpg&width=240&height=318&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/27ea9d092b82ecd20edc96598653902a.jpg&width=240&height=288&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/27ea9d092b82ecd20edc96598653902a.jpg&width=240&height=288&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 493af112ac4..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/27ea9d092b82ecd20edc96598653902a.jpg&width=240&height=288&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/2965e15f16bf3b910644df310c638617.jpg&width=240&height=158&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/2965e15f16bf3b910644df310c638617.jpg&width=240&height=158&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index c9ce79a33ca..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/2965e15f16bf3b910644df310c638617.jpg&width=240&height=158&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/2cd5f0adfd98ac6f2fd3e2f8e63df1ba.jpg&width=239&height=199&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/2cd5f0adfd98ac6f2fd3e2f8e63df1ba.jpg&width=239&height=199&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 5560d227400..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/2cd5f0adfd98ac6f2fd3e2f8e63df1ba.jpg&width=239&height=199&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/3c831b9f93087295a3e4b6269e5ce668.jpg&width=240&height=180&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/3c831b9f93087295a3e4b6269e5ce668.jpg&width=240&height=180&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 1e3c9166223..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/3c831b9f93087295a3e4b6269e5ce668.jpg&width=240&height=180&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/3eafcf9a115e8563b48ee73abc29ec32.jpg&width=239&height=195&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/3eafcf9a115e8563b48ee73abc29ec32.jpg&width=239&height=195&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 840c8c2b643..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/3eafcf9a115e8563b48ee73abc29ec32.jpg&width=239&height=195&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/4247f0bc475967b3f5b0ad087469a446.jpg&width=240&height=286&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/4247f0bc475967b3f5b0ad087469a446.jpg&width=240&height=286&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index a8402e86061..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/4247f0bc475967b3f5b0ad087469a446.jpg&width=240&height=286&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/53119f484ce7584122070cc667454567.jpg&width=240&height=316&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/53119f484ce7584122070cc667454567.jpg&width=240&height=316&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index bb47720b10b..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/53119f484ce7584122070cc667454567.jpg&width=240&height=316&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/6704bdfa661b25482b8a0b0af4477b67.jpg&width=240&height=285&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/6704bdfa661b25482b8a0b0af4477b67.jpg&width=240&height=285&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index e74fd0fd453..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/6704bdfa661b25482b8a0b0af4477b67.jpg&width=240&height=285&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/7cb9d36428889d59118016d52e70dad3.jpg&width=239&height=180&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/7cb9d36428889d59118016d52e70dad3.jpg&width=239&height=180&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 87dc036620f..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/7cb9d36428889d59118016d52e70dad3.jpg&width=239&height=180&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/903b4eafaaf05976c5015aef40b316ea.jpg&width=240&height=318&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/903b4eafaaf05976c5015aef40b316ea.jpg&width=240&height=318&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 57b710677e4..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/903b4eafaaf05976c5015aef40b316ea.jpg&width=240&height=318&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/93feeadf4429ce1f3731d43b83c6848f.jpg&width=240&height=295&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/93feeadf4429ce1f3731d43b83c6848f.jpg&width=240&height=295&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 663391238f4..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/93feeadf4429ce1f3731d43b83c6848f.jpg&width=240&height=295&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/a3700a7727563905267e527708eb11b3.jpg&width=240&height=306&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/a3700a7727563905267e527708eb11b3.jpg&width=240&height=306&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 13b209429bd..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/a3700a7727563905267e527708eb11b3.jpg&width=240&height=306&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/a93cb0f97d5783297fca0404c04f4f7b.jpg&width=240&height=267&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/a93cb0f97d5783297fca0404c04f4f7b.jpg&width=240&height=267&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 61d2af0dc9a..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/a93cb0f97d5783297fca0404c04f4f7b.jpg&width=240&height=267&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/b70be29b9e546c2dcc0e2e93da34d310.jpg&width=240&height=242&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/b70be29b9e546c2dcc0e2e93da34d310.jpg&width=240&height=242&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index d5e8186bc95..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/b70be29b9e546c2dcc0e2e93da34d310.jpg&width=240&height=242&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/dcef487c075507708c5e85554d1e4653.jpg&width=240&height=175&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/dcef487c075507708c5e85554d1e4653.jpg&width=240&height=175&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 02ec752b7a2..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/dcef487c075507708c5e85554d1e4653.jpg&width=240&height=175&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/e2aca009d3d8268edf6ccd63d15fdbd7.jpg&width=240&height=206&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/e2aca009d3d8268edf6ccd63d15fdbd7.jpg&width=240&height=206&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index c53c6504f4f..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/e2aca009d3d8268edf6ccd63d15fdbd7.jpg&width=240&height=206&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/e758d85563cbdf9071a2998d8e5276e6.jpg&width=240&height=294&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/e758d85563cbdf9071a2998d8e5276e6.jpg&width=240&height=294&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index 4a1d51a5af0..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/e758d85563cbdf9071a2998d8e5276e6.jpg&width=240&height=294&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/f7d62b3844dc44baa6afb3c255a021a2.jpg&width=240&height=306&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 b/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/f7d62b3844dc44baa6afb3c255a021a2.jpg&width=240&height=306&key=a1f82558d8134f6cbebceb9e67d04980&quality=95
deleted file mode 100644
index da82a72dc32..00000000000
Binary files a/emission/Example/EmissionTests/Fixtures/com.hackemist.SDWebImageCache.test-fixtures/f7d62b3844dc44baa6afb3c255a021a2.jpg&width=240&height=306&key=a1f82558d8134f6cbebceb9e67d04980&quality=95 and /dev/null differ
diff --git a/emission/Example/EmissionTests/Fixtures/rembrandt-harmensz-van-rijn-1_page-1.json b/emission/Example/EmissionTests/Fixtures/rembrandt-harmensz-van-rijn-1_page-1.json
deleted file mode 100644
index f88a9431e74..00000000000
--- a/emission/Example/EmissionTests/Fixtures/rembrandt-harmensz-van-rijn-1_page-1.json
+++ /dev/null
@@ -1,168 +0,0 @@
-{
- "data": {
- "artist": {
- "artworks": [
- {
- "title": "Self-portrait",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.78,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2F88gjaABNaDJiH4eqCB-DKg%2Flarge.jpg&width=240&height=306&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Art History 101"
- }
- },
- {
- "title": "Old Man with a Gold Chain",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.9,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FoOghHqRbQefRwGPJuqjr0A%2Flarge.jpg&width=240&height=267&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Art Institute of Chicago"
- }
- },
- {
- "title": "Self Portrait, 1659",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.78,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2Fgwa65j8uA3P58LxldJYJAg%2Flarge.jpg&width=240&height=306&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "National Gallery of Art, Washington, D.C."
- }
- },
- {
- "title": "Self Portrait at the Age of 63",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.81,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FxWjmo05MqprCtMYaUYquUw%2Flarge.jpg&width=240&height=295&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "The National Gallery, London"
- }
- },
- {
- "title": "The Anatomy Lesson of Dr. Nicolaes Tulp",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1.33,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FkvFioLTBXu0SWZ52sge1FQ%2Flarge.jpg&width=239&height=180&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Art History 101"
- }
- },
- {
- "title": "Three Crosses (First State)",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1.16,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FyeDP7Jxgb5hYEDqlBkiBNg%2Flarge.jpg&width=240&height=206&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Rijksmuseum"
- }
- },
- {
- "title": "The Company of Frans Banning Cocq and Willem van Ruytenburch (The Night Watch)",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1.23,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FIG8ZLvVmZgQiTn2zK0Bp8w%2Flarge.jpg&width=239&height=195&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Rijksmuseum"
- }
- },
- {
- "title": "Self-Portrait as the Apostle Paul",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.84,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FzHYh6S9dTIsEXEQt_gYZIA%2Flarge.jpg&width=240&height=285&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Rijksmuseum"
- }
- },
- {
- "title": "The Wardens of the Amsterdam Drapers’ Guild, Known as ‘The Syndics’",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1.52,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FkZMo5_gjk1TbWVgZQuwyLQ%2Flarge.jpg&width=240&height=158&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Rijksmuseum"
- }
- },
- {
- "title": "The Mill",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1.2,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2F1Nv6CZWY4leMHzI3qu0cog%2Fsquare.jpg&width=239&height=199&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "National Gallery of Art, Washington, D.C."
- }
- }
- ]
- }
- }
-}
\ No newline at end of file
diff --git a/emission/Example/EmissionTests/Fixtures/rembrandt-harmensz-van-rijn-1_page-2.json b/emission/Example/EmissionTests/Fixtures/rembrandt-harmensz-van-rijn-1_page-2.json
deleted file mode 100644
index 52afcd6d9ec..00000000000
--- a/emission/Example/EmissionTests/Fixtures/rembrandt-harmensz-van-rijn-1_page-2.json
+++ /dev/null
@@ -1,328 +0,0 @@
-{
- "data": {
- "artist": {
- "artworks": [
- {
- "title": "Self-portrait",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.78,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2F88gjaABNaDJiH4eqCB-DKg%2Flarge.jpg&width=240&height=306&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Art History 101"
- }
- },
- {
- "title": "Old Man with a Gold Chain",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.9,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FoOghHqRbQefRwGPJuqjr0A%2Flarge.jpg&width=240&height=267&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Art Institute of Chicago"
- }
- },
- {
- "title": "Self Portrait, 1659",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.78,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2Fgwa65j8uA3P58LxldJYJAg%2Flarge.jpg&width=240&height=306&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "National Gallery of Art, Washington, D.C."
- }
- },
- {
- "title": "Self Portrait at the Age of 63",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.81,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FxWjmo05MqprCtMYaUYquUw%2Flarge.jpg&width=240&height=295&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "The National Gallery, London"
- }
- },
- {
- "title": "The Anatomy Lesson of Dr. Nicolaes Tulp",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1.33,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FkvFioLTBXu0SWZ52sge1FQ%2Flarge.jpg&width=239&height=180&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Art History 101"
- }
- },
- {
- "title": "Three Crosses (First State)",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1.16,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FyeDP7Jxgb5hYEDqlBkiBNg%2Flarge.jpg&width=240&height=206&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Rijksmuseum"
- }
- },
- {
- "title": "The Company of Frans Banning Cocq and Willem van Ruytenburch (The Night Watch)",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1.23,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FIG8ZLvVmZgQiTn2zK0Bp8w%2Flarge.jpg&width=239&height=195&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Rijksmuseum"
- }
- },
- {
- "title": "Self-Portrait as the Apostle Paul",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.84,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FzHYh6S9dTIsEXEQt_gYZIA%2Flarge.jpg&width=240&height=285&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Rijksmuseum"
- }
- },
- {
- "title": "The Wardens of the Amsterdam Drapers’ Guild, Known as ‘The Syndics’",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1.52,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FkZMo5_gjk1TbWVgZQuwyLQ%2Flarge.jpg&width=240&height=158&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Rijksmuseum"
- }
- },
- {
- "title": "The Mill",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1.2,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2F1Nv6CZWY4leMHzI3qu0cog%2Fsquare.jpg&width=239&height=199&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "National Gallery of Art, Washington, D.C."
- }
- },
- {
- "title": "Self-portrait",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.82,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2Fzg-r2cfXcA7HaZ4djUQbQw%2Flarge.jpg&width=240&height=294&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Rijksmuseum"
- }
- },
- {
- "title": "The Anatomy Lesson of Dr Joan Deyman",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1.33,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2Fc7sa-J0EO-_CUI_otYNQag%2Flarge.jpg&width=240&height=180&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "The National Gallery, London"
- }
- },
- {
- "title": "A Woman bathing in a Stream (Hendrickje Stoffels?)",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.75,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2Fh5-TAGslx_Pi0dOZ-VnBlA%2Flarge.jpg&width=240&height=318&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "The National Gallery, London"
- }
- },
- {
- "title": "Isaac and Rebecca, Known as ‘The Jewish Bride’",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1.37,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FT8zyOM1P2ZbMiiw4Fjv_Ag%2Flarge.jpg&width=240&height=175&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Rijksmuseum"
- }
- },
- {
- "title": "Bethsabée au bain tenant la lettre David (Bathsheba at Her Bath)",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.99,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FfsBd3V0dYROR3qtx6g_FFA%2Flarge.jpg&width=240&height=242&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Musée du Louvre"
- }
- },
- {
- "title": "Bathsheba",
- "sale_message": null,
- "image": {
- "aspect_ratio": 1,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FMxJcbk5Uxj4ONK1LQHAqYQ%2Flarge.jpg&width=240&height=240&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Musée du Louvre"
- }
- },
- {
- "title": "A Man in Armour (Alexander the Great?)",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.75,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FHdfQOH3CSa_6zwsugH9jDw%2Flarge.jpg&width=240&height=318&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "The National Gallery, London"
- }
- },
- {
- "title": "Self Portrait with Two Circles",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.83,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FGssiXkzJM2SZvFU5dSWJ5g%2Flarge.jpg&width=240&height=288&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "The National Gallery, London"
- }
- },
- {
- "title": "Portrait of a Woman, Possibly Maria Trip",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.76,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FUJxHMaBgBKabD2g2sNtOpA%2Flarge.jpg&width=240&height=316&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Rijksmuseum"
- }
- },
- {
- "title": "The Raising of Lazarus",
- "sale_message": null,
- "image": {
- "aspect_ratio": 0.84,
- "resized": {
- "url": "https://i.embed.ly/1/display/resize?grow=false&url=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FaPZFDVPeCQuUCq68iltmpg%2Flarge.jpg&width=240&height=286&key=a1f82558d8134f6cbebceb9e67d04980&quality=95"
- }
- },
- "artist": {
- "name": "Rembrandt Harmensz. van Rijn"
- },
- "partner": {
- "name": "Los Angeles County Museum of Art"
- }
- }
- ]
- }
- }
-}
\ No newline at end of file
diff --git a/emission/Example/EmissionTests/Info.plist b/emission/Example/EmissionTests/Info.plist
deleted file mode 100644
index ba72822e872..00000000000
--- a/emission/Example/EmissionTests/Info.plist
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- BNDL
- CFBundleShortVersionString
- 1.0
- CFBundleSignature
- ????
- CFBundleVersion
- 1
-
-
diff --git a/emission/Example/EmissionTests/OpaqueImageViewComponentTests.m b/emission/Example/EmissionTests/OpaqueImageViewComponentTests.m
deleted file mode 100644
index a1c62b70f6e..00000000000
--- a/emission/Example/EmissionTests/OpaqueImageViewComponentTests.m
+++ /dev/null
@@ -1,87 +0,0 @@
-#import "TestHelper.h"
-
-#import
-
-
-SpecBegin(OpaqueImageViewComponent)
-
-describe(@"OpaqueImageViewComponent", ^{
- __block TestHelper *helper = nil;
- __block NSDictionary *props = nil;
-
- beforeEach(^{
- helper = TestHelper.sharedHelper;
-
- NSDictionary *artwork = helper.artworks[0];
- props = @{
- @"containerStyle": [@{
- @"backgroundColor": @"red",
- @"alignSelf": @"stretch",
- } mutableCopy],
- @"imageView": [@{
- @"imageURL": [artwork valueForKeyPath:@"image.resized.url"],
- @"aspectRatio": [artwork valueForKeyPath:@"image.aspect_ratio"],
- } mutableCopy],
- };
- });
-
- describe(@"with row layout", ^{
- beforeEach(^{
- props[@"containerStyle"][@"flexDirection"] = @"row";
- });
-
- // Should not show any of the red of the container.
- it(@"maintains the aspect ratio when automatically sizing to fill the available size", ^{
- props[@"imageView"][@"style"] = @{ @"flex": @1 };
- [helper runReactTestInRecordMode:NO module:@"OpaqueImageView" props:props];
- });
-
- // Should show red of the container next to it.
- it(@"maintains the aspect ration when given an explicit width", ^{
- props[@"imageView"][@"style"] = @{ @"width": @100 };
- [helper runReactTestInRecordMode:NO module:@"OpaqueImageView" props:props];
- });
-
- // Should show red of the container next to it.
- it(@"maintains the aspect ration when given an explicit height", ^{
- props[@"imageView"][@"style"] = @{ @"height": @100 };
- [helper runReactTestInRecordMode:NO module:@"OpaqueImageView" props:props];
- });
- });
-
- describe(@"with column layout", ^{
- beforeEach(^{
- props[@"containerStyle"][@"flexDirection"] = @"column";
- });
-
- // FIXME: This test is hanging, not sure why.
-// // Should not show any of the red of the container.
-// it(@"maintains the aspect ratio when automatically sizing to fill the available size", ^{
-// props[@"imageView"][@"style"] = @{ @"flex": @1 };
-// [helper runReactTestInRecordMode:YES module:@"OpaqueImageView" props:props];
-// });
-
- // Should show red of the container below it.
- it(@"maintains the aspect ration when given an explicit width", ^{
- // FIXME This shows as if it’s still a row, might be solved with RN 0.25-rc
- props[@"containerStyle"][@"flex"] = @1;
- props[@"containerStyle"][@"width"] = @100;
-
- props[@"imageView"][@"style"] = @{ @"width": @100 };
- [helper runReactTestInRecordMode:NO module:@"OpaqueImageView" props:props];
- });
-
- // FIXME: I’m not even sure right now what this one should look like.
-// //
-// // Should show red of the container below it.
-// xit(@"maintains the aspect ratio when given an explicit height", ^{
-// // props[@"containerStyle"][@"flex"] = @1;
-// // props[@"containerStyle"][@"width"] = @200x;
-// props[@"imageView"][@"style"] = @{ @"height": @100 };
-// [helper runReactTestInRecordMode:YES module:@"OpaqueImageView" props:props];
-// });
- });
-});
-
-SpecEnd
-
diff --git a/emission/Example/EmissionTests/RCTTest/LICENSE b/emission/Example/EmissionTests/RCTTest/LICENSE
deleted file mode 100644
index b96dcb0480a..00000000000
--- a/emission/Example/EmissionTests/RCTTest/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) Facebook, Inc. and its affiliates.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/emission/Example/EmissionTests/RCTTest/RCTSnapshotManager.h b/emission/Example/EmissionTests/RCTTest/RCTSnapshotManager.h
deleted file mode 100644
index 24486906b63..00000000000
--- a/emission/Example/EmissionTests/RCTTest/RCTSnapshotManager.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Copyright (c) 2015-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-#import
-
-@interface RCTSnapshotManager : RCTViewManager
-
-@end
diff --git a/emission/Example/EmissionTests/RCTTest/RCTSnapshotManager.m b/emission/Example/EmissionTests/RCTTest/RCTSnapshotManager.m
deleted file mode 100644
index e74cf9c3005..00000000000
--- a/emission/Example/EmissionTests/RCTTest/RCTSnapshotManager.m
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Copyright (c) 2015-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-#import "RCTSnapshotManager.h"
-
-@interface RCTSnapshotView : UIView
-
-@property (nonatomic, copy) RCTDirectEventBlock onSnapshotReady;
-@property (nonatomic, copy) NSString *testIdentifier;
-
-@end
-
-@implementation RCTSnapshotView
-
-- (void)setTestIdentifier:(NSString *)testIdentifier
-{
- if (![_testIdentifier isEqualToString:testIdentifier]) {
- _testIdentifier = [testIdentifier copy];
- dispatch_async(dispatch_get_main_queue(), ^{
- if (self.onSnapshotReady) {
- self.onSnapshotReady(@{@"testIdentifier" : self.testIdentifier});
- }
- });
- }
-}
-
-@end
-
-
-@implementation RCTSnapshotManager
-
-RCT_EXPORT_MODULE()
-
-- (UIView *)view
-{
- return [RCTSnapshotView new];
-}
-
-RCT_EXPORT_VIEW_PROPERTY(testIdentifier, NSString)
-RCT_EXPORT_VIEW_PROPERTY(onSnapshotReady, RCTDirectEventBlock)
-
-@end
diff --git a/emission/Example/EmissionTests/RCTTest/RCTTestModule.h b/emission/Example/EmissionTests/RCTTest/RCTTestModule.h
deleted file mode 100644
index 7bf93034e24..00000000000
--- a/emission/Example/EmissionTests/RCTTest/RCTTestModule.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Copyright (c) 2015-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-#import
-
-#import
-#import
-
-typedef NS_ENUM(NSInteger, RCTTestStatus) {
- RCTTestStatusPending = 0,
- RCTTestStatusPassed,
- RCTTestStatusFailed
-};
-
-@class FBSnapshotTestController;
-
-@interface RCTTestModule : NSObject
-
-/**
- * The snapshot test controller for this module.
- */
-@property (nonatomic, strong) FBSnapshotTestController *controller;
-
-/**
- * This is the view to be snapshotted.
- */
-@property (nonatomic, strong) UIView *view;
-
-/**
- * This is used to give meaningful names to snapshot image files.
- */
-@property (nonatomic, assign) SEL testSelector;
-
-/**
- * This is polled while running the runloop until true.
- */
-@property (nonatomic, readonly) RCTTestStatus status;
-
-@property (nonatomic, copy) NSString *testSuffix;
-
-@end
diff --git a/emission/Example/EmissionTests/RCTTest/RCTTestModule.m b/emission/Example/EmissionTests/RCTTest/RCTTestModule.m
deleted file mode 100644
index dd2424d31dd..00000000000
--- a/emission/Example/EmissionTests/RCTTest/RCTTestModule.m
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * Copyright (c) 2015-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-#import "RCTTestModule.h"
-
-#import
-#import
-#import
-#import
-
-#import "FBSnapshotTestController.h"
-
-@implementation RCTTestModule {
- NSMutableDictionary *_snapshotCounter;
-}
-
-@synthesize bridge = _bridge;
-
-RCT_EXPORT_MODULE()
-
-- (dispatch_queue_t)methodQueue
-{
- return _bridge.uiManager.methodQueue;
-}
-
-RCT_EXPORT_METHOD(verifySnapshot:(RCTResponseSenderBlock)callback)
-{
- RCTAssert(_controller != nil, @"No snapshot controller configured.");
-
- [_bridge.uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary *viewRegistry) {
- NSString *testName = NSStringFromSelector(self->_testSelector);
- if (!self->_snapshotCounter) {
- self->_snapshotCounter = [NSMutableDictionary new];
- }
-
- NSNumber *counter = @([self->_snapshotCounter[testName] integerValue] + 1);
- self->_snapshotCounter[testName] = counter;
-
- NSError *error = nil;
- NSString *identifier = [counter stringValue];
- if (self->_testSuffix) {
- identifier = [identifier stringByAppendingString:self->_testSuffix];
- }
- BOOL success = [self->_controller compareSnapshotOfView:self->_view
- selector:self->_testSelector
- identifier:identifier
- error:&error];
- if (!success) {
- RCTLogInfo(@"Failed to verify snapshot %@ (error: %@)", identifier, error);
- }
- callback(@[@(success)]);
- }];
-}
-
-RCT_EXPORT_METHOD(sendAppEvent:(NSString *)name body:(nullable id)body)
-{
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- [_bridge.eventDispatcher sendAppEventWithName:name body:body];
-#pragma clang diagnostic pop
-}
-
-RCT_REMAP_METHOD(shouldResolve, shouldResolve_resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
-{
- resolve(@1);
-}
-
-RCT_REMAP_METHOD(shouldReject, shouldReject_resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
-{
- reject(nil, nil, nil);
-}
-
-RCT_EXPORT_METHOD(markTestCompleted)
-{
- [self markTestPassed:YES];
-}
-
-RCT_EXPORT_METHOD(markTestPassed:(BOOL)success)
-{
- [_bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, __unused NSDictionary *viewRegistry) {
- self->_status = success ? RCTTestStatusPassed : RCTTestStatusFailed;
- }];
-}
-
-@end
diff --git a/emission/Example/EmissionTests/RCTTest/RCTTestRunner.h b/emission/Example/EmissionTests/RCTTest/RCTTestRunner.h
deleted file mode 100644
index 9a50e94b2c9..00000000000
--- a/emission/Example/EmissionTests/RCTTest/RCTTestRunner.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * Copyright (c) 2015-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-#import
-
-#import
-
-#ifndef FB_REFERENCE_IMAGE_DIR
-#define FB_REFERENCE_IMAGE_DIR ""
-#endif
-
-#define RCT_RUN_RUNLOOP_WHILE(CONDITION) \
-{ \
- NSDate *timeout = [NSDate dateWithTimeIntervalSinceNow:30]; \
- NSRunLoop *runloop = [NSRunLoop mainRunLoop]; \
- while ((CONDITION)) { \
- [runloop runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.01]]; \
- if ([timeout timeIntervalSinceNow] <= 0) { \
- XCTFail(@"Runloop timed out before condition was met"); \
- break; \
- } \
- } \
-}
-
-/**
- * Use the RCTInitRunnerForApp macro for typical usage. See FBSnapshotTestCase.h for more information
- * on how to configure the snapshotting system.
- */
-#define RCTInitRunnerForApp(app__, moduleProvider__, scriptURL__) \
-[[RCTTestRunner alloc] initWithApp:(app__) \
- referenceDirectory:@FB_REFERENCE_IMAGE_DIR \
- moduleProvider:(moduleProvider__) \
- scriptURL: scriptURL__]
-
-@protocol RCTBridgeModule;
-@class RCTBridge;
-
-@class RCTRootView;
-
-@interface RCTTestRunner : NSObject
-
-/**
- * Controls the mode snapshots are run in. If set to true, new snapshots are written to disk,
- * otherwise, the UI will be compared to the existing snapshot.
- */
-@property (nonatomic, assign) BOOL recordMode;
-
-@property (nonatomic, assign, readwrite) BOOL useBundler;
-
-@property (nonatomic, assign, readwrite) BOOL useJSDebugger;
-
-@property (nonatomic, copy) NSString *testSuffix;
-
-@property (nonatomic, readonly) NSURL *scriptURL;
-
-/**
- * Initialize a runner. It's recommended that you use the RCTInitRunnerForApp
- * macro instead of calling this directly.
- *
- * @param app The path to the app bundle without suffixes, e.g. IntegrationTests/IntegrationTestsApp
- * @param referenceDirectory The path for snapshot references images.
- * @param block A block that returns an array of extra modules to be used by the test runner.
- */
-- (instancetype)initWithApp:(NSString *)app
- referenceDirectory:(NSString *)referenceDirectory
- moduleProvider:(RCTBridgeModuleListProvider)block
- scriptURL:(NSURL *)scriptURL NS_DESIGNATED_INITIALIZER;
-
-/**
- * Simplest runTest function simply mounts the specified JS module with no
- * initialProps and waits for it to call
- *
- * RCTTestModule.markTestCompleted()
- *
- * JS errors/exceptions and timeouts will fail the test. Snapshot tests call
- * RCTTestModule.verifySnapshot whenever they want to verify what has been
- * rendered (typically via requestAnimationFrame to make sure the latest state
- * has been rendered in native.
- *
- * @param test Selector of the test, usually just `_cmd`.
- * @param moduleName Name of the JS component as registered by `AppRegistry.registerComponent` in JS.
- */
-- (void)runTest:(SEL)test module:(NSString *)moduleName;
-
-/**
- * Same as runTest:, but allows for passing initialProps for providing mock data
- * or requesting different behaviors, configurationBlock provides arbitrary logic for the hosting
- * root view manipulation.
- *
- * @param test Selector of the test, usually just `_cmd`.
- * @param moduleName Name of the JS component as registered by `AppRegistry.registerComponent` in JS.
- * @param initialProps props that are passed into the component when rendered.
- * @param configurationBlock A block that takes the hosting root view and performs arbitrary manipulation after its creation.
- */
-- (void)runTest:(SEL)test module:(NSString *)moduleName
- initialProps:(NSDictionary *)initialProps
-configurationBlock:(void(^)(RCTRootView *rootView))configurationBlock;
-
-/**
- * Same as runTest:, but allows for passing initialProps for providing mock data
- * or requesting different behaviors, configurationBlock provides arbitrary logic for the hosting
- * root view manipulation, and expectErrorRegex verifies that the error you expected was thrown.
- *
- * @param test Selector of the test, usually just `_cmd`.
- * @param moduleName Name of the JS component as registered by `AppRegistry.registerComponent` in JS.
- * @param initialProps props that are passed into the component when rendered.
- * @param configurationBlock A block that takes the hosting root view and performs arbitrary manipulation after its creation.
- * @param expectErrorRegex A regex that must match the error thrown. If no error is thrown, the test fails.
- */
-- (void)runTest:(SEL)test module:(NSString *)moduleName
- initialProps:(NSDictionary *)initialProps
-configurationBlock:(void(^)(RCTRootView *rootView))configurationBlock
-expectErrorRegex:(NSString *)expectErrorRegex;
-
-/**
- * Same as runTest:, but allows for passing initialProps for providing mock data
- * or requesting different behaviors, configurationBlock provides arbitrary logic for the hosting
- * root view manipulation, and expectErrorBlock provides arbitrary
- * logic for processing errors (nil will cause any error to fail the test).
- *
- * @param test Selector of the test, usually just `_cmd`.
- * @param moduleName Name of the JS component as registered by `AppRegistry.registerComponent` in JS.
- * @param initialProps props that are passed into the component when rendered.
- * @param configurationBlock A block that takes the hosting root view and performs arbitrary manipulation after its creation.
- * @param expectErrorBlock A block that takes the error message and returns NO to fail the test.
- */
-- (void)runTest:(SEL)test module:(NSString *)moduleName
- initialProps:(NSDictionary *)initialProps
-configurationBlock:(void(^)(RCTRootView *rootView))configurationBlock
-expectErrorBlock:(BOOL(^)(NSString *error))expectErrorBlock;
-
-@end
diff --git a/emission/Example/EmissionTests/RCTTest/RCTTestRunner.m b/emission/Example/EmissionTests/RCTTest/RCTTestRunner.m
deleted file mode 100644
index 91adbfca81b..00000000000
--- a/emission/Example/EmissionTests/RCTTest/RCTTestRunner.m
+++ /dev/null
@@ -1,197 +0,0 @@
-/**
- * Copyright (c) 2015-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-#import "RCTTestRunner.h"
-
-#import
-#import
-#import
-#import
-#import
-#import
-
-#import