diff --git a/Gemfile b/Gemfile index 5ea9434..19c34ad 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,4 @@ source "https://rubygems.org" gem "fastlane", ">= 2.228", "< 3.0" +gem "cocoapods", "1.17.0" diff --git a/Gemfile.lock b/Gemfile.lock index 6a6b5a0..21d1bdb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,10 +1,25 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.9) + CFPropertyList (3.0.8) abbrev (0.1.2) + activesupport (7.2.3.2) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1, < 6) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) addressable (2.9.0) public_suffix (>= 2.0.2, < 8.0) + algoliasearch (1.27.5) + httpclient (~> 2.8, >= 2.8.3) + json (>= 1.5.1) artifactory (3.0.17) atomos (0.1.3) aws-eventstream (1.3.2) @@ -27,11 +42,51 @@ GEM aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) base64 (0.2.0) + benchmark (0.5.0) + bigdecimal (4.1.2) claide (1.1.0) + cocoapods (1.17.0) + addressable (~> 2.8) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.17.0) + cocoapods-deintegrate (>= 1.0.3, < 2.0) + cocoapods-downloader (>= 2.1, < 3.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.6.0, < 2.0) + cocoapods-try (>= 1.1.0, < 2.0) + colored2 (~> 3.1) + fourflusher (>= 2.3.0, < 3.0) + gh_inspector (~> 1.0) + molinillo (~> 0.8.0) + nap (~> 1.0) + ruby-macho (~> 4.1.0) + xcodeproj (>= 1.28.1, < 2.0) + cocoapods-core (1.17.0) + activesupport (>= 5.0, < 8) + addressable (~> 2.8) + algoliasearch (~> 1.0) + concurrent-ruby (~> 1.1) + fuzzy_match (~> 2.0.4) + nap (~> 1.0) + netrc (~> 0.11) + public_suffix (~> 4.0) + typhoeus (~> 1.0) + cocoapods-deintegrate (1.0.5) + cocoapods-downloader (2.1) + cocoapods-plugins (1.0.0) + nap + cocoapods-search (1.0.1) + cocoapods-trunk (1.6.0) + nap (>= 0.8, < 2.0) + netrc (~> 0.11) + cocoapods-try (1.2.0) colored (1.2) colored2 (3.1.2) commander (4.6.0) highline (~> 2.0.0) + concurrent-ruby (1.3.8) + connection_pool (3.0.2) csv (3.3.5) declarative (0.0.20) digest-crc (0.7.0) @@ -39,7 +94,11 @@ GEM domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) dotenv (2.8.1) + drb (2.2.3) emoji_regex (3.2.3) + ethon (0.18.0) + ffi (>= 1.15.0) + logger excon (0.109.0) faraday (1.10.5) faraday-em_http (~> 1.0) @@ -70,7 +129,7 @@ GEM faraday_middleware (1.2.1) faraday (~> 1.0) fastimage (2.4.1) - fastlane (2.230.0) + fastlane (2.231.1) CFPropertyList (>= 2.3, < 4.0.0) abbrev (~> 0.1.2) addressable (>= 2.8, < 3.0.0) @@ -78,7 +137,8 @@ GEM aws-sdk-s3 (~> 1.0) babosa (>= 1.0.3, < 2.0.0) base64 (~> 0.2.0) - bundler (>= 1.12.0, < 3.0.0) + benchmark (>= 0.1.0) + bundler (>= 1.17.3, < 5.0.0) colored (~> 1.2) commander (~> 4.6) csv (~> 3.3) @@ -106,6 +166,7 @@ GEM naturally (~> 2.2) nkf (~> 0.2.0) optparse (>= 0.1.1, < 1.0.0) + ostruct (>= 0.1.0) plist (>= 3.1.0, < 4.0.0) rubyzip (>= 2.0.0, < 3.0.0) security (= 0.1.5) @@ -119,6 +180,9 @@ GEM xcpretty (~> 0.4.1) xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) fastlane-sirp (1.1.0) + ffi (1.17.4) + fourflusher (2.3.1) + fuzzy_match (2.0.4) gh_inspector (1.1.3) google-apis-androidpublisher_v3 (0.54.0) google-apis-core (>= 0.11.0, < 2.a) @@ -161,6 +225,8 @@ GEM domain_name (~> 0.5) httpclient (2.9.0) mutex_m + i18n (1.15.2) + concurrent-ruby (~> 1.0) jmespath (1.6.2) json (2.7.6) jwt (2.10.2) @@ -168,16 +234,21 @@ GEM logger (1.7.0) mini_magick (4.13.2) mini_mime (1.1.5) + minitest (5.27.0) + molinillo (0.8.0) multi_json (1.15.0) multipart-post (2.4.1) mutex_m (0.3.0) nanaimo (0.4.0) + nap (1.1.0) naturally (2.3.0) + netrc (0.11.0) nkf (0.2.0) optparse (0.8.1) os (1.1.4) + ostruct (0.6.3) plist (3.7.2) - public_suffix (5.1.1) + public_suffix (4.0.7) rake (13.4.2) representable (3.2.0) declarative (< 0.1.0) @@ -186,8 +257,10 @@ GEM retriable (3.4.1) rexml (3.4.4) rouge (3.28.0) + ruby-macho (4.1.0) ruby2_keywords (0.0.5) rubyzip (2.4.1) + securerandom (0.4.1) security (0.1.5) signet (0.18.0) addressable (~> 2.8) @@ -205,16 +278,22 @@ GEM tty-screen (0.8.2) tty-spinner (0.9.3) tty-cursor (~> 0.7) + typhoeus (1.6.0) + ethon (>= 0.18.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) uber (0.1.0) unf (0.2.0) unicode-display_width (2.6.0) word_wrap (1.0.0) - xcodeproj (1.27.0) + xcodeproj (1.28.1) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) + base64 claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) nanaimo (~> 0.4.0) + nkf rexml (>= 3.3.6, < 4.0) xcpretty (0.4.1) rouge (~> 3.28.0) @@ -225,6 +304,7 @@ PLATFORMS ruby DEPENDENCIES + cocoapods (= 1.17.0) fastlane (>= 2.228, < 3.0) BUNDLED WITH diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 49fc2bc..23d38e3 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -3556,25 +3556,25 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb - EXApplication: 1e98d4b1dccdf30627f92917f4b2c5a53c330e5f - EXConstants: fce59a631a06c4151602843667f7cfe35f81e271 - EXNotifications: c67e92b9fdfe785ff9dbdc5f4c0ff935de357da7 - Expo: 219270e5a4918b2c3f282b80f2755a91ddc41203 - ExpoAsset: 9e5a7c9c0a9fb83ad5b2bb365141f2bd7f289b66 - ExpoFileSystem: ad991457efaa14253723f1dda997eac6024c700d - ExpoFont: f543ce20a228dd702813668b1a07b46f51878d47 - ExpoHaptics: d3a6375d8dcc3a1083d003bc2298ff654fafb536 - ExpoHead: 7e19b2272edf492262acf8afb391a295198a6b23 - ExpoImage: 686f972bff29525733aa13357f6691dc90aa03d8 - ExpoKeepAwake: 55f75eca6499bb9e4231ebad6f3e9cb8f99c0296 - ExpoLinearGradient: 809102bdb979f590083af49f7fa4805cd931bd58 - ExpoLinking: 2ef632ad5013e3f1568fae9408d56ab9af5efc55 - ExpoModulesCore: 6294d9712874e86423c9f899c04ac1de9d468e1b - ExpoSplashScreen: bc3cffefca2716e5f22350ca109badd7e50ec14d - ExpoSymbols: 349ee2b4d7d5ff3ea8436467914f8a67635aa354 - ExpoSystemUI: 2ad325f361a2fcd96a464e8574e19935c461c9cc - ExpoTrackingTransparency: 4f823a38ff7c0efea4cac722ecbc0589278ff548 - ExpoWebBrowser: 970dd4c64c29c955c3af664c8058ba768a4c9187 + EXApplication: 13420f8139864183f8a04fd6099077bdf8cfb186 + EXConstants: 3feb66fd1d94202fc1f0946d74e029d8b224b60e + EXNotifications: 6b4dced0f3dfd0dfb9d7c5d47a5ccd86764fc73c + Expo: b87c4100468bb6872c610ec33318d094b71d7ace + ExpoAsset: cc98e16f65a64e58079d9ccad3b5eec2b57b9263 + ExpoFileSystem: dc2c00cc568d432efc36ea1d994c25050909d23d + ExpoFont: c625dbd97ed57e9089b172b2a7bb99003d074664 + ExpoHaptics: 7240781406f4563c3f4eb1e72864302a8c643fd0 + ExpoHead: 3f6ed6cbda48f13bcaddae98f8e5dc525dcfb34f + ExpoImage: f6bcd30bb98d4c484869668fbc32834bb3ee5bfb + ExpoKeepAwake: 44bf6715bc1d2ddb17afe19d927cd039cda123f0 + ExpoLinearGradient: 814a21fc4056c3cf606e4f19e31e47074c5b5a86 + ExpoLinking: 4f1fc07ec4b3c10d60ec91617db973575104ec7e + ExpoModulesCore: bbb6e8cd8231e84a3e30c8e01f369d24cba37c63 + ExpoSplashScreen: 72fbc6dd9d6404dd9d0725a56c9ac1383bc0b14f + ExpoSymbols: a0e8217dc2789d9ed0f28b63a466fc5beafd5100 + ExpoSystemUI: 4611247a411f231229f7e04449856035bd18ba21 + ExpoTrackingTransparency: 1096e9082787daf71904fac651c6e73a3179f5b1 + ExpoWebBrowser: 93acaae9a851370332e0c1310cbcd1437c0b4377 fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6 FBLazyVector: 5beb8028d5a2e75dd9634917f23e23d3a061d2aa Firebase: 99f203d3a114c6ba591f3b32263a9626e450af65 @@ -3604,7 +3604,7 @@ SPEC CHECKSUMS: libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8 Mixpanel-swift: de454db5987bf6f601106520a44663fc556e8cfa - MixpanelReactNative: 1f0d8718b2be7174f719ed5db8e8f75d7975dea4 + MixpanelReactNative: e6b7c6c37e88263744c9a5d46a1f05d209b68348 nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851 @@ -3614,79 +3614,79 @@ SPEC CHECKSUMS: RCTTypeSafety: b99aa872829ee18f6e777e0ef55852521c5a6788 React: 914f8695f9bf38e6418228c2ffb70021e559f92f React-callinvoker: 23cd4e33928608bd0cc35357597568b8b9a5f068 - React-Core: 6a0a97598e9455348113bfe4c573fe8edac34469 - React-CoreModules: a88a6ca48b668401b9780e272e2a607e70f9f955 - React-cxxreact: 06265fd7e8d5c3b6b49e00d328ef76e5f1ae9c8b + React-Core: 895a479e2e0331f48af3ad919bece917926a0b7d + React-CoreModules: dfa38212cf3a91f2eb84ccd43d747d006d33449e + React-cxxreact: 7a4e2c77e564792252131e63270f6184d93343b3 React-debug: 29aed758c756956a51b4560223edbd15191ca4c5 - React-defaultsnativemodule: c406bf7cd78036efffb7dec9df469257a1bca58c - React-domnativemodule: 925ea5ff8cb05c68e910057e6349e5898cce00f3 - React-Fabric: 13130d0a70f17e913865b04673ee64603d6c42fe - React-FabricComponents: 1f01ea24a1314bf9abcac4743bb7ad8791336be6 - React-FabricImage: f364dc54fcf8b0ef77192674a009aa4f65b34d75 - React-featureflags: 32217ac18a8c216fc571044186fb04164af72772 - React-featureflagsnativemodule: 9c552bb908a7434baa846002ee1752a77b1a5520 - React-graphics: 3034a698e46e947f74a443e761f1feef742e9d71 - React-hermes: a852be3ab9e1f515e46ba3ea9f48c31d4a9df437 - React-idlecallbacksnativemodule: c43fe1f2221b0548cc366bf15f88efb3b3221bbf - React-ImageManager: 7efd7b19cdfaa3a82482e9e6ac0b56606a3ec271 - React-jserrorhandler: 597057d0b9d158c03e02aa376a4a95f64f46a910 - React-jsi: 7b53959aea60909ac6bbe4dd0bdec6c10d7dc597 - React-jsiexecutor: 19938072af05ade148474bac41e0324a2d733f44 - React-jsinspector: eb6bb244a75cbd56f32767daf2efdb344e2ff10c - React-jsinspectorcdp: 727f37537e9c7ab22b6b86c802d879efae5e2757 - React-jsinspectornetwork: 11d47e644701c58038ef8d7f54a405ddd62b3b16 - React-jsinspectortracing: 8875637e6c65b3b9a3852b006856562e874e7a78 - React-jsitooling: b6e6a2551459a6ef9e1529df2ea981fa27ed3a91 - React-jsitracing: 879e2b2f80dd33d84175989de0a8db5d662505db - React-logger: a913317214a26565cd4c045347edf1bcacb80a3f - React-Mapbuffer: 017336879e2e0fb7537bbc08c24f34e2384c9260 - React-microtasksnativemodule: 63ee6730cec233feab9cdcc0c100dc28a12e4165 - react-native-get-random-values: d16467cf726c618e9c7a8c3c39c31faa2244bbba - react-native-safe-area-context: 0a3b034bb63a5b684dd2f5fffd3c90ef6ed41ee8 - react-native-webview: d73728424a0e24989d71ffdc6fcf15d5f74ff4a2 - React-NativeModulesApple: cbceb3c4cb726838c461b13802a76cefa6f3476f + React-defaultsnativemodule: ee4e3ca63b29c8b91448a6760d72063196ed0796 + React-domnativemodule: 4d29aad12ebb2b5aa34043e5bdd191a92821f3aa + React-Fabric: 21f78a4856240d39a663a52c452e223c5e412098 + React-FabricComponents: 13fc0ac39a488cea00c83ffa7b16113f024d66e6 + React-FabricImage: 8961abe0372d20679ee093d144aaf5fb1227bf41 + React-featureflags: 018934f958e6b83907e71631599b02144e6b17f4 + React-featureflagsnativemodule: 89fef5751203b7d3cdde43e1e10407983735a4b4 + React-graphics: 1c62dd11f47071482ca90238981f0147cce4089d + React-hermes: 36704d7354fff9c9e3fbb2490e8eeb2ac027f6f0 + React-idlecallbacksnativemodule: 5f7cbecc1479b53e665f2cd6c2af2c21a80d2ffd + React-ImageManager: 4cb6318bb2bcc947106e29f9297a1c24c85a9233 + React-jserrorhandler: 4b9344f5794cfe8946f8752d38094649f53dd3f3 + React-jsi: 3a8c6f94a52033b0cca53c38d9bb568306aa9dc1 + React-jsiexecutor: d7cf79b1c2771c6b21c46691a96dd2e32d4454c7 + React-jsinspector: 651483ea1d79859e0ed21b86e9042b2a3f4d2b40 + React-jsinspectorcdp: c800035023789b8bf32b4f5a4c9003c2dc28ee49 + React-jsinspectornetwork: 249ee46e9de930d773ff6e4726aa8eeb5854b589 + React-jsinspectortracing: 80e251e13a6071607f06f0e39e03d3f2ce2645cb + React-jsitooling: 6ce395671d0139ec1c4721953a4d3d92172fc06f + React-jsitracing: 4a4d89334b14d96de0387876751528433d1d2fbd + React-logger: 8bcfaf06f8c536fb9e9760526cf3d17ccd53e4ce + React-Mapbuffer: 4649384414066eb77e30a3124dbb48732a3aa173 + React-microtasksnativemodule: e39f94cc96d61b8174a5cfb2d5862a73fa8c0d35 + react-native-get-random-values: 21325b2244dfa6b58878f51f9aa42821e7ba3d06 + react-native-safe-area-context: fea29ae0275beaa22f72d0a8be1eb0ab09c3feae + react-native-webview: 089e3d3bfeb754dff1e5920e6060e615757957f8 + React-NativeModulesApple: 8ce162c145e6b9767bb37a090c77d3d28f7d32b5 React-oscompat: eb0626e8ba1a2c61673c991bf9dc21834898475d - React-perflogger: 509e1f9a3ee28df71b0a66de806ac515ce951246 - React-performancetimeline: 9ce28cce1cded27410c293283f99fe62bebdb920 + React-perflogger: d0d0d1b884120fa0a13bd38ac5e9c3c8e8bfe82a + React-performancetimeline: ae60fb7a7447c44d4d3227fc4eeba606403aaee3 React-RCTActionSheet: 30fe8f9f8d86db4a25ff34595a658ecd837485fc - React-RCTAnimation: 3126eb1cb8e7a6ca33a52fd833d8018aa9311af1 - React-RCTAppDelegate: b03981c790aa40cf26e0f78cc0f1f2df8287ead4 - React-RCTBlob: 53c35e85c85d6bdaa55dc81a0b290d4e78431095 - React-RCTFabric: 59ad9008775f123019c508efff260594a8509791 - React-RCTFBReactNativeSpec: 82b605ab4f6f8da0a7ad88641161df5a0bafb1fb - React-RCTImage: 074b2faa71a152a456c974e118b60c9eeda94a64 - React-RCTLinking: e5ca17a4f7ae2ad7b0c0483be77e1b383ecd0a8a - React-RCTNetwork: c508d7548c9eceac30a8100a846ea00033a03366 - React-RCTRuntime: 6979568c0bc276fe785e085894f954fa15e0ec7e - React-RCTSettings: dd84c857a4fce42c1e08c1dabcda894e25af4a6e - React-RCTText: 6e4b177d047f98bccb90d6fb1ebdd3391cf8b299 - React-RCTVibration: 9572d4a06a0c92650bcc62913e50eb2a89f19fb6 + React-RCTAnimation: e86dacf8a982f42341a44ec87ea8a30964a15f9f + React-RCTAppDelegate: d7214067e796732b5d22960270593945f1ab8a14 + React-RCTBlob: af1fc227a5aa55564afbe84530a8bd28834fda15 + React-RCTFabric: 8d92e851cc6cdf9771c52a18b144424c92b72082 + React-RCTFBReactNativeSpec: c9ec2130e3c9366d30a85886e1776210054763f5 + React-RCTImage: 70a10a5b957ca124b8d0b0fdeec369f11194782c + React-RCTLinking: 67f8a024192b4844c40ace955c54bb34f40d47f0 + React-RCTNetwork: a7679ee67e7d34797a00cefaa879a3f9ea8cee9c + React-RCTRuntime: 3d25c69970924b597c339aead60168026d7cbc2c + React-RCTSettings: 18d8674195383c4fd51b9fc98ee815b329fba7e4 + React-RCTText: 125574af8e29d0ceb430cbe2a03381d62ba45a47 + React-RCTVibration: e96d43017757197d46834c50a0acfb78429c9b30 React-rendererconsistency: a7b47f8b186af64ff8509c8caec4114a2f1ae63f - React-renderercss: 9845c5063b3a2d0462ed4e4c7fc34219a5d608ed - React-rendererdebug: 3905e346c06347b86c6e49d427062cdd638a3044 - React-RuntimeApple: 97233caf2b635c40819bf5be38d818777f8229ab - React-RuntimeCore: dc41f86fcdf1fbb42a5b8388a29bf59dfa56b2f8 - React-runtimeexecutor: d16d045faaf6cd7de8d1aa8e31a51c13d8db84a4 - React-RuntimeHermes: 5a9d132554c8d6b416d794cd4ac7d927b2f88f7b - React-runtimescheduler: 689d805d43c28b8fb1ab390914e042d10e2ea2ab - React-timing: c39eeb992274aeaeb9f4666dc97a36a31d33fe94 - React-utils: 2f9ba0088251788ad66aa1855ff99ed2424024d2 - ReactAppDependencyProvider: 1bcd3527ac0390a1c898c114f81ff954be35ed79 - ReactCodegen: 2e921a931c5a4dd1d8ab37ade085fdf58fcfe1dd - ReactCommon: 6d0fa86a4510730da7c72560e0ced14258292ab9 + React-renderercss: 0a5b6b7aefc3f5e46a61b0e41b1179a0750cf077 + React-rendererdebug: 7da01af21ab31661c3040ef647e6e2bc55575771 + React-RuntimeApple: 788ca3b8e5485a46654e8a316d4c1e40bf82c5d4 + React-RuntimeCore: 1730e6e5cba6f0af4e0319f891da6426b491e39f + React-runtimeexecutor: 79894322e55268854dc04ff1bee083f24725f6c8 + React-RuntimeHermes: 86bf03cbf11ef05803a2e32087667c8a3cc45f72 + React-runtimescheduler: 70601d598a8a71582fa69a9ba488a27c5d12790d + React-timing: 5717558f0bea206d7557df53015ee9efe1eb57b2 + React-utils: 55e54e497e3d3f373ebfcf844eb77e24ed013356 + ReactAppDependencyProvider: c277c5b231881ad4f00cd59e3aa0671b99d7ebee + ReactCodegen: 1e847cf77c1402fe7394dae41b3829c95569e76e + ReactCommon: 5cfd842fcd893bb40fc835f98fadc60c42906a20 RecaptchaInterop: 11e0b637842dfb48308d242afc3f448062325aba - RNCAsyncStorage: fd44f4b03e007e642e98df6726737bc66e9ba609 - RNFBAnalytics: e7367b7cd0c1d1d6629d9f38de760ad6ae510a7b - RNFBApp: 66e966d59c12c1cad8822b69b4ac1be42e7c4964 - RNFBAuth: 22fc2c67a731a481a2f91d786f761860c80f9363 - RNFBCrashlytics: dd5ecf4ebfecd49a8f288d05fd2687069618de54 - RNFBMessaging: 4052eb5e3f12cf31db9e2e7d7f565963eab9757a - RNFBRemoteConfig: 3a7ac2dc6fafa576f006f2511dae5e25adf7ab84 - RNGestureHandler: b8d2e75c2e88fc2a1f6be3b3beeeed80b88fa37d - RNReanimated: e2c39be4074d998fdf5edfeeb05f1f3c1aceaddb - RNScreens: 2e9c41cd099b1ca50136af8d57c3594214d0086a - RNSVG: 94a1be05fab4043354bcf7104f0f9b0e2231ef05 - RNWorklets: ad0606bee2a8103c14adb412149789c60b72bfb2 + RNCAsyncStorage: 8857fb173af29664cb90897903902dc8533e36cc + RNFBAnalytics: 8e769555d8976795ec59211e1765f1420ecb7c63 + RNFBApp: 4c8bc0805684070c773e7f6fea610a96a479483c + RNFBAuth: 9c6bb794409d56c943e78ef9d4e8bcb63d7644bb + RNFBCrashlytics: 53d3a11035378e4606a9cbf608400b8db7cab3e8 + RNFBMessaging: 1d92c8c40a3cc6a9fe66a92cef96b719f44c689d + RNFBRemoteConfig: b56b4a438bb7281a12ed1d00ccca79742dcc1227 + RNGestureHandler: 9339994ea5d1ff6ad2679b7d0cc3d49053111369 + RNReanimated: c66a24c21914257de7e4493d7addde8480f57bdc + RNScreens: 871305075ddf1291411b051d86da9e0d9289de02 + RNSVG: 9be2bc57df95a874e8c4b0f7dd71866139f321d2 + RNWorklets: 582ee5c59370d483a7a3c3f8a8014d48b1bff6bd SDWebImage: e9fc87c1aab89a8ab1bbd74eba378c6f53be8abf SDWebImageAVIFCoder: afe194a084e851f70228e4be35ef651df0fc5c57 SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c @@ -3696,4 +3696,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: f862fb467157abd2cc32ab24d203181f5a8c818f -COCOAPODS: 1.16.2 +COCOAPODS: 1.17.0 diff --git a/ios/ci_scripts/ci_post_clone.sh b/ios/ci_scripts/ci_post_clone.sh index cbf127f..2449e67 100755 --- a/ios/ci_scripts/ci_post_clone.sh +++ b/ios/ci_scripts/ci_post_clone.sh @@ -59,22 +59,52 @@ ensure_node() { export NODE_BINARY="$(command -v node)" } -ensure_cocoapods() { +ensure_ruby() { prepend_homebrew_paths - if command -v pod >/dev/null 2>&1; then + if command -v ruby >/dev/null 2>&1 && + ruby -e 'exit Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.0") ? 0 : 1'; then return fi - echo "CocoaPods not found in PATH. Installing cocoapods with Homebrew..." - install_with_homebrew cocoapods + echo "Ruby 3 or newer not found in PATH. Installing ruby with Homebrew..." + install_with_homebrew ruby + + RUBY_PREFIX="$(brew --prefix ruby 2>/dev/null || true)" + if [ -n "$RUBY_PREFIX" ]; then + PATH="$RUBY_PREFIX/bin:$PATH" + export PATH + fi + + if ! command -v ruby >/dev/null 2>&1 || + ! ruby -e 'exit Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.0") ? 0 : 1'; then + echo "Failed to make Ruby 3 or newer available." >&2 + exit 1 + fi +} + +BUNDLER_VERSION="${BUNDLER_VERSION:-2.5.22}" + +ensure_bundler() { + if gem list --installed bundler --version "$BUNDLER_VERSION" >/dev/null 2>&1; then + return + fi + + echo "Installing Bundler $BUNDLER_VERSION..." + gem install bundler -v "$BUNDLER_VERSION" --no-document } ensure_node +ensure_ruby +ensure_bundler node --version npm --version +ruby --version +bundle "_${BUNDLER_VERSION}_" --version npm ci +bundle "_${BUNDLER_VERSION}_" install --jobs 4 --retry 3 + decode_google_service_info_plist() { if printf '%s' "$GOOGLE_SERVICE_INFO_PLIST_BASE64" | base64 --decode > GoogleService-Info.plist 2>/dev/null; then return @@ -124,8 +154,7 @@ if [ -f "$ENTITLEMENTS_FILE" ]; then fi cd ios -ensure_cocoapods -pod install --deployment +bundle "_${BUNDLER_VERSION}_" exec pod install --deployment PODS_RELEASE_XCCONFIG="Pods/Target Support Files/Pods-app/Pods-app.release.xcconfig" if [ ! -f "$PODS_RELEASE_XCCONFIG" ]; then diff --git a/plugins/ios-prebuild-support/ci_post_clone.sh b/plugins/ios-prebuild-support/ci_post_clone.sh index cbf127f..2449e67 100644 --- a/plugins/ios-prebuild-support/ci_post_clone.sh +++ b/plugins/ios-prebuild-support/ci_post_clone.sh @@ -59,22 +59,52 @@ ensure_node() { export NODE_BINARY="$(command -v node)" } -ensure_cocoapods() { +ensure_ruby() { prepend_homebrew_paths - if command -v pod >/dev/null 2>&1; then + if command -v ruby >/dev/null 2>&1 && + ruby -e 'exit Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.0") ? 0 : 1'; then return fi - echo "CocoaPods not found in PATH. Installing cocoapods with Homebrew..." - install_with_homebrew cocoapods + echo "Ruby 3 or newer not found in PATH. Installing ruby with Homebrew..." + install_with_homebrew ruby + + RUBY_PREFIX="$(brew --prefix ruby 2>/dev/null || true)" + if [ -n "$RUBY_PREFIX" ]; then + PATH="$RUBY_PREFIX/bin:$PATH" + export PATH + fi + + if ! command -v ruby >/dev/null 2>&1 || + ! ruby -e 'exit Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.0") ? 0 : 1'; then + echo "Failed to make Ruby 3 or newer available." >&2 + exit 1 + fi +} + +BUNDLER_VERSION="${BUNDLER_VERSION:-2.5.22}" + +ensure_bundler() { + if gem list --installed bundler --version "$BUNDLER_VERSION" >/dev/null 2>&1; then + return + fi + + echo "Installing Bundler $BUNDLER_VERSION..." + gem install bundler -v "$BUNDLER_VERSION" --no-document } ensure_node +ensure_ruby +ensure_bundler node --version npm --version +ruby --version +bundle "_${BUNDLER_VERSION}_" --version npm ci +bundle "_${BUNDLER_VERSION}_" install --jobs 4 --retry 3 + decode_google_service_info_plist() { if printf '%s' "$GOOGLE_SERVICE_INFO_PLIST_BASE64" | base64 --decode > GoogleService-Info.plist 2>/dev/null; then return @@ -124,8 +154,7 @@ if [ -f "$ENTITLEMENTS_FILE" ]; then fi cd ios -ensure_cocoapods -pod install --deployment +bundle "_${BUNDLER_VERSION}_" exec pod install --deployment PODS_RELEASE_XCCONFIG="Pods/Target Support Files/Pods-app/Pods-app.release.xcconfig" if [ ! -f "$PODS_RELEASE_XCCONFIG" ]; then