forked from zulip/zulip-mobile
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
There was an attempt to use CocoaPods in aded466, 2017-03-19. That was removed in 4096e71, 2017-07-18. Some cleanup was done in 861744b, 2020-02-05. To paraphrase Greg on zulip#3983: CocoaPods is a tool for managing iOS libraries. Many people use it in their React Native apps, but there some tricky bits that have impeded universal adoption. RN v0.60 signals a full embrace of the use of CocoaPods by making it work more smoothly with RN. CocoaPods becomes required in v0.61. So, use CocoaPods, writing a Podfile based on the example Podfile given for react-native v0.59, at https://github.com/facebook/react-native-website/blob/ded79d2cf4456d8b1a4f67c2cdc1391789e70617/docs/integration-with-existing-apps.md. (That doc isn't live on the react-native docs website because of facebook/react-native-website#1603.) Originally, we were going to start using CocoaPods as part of the RN v0.60 upgrade, but we have a fresh reason to want to use CocoaPods, with its own deadline: zulip#3964, Apple auth. Someone has made a handy Expo package to handle Apple auth, but we can't use Expo packages without either fully committing to using the Expo SDK (a dramatic step) or using a package called react-native-unimodules, which lets you select individual Expo packages. react-native-unimodules requires the use of CocoaPods. Fixes: zulip#3983
- Loading branch information
Chris Bobbe
committed
Mar 20, 2020
1 parent
0f7a809
commit 4bd4cd5
Showing
4 changed files
with
311 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# This was the iOS Deployment Target (project > ZulipMobile > Info in Xcode) | ||
# as of 2020-03. | ||
platform :ios, '10.3' | ||
|
||
require_relative '../node_modules/react-native-unimodules/cocoapods.rb' | ||
|
||
# See | ||
# https://github.com/facebook/react-native-website/blob/ded79d2cf4456d8b1a4f67c2cdc1391789e70617/docs/integration-with-existing-apps.md#configuring-cocoapods-dependencies | ||
# for the choice of pods here. | ||
target 'ZulipMobile' do | ||
pod 'React', :path => '../node_modules/react-native', :subspecs => [ | ||
'Core', | ||
'CxxBridge', # Include this for RN >= 0.47 | ||
'DevSupport', # Include this to enable In-App Devmenu if RN >= 0.43 | ||
'RCTText', | ||
'RCTNetwork', | ||
'RCTWebSocket', # Needed for debugging | ||
'RCTAnimation', # Needed for FlatList and animations running on native UI thread | ||
# Add any other subspecs you want to use in your project | ||
] | ||
# Explicitly include Yoga if you are using RN >= 0.42.0 | ||
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga' | ||
|
||
# Third party deps podspec link | ||
pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' | ||
pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec' | ||
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' | ||
|
||
use_unimodules! | ||
|
||
target 'ZulipMobileTests' do | ||
inherit! :search_paths | ||
# Pods for testing | ||
end | ||
|
||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,197 @@ | ||
PODS: | ||
- boost-for-react-native (1.63.0) | ||
- DoubleConversion (1.1.6) | ||
- EXAppLoaderProvider (7.0.0) | ||
- EXConstants (7.0.1): | ||
- UMConstantsInterface | ||
- UMCore | ||
- EXFileSystem (7.0.0): | ||
- UMCore | ||
- UMFileSystemInterface | ||
- EXPermissions (7.0.0): | ||
- UMCore | ||
- UMPermissionsInterface | ||
- Folly (2018.10.22.00): | ||
- boost-for-react-native | ||
- DoubleConversion | ||
- glog | ||
- glog (0.3.5) | ||
- React (0.59.10): | ||
- React/Core (= 0.59.10) | ||
- React/Core (0.59.10): | ||
- yoga (= 0.59.10.React) | ||
- React/CxxBridge (0.59.10): | ||
- Folly (= 2018.10.22.00) | ||
- React/Core | ||
- React/cxxreact | ||
- React/jsiexecutor | ||
- React/cxxreact (0.59.10): | ||
- boost-for-react-native (= 1.63.0) | ||
- DoubleConversion | ||
- Folly (= 2018.10.22.00) | ||
- glog | ||
- React/jsinspector | ||
- React/DevSupport (0.59.10): | ||
- React/Core | ||
- React/RCTWebSocket | ||
- React/fishhook (0.59.10) | ||
- React/jsi (0.59.10): | ||
- DoubleConversion | ||
- Folly (= 2018.10.22.00) | ||
- glog | ||
- React/jsiexecutor (0.59.10): | ||
- DoubleConversion | ||
- Folly (= 2018.10.22.00) | ||
- glog | ||
- React/cxxreact | ||
- React/jsi | ||
- React/jsinspector (0.59.10) | ||
- React/RCTAnimation (0.59.10): | ||
- React/Core | ||
- React/RCTBlob (0.59.10): | ||
- React/Core | ||
- React/RCTNetwork (0.59.10): | ||
- React/Core | ||
- React/RCTText (0.59.10): | ||
- React/Core | ||
- React/RCTWebSocket (0.59.10): | ||
- React/Core | ||
- React/fishhook | ||
- React/RCTBlob | ||
- UMBarCodeScannerInterface (4.0.0) | ||
- UMCameraInterface (4.0.0) | ||
- UMConstantsInterface (4.0.0) | ||
- UMCore (4.0.0) | ||
- UMFaceDetectorInterface (4.0.0) | ||
- UMFileSystemInterface (4.0.0) | ||
- UMFontInterface (4.0.0) | ||
- UMImageLoaderInterface (4.0.0) | ||
- UMPermissionsInterface (4.0.0) | ||
- UMReactNativeAdapter (4.0.0): | ||
- React | ||
- UMCore | ||
- UMFontInterface | ||
- UMSensorsInterface (4.0.0) | ||
- UMTaskManagerInterface (4.0.0) | ||
- yoga (0.59.10.React) | ||
|
||
DEPENDENCIES: | ||
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) | ||
- EXAppLoaderProvider (from `../node_modules/expo-app-loader-provider/ios`) | ||
- EXConstants (from `../node_modules/expo-constants/ios`) | ||
- EXFileSystem (from `../node_modules/expo-file-system/ios`) | ||
- EXPermissions (from `../node_modules/expo-permissions/ios`) | ||
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`) | ||
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) | ||
- React/Core (from `../node_modules/react-native`) | ||
- React/CxxBridge (from `../node_modules/react-native`) | ||
- React/DevSupport (from `../node_modules/react-native`) | ||
- React/RCTAnimation (from `../node_modules/react-native`) | ||
- React/RCTNetwork (from `../node_modules/react-native`) | ||
- React/RCTText (from `../node_modules/react-native`) | ||
- React/RCTWebSocket (from `../node_modules/react-native`) | ||
- UMBarCodeScannerInterface (from `../node_modules/unimodules-barcode-scanner-interface/ios`) | ||
- UMCameraInterface (from `../node_modules/unimodules-camera-interface/ios`) | ||
- UMConstantsInterface (from `../node_modules/unimodules-constants-interface/ios`) | ||
- "UMCore (from `../node_modules/@unimodules/core/ios`)" | ||
- UMFaceDetectorInterface (from `../node_modules/unimodules-face-detector-interface/ios`) | ||
- UMFileSystemInterface (from `../node_modules/unimodules-file-system-interface/ios`) | ||
- UMFontInterface (from `../node_modules/unimodules-font-interface/ios`) | ||
- UMImageLoaderInterface (from `../node_modules/unimodules-image-loader-interface/ios`) | ||
- UMPermissionsInterface (from `../node_modules/unimodules-permissions-interface/ios`) | ||
- "UMReactNativeAdapter (from `../node_modules/@unimodules/react-native-adapter/ios`)" | ||
- UMSensorsInterface (from `../node_modules/unimodules-sensors-interface/ios`) | ||
- UMTaskManagerInterface (from `../node_modules/unimodules-task-manager-interface/ios`) | ||
- yoga (from `../node_modules/react-native/ReactCommon/yoga`) | ||
|
||
SPEC REPOS: | ||
trunk: | ||
- boost-for-react-native | ||
|
||
EXTERNAL SOURCES: | ||
DoubleConversion: | ||
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" | ||
EXAppLoaderProvider: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/expo-app-loader-provider/ios" | ||
EXConstants: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/expo-constants/ios" | ||
EXFileSystem: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/expo-file-system/ios" | ||
EXPermissions: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/expo-permissions/ios" | ||
Folly: | ||
:podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec" | ||
glog: | ||
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" | ||
React: | ||
:path: "../node_modules/react-native" | ||
UMBarCodeScannerInterface: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/unimodules-barcode-scanner-interface/ios" | ||
UMCameraInterface: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/unimodules-camera-interface/ios" | ||
UMConstantsInterface: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/unimodules-constants-interface/ios" | ||
UMCore: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/@unimodules/core/ios" | ||
UMFaceDetectorInterface: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/unimodules-face-detector-interface/ios" | ||
UMFileSystemInterface: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/unimodules-file-system-interface/ios" | ||
UMFontInterface: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/unimodules-font-interface/ios" | ||
UMImageLoaderInterface: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/unimodules-image-loader-interface/ios" | ||
UMPermissionsInterface: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/unimodules-permissions-interface/ios" | ||
UMReactNativeAdapter: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/@unimodules/react-native-adapter/ios" | ||
UMSensorsInterface: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/unimodules-sensors-interface/ios" | ||
UMTaskManagerInterface: | ||
:path: !ruby/object:Pathname | ||
path: "../node_modules/unimodules-task-manager-interface/ios" | ||
yoga: | ||
:path: "../node_modules/react-native/ReactCommon/yoga" | ||
|
||
SPEC CHECKSUMS: | ||
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c | ||
DoubleConversion: bb338842f62ab1d708ceb63ec3d999f0f3d98ecd | ||
EXAppLoaderProvider: 5d348813a9cf09b03bbe5b8b55437bc1bfbddbd1 | ||
EXConstants: 857aa7b1c84e2878f8402d712061860bca16a697 | ||
EXFileSystem: 7e53a2c30a2eb6987ba6d5158ab908f947523228 | ||
EXPermissions: df10ad83df2f6b647aec304619354f8ab48d5f63 | ||
Folly: de497beb10f102453a1afa9edbf8cf8a251890de | ||
glog: aefd1eb5dda2ab95ba0938556f34b98e2da3a60d | ||
React: 36d0768f9e93be2473b37e7fa64f92c1d5341eef | ||
UMBarCodeScannerInterface: d5a6fdc98ed6241225b0a8432a7f4e2b397668bc | ||
UMCameraInterface: 68870a3197fee85bd5afca5609ba4a5b7257d19d | ||
UMConstantsInterface: d25b8e8887ca7aaf568c06caf08f4d40734ee4ef | ||
UMCore: 402cee150324974974f5c32b5404d8af65e4cff5 | ||
UMFaceDetectorInterface: 7b4f1a92f0c726b58b086296048efe193b570678 | ||
UMFileSystemInterface: aadb9a67aa6470d7ebc06cf04dc54fee6781ac48 | ||
UMFontInterface: 2d3c128285086bbed3d2a650f1d698323ef3b25a | ||
UMImageLoaderInterface: 2829a7571a12d2e754c73c55ffe7e327d8402c7d | ||
UMPermissionsInterface: b6a6e96db0f4011a25aaca14e6022529dd3d6e4e | ||
UMReactNativeAdapter: 93c2f520a1cdb6ef3058a7b6a95275a804e0923b | ||
UMSensorsInterface: cf59dd7602764a2419e00167429be3e4be39c61d | ||
UMTaskManagerInterface: 1e70fe58b872355f0ecb44fb81bb1a16484047f0 | ||
yoga: 684513b14b03201579ba3cee20218c9d1298b0cc | ||
|
||
PODFILE CHECKSUM: 3194227f6331ef767276e6757e018c5a0e320f60 | ||
|
||
COCOAPODS: 1.9.1 |
Oops, something went wrong.