firebase-ios-sdk: dSYM upload script not working with XCode 15 archive
Description
I just upgraded to XCode 15, and the script to upload dSYM no longer works with this error:
Could not get GOOGLE_APP_ID in Google Services file from build environment
This only happens when I archive. When building and running, this works just fine, even with the Any iOS Device (arm64) destination. I have all 5 files in the Input Files. I tried removing the $(BUILT_PRODUCTS_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist when building and it fails with the same error. So for some reason, it doesn’t seem to recognize GOOGLE_APP_ID when archiving.
Reproducing the issue
Standard setup from the Get started with Firebase Crashlytics page and in XCode: Product/Archive
Firebase SDK Version
10.15.0
Xcode Version
15.0
Installation Method
Swift Package Manager
Firebase Product(s)
Crashlytics
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project’s Package.resolved
{ “pins” : [ { “identity” : “abseil-cpp-binary”, “kind” : “remoteSourceControl”, “location” : “https://github.com/google/abseil-cpp-binary.git”, “state” : { “revision” : “bfc0b6f81adc06ce5121eb23f628473638d67c5c”, “version” : “1.2022062300.0” } }, { “identity” : “firebase-ios-sdk”, “kind” : “remoteSourceControl”, “location” : “https://github.com/firebase/firebase-ios-sdk”, “state” : { “revision” : “8a8ec57a272e0d31480fb0893dda0cf4f769b57e”, “version” : “10.15.0” } }, { “identity” : “flanimatedimage”, “kind” : “remoteSourceControl”, “location” : “https://github.com/Flipboard/FLAnimatedImage.git”, “state” : { “revision” : “d4f07b6f164d53c1212c3e54d6460738b1981e9f”, “version” : “1.0.17” } }, { “identity” : “googleappmeasurement”, “kind” : “remoteSourceControl”, “location” : “https://github.com/google/GoogleAppMeasurement.git”, “state” : { “revision” : “03b9beee1a61f62d32c521e172e192a1663a5e8b”, “version” : “10.13.0” } }, { “identity” : “googledatatransport”, “kind” : “remoteSourceControl”, “location” : “https://github.com/google/GoogleDataTransport.git”, “state” : { “revision” : “aae45a320fd0d11811820335b1eabc8753902a40”, “version” : “9.2.5” } }, { “identity” : “googleutilities”, “kind” : “remoteSourceControl”, “location” : “https://github.com/google/GoogleUtilities.git”, “state” : { “revision” : “c38ce365d77b04a9a300c31061c5227589e5597b”, “version” : “7.11.5” } }, { “identity” : “grpc-binary”, “kind” : “remoteSourceControl”, “location” : “https://github.com/google/grpc-binary.git”, “state” : { “revision” : “f1b366129d1125be7db83247e003fc333104b569”, “version” : “1.50.2” } }, { “identity” : “gtm-session-fetcher”, “kind” : “remoteSourceControl”, “location” : “https://github.com/google/gtm-session-fetcher.git”, “state” : { “revision” : “d415594121c9e8a4f9d79cecee0965cf35e74dbd”, “version” : “3.1.1” } }, { “identity” : “interop-ios-for-google-sdks”, “kind” : “remoteSourceControl”, “location” : “https://github.com/google/interop-ios-for-google-sdks.git”, “state” : { “revision” : “2d12673670417654f08f5f90fdd62926dc3a2648”, “version” : “100.0.0” } }, { “identity” : “leveldb”, “kind” : “remoteSourceControl”, “location” : “https://github.com/firebase/leveldb.git”, “state” : { “revision” : “0706abcc6b0bd9cedfbb015ba840e4a780b5159b”, “version” : “1.22.2” } }, { “identity” : “nanopb”, “kind” : “remoteSourceControl”, “location” : “https://github.com/firebase/nanopb.git”, “state” : { “revision” : “819d0a2173aff699fb8c364b6fb906f7cdb1a692”, “version” : “2.30909.0” } }, { “identity” : “promises”, “kind” : “remoteSourceControl”, “location” : “https://github.com/google/promises.git”, “state” : { “revision” : “e70e889c0196c76d22759eb50d6a0270ca9f1d9e”, “version” : “2.3.1” } }, { “identity” : “swift-markdown-ui”, “kind” : “remoteSourceControl”, “location” : “https://github.com/gonzalezreal/swift-markdown-ui”, “state” : { “revision” : “12b351a75201a8124c2f2e1f9fc6ef5cd812c0b9”, “version” : “2.1.0” } }, { “identity” : “swift-protobuf”, “kind” : “remoteSourceControl”, “location” : “https://github.com/apple/swift-protobuf.git”, “state” : { “revision” : “cf62cdaea48b77f1a631e5cb3aeda6047c2cba1d”, “version” : “1.23.0” } }, { “identity” : “zipfoundation”, “kind” : “remoteSourceControl”, “location” : “https://github.com/weichsel/ZIPFoundation.git”, “state” : { “revision” : “43ec568034b3731101dbf7670765d671c30f54f3”, “version” : “0.9.16” } } ], “version” : 2 }
If using CocoaPods, the project’s Podfile.lock
Expand Podfile.lock snippet
Replace this line with the contents of your Podfile.lock!
About this issue
- Original URL
- State: closed
- Created 9 months ago
- Reactions: 4
- Comments: 20 (5 by maintainers)
Doesn’t seem to be minor for the continuous deployment.
Hey folks,
Here is the input files should work for both build and archive. We will update the public doc shortly, thank you for the patient!
Hey @ndson040496,
Could you try adding
$(INSTALL_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plistto your input file and try archive again see if problem get resolved? I inspected derived data a bit. When archive a build, your application binary has an alias under$(BUILT_PRODUCTS_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH), but the real application binary is created within a folder calledInstallationBuildProductsLocation/and it gets deleted once your application finishes build. We probably need to add that to input file list as well in order to allow the read access for user run script when archiving.That did the trick for me as well. Thank you @abegehr!
@themiswang,
$(INSTALL_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plistsolved it for me! Should be in the docs: https://firebase.google.com/docs/crashlytics/get-started?hl=en&platform=iosI have the same issue.