Xcode builds successfully a corrupted archive, not showing in organizer, as soon as cocoapods installs react-native-mapbox-gl from Podfile
Asked Answered
B

3

6

The problem seems not new, as here, but the solutions proposed didn't work. I tried also several other approaches to understand what's going on (see here). To replicate, this is the process:

  • I have a working iOS App written in Swift.

  • I follow the description to integrate this app with Native React this procedure

  • I add to the package.json the following dependencies, and run yarn install: "@react-native-mapbox-gl/maps":"^8.1.0-rc.9", "prop-types": "^15.6.2",

  • I run pod install --repo-update and Archive on Xcode. OUTPUT: At this point the organizer displays my Archive.

  • I implement a basic view on mapbox following this procedure

  • I add to the Podfile requiring use_framework!, as described here or after use_framework!, no difference in the result after I hit pod install --repo-update.

  • I hit Archive on Xcode. OUTPUT: the archive is generated successfully, but doesn't show up on the organizer. If I try to open it, the archive is corrupted.

If I remove the pod file of mapbox and I Archive the project after hitting pod install --repo-update, the archive works and shows up in the organizer. Here the same description.

The project runs both as debug and release on a real iPhone 8. Mapbox works well. However, it doesn't work on simulator, nor archive. I can leave with the former, but I can't push on App store because of the latter.

I would not give up as Mapbox is very nice and provides lots of features. What could it be?

Bedad answered 20/11, 2020 at 16:20 Comment(0)
S
3

SOLUTION :

sudo gem uninstall cocoapods
sudo gem install cocoapods -v 1.9.3
rm Podfile.lock
rm -rf Pods
pod install

LAST MESSAGES :

Same here. Impossible to find any solution.

Xcode is building a incomplete archive file. (By incomplete, I mean that in the archive package, some files are missing, like info.plist)

If this can help, I'm using MapboxGL too.

Edit : Found this https://github.com/react-native-mapbox-gl/maps/issues/1097#issuecomment-725689831

Edit 2: This link was the solution !

Smaragdine answered 24/11, 2020 at 15:1 Comment(4)
I tried, and I got in another "cul de sac", in my case with YGMacros.h developer.apple.com/forums/thread/651941Bedad
Also in my case info.plist is missingBedad
I read here and I wonder whether @cocoapods are aware of it #57137584Bedad
I found a terrible solution, inspired to the above link 57137084. I have to manually pick from the corrupted archive, which has Mapbox, the files that are missing in the working archive, which has not MapBox. Then I overwrite the Application folder from the corrupted archive, to the working archive. The result is a working archive, which can be uploaded to AppStore and the application works as expected. How can this operation be accomplished automatically from cocoapods? Why doesn't work out of the box?Bedad
J
3

I got the exact same problem with :

  • @react-native-mapbox-gl/maps": "8.1.0"
  • COCOAPODS: 1.10.1
  • Xcode 12.4

The archive was corrupted (missing parts like the plist)

The trick for me was to remove the copy dsym build phase of the @react-native-mapbox-gl-mapbox-static pod

This phase was causing build failure with some config and malformed archive with others, I don't really get the crux of the problem but may be it can help some of you...

Jacy answered 29/1, 2021 at 22:1 Comment(2)
you may also try the workaround stated in this issue : github.com/CocoaPods/CocoaPods/issues/10385Discordant
this solves my issue thanks so much! i have removed mapbox as my dependency in my react native project and it now archives correctly.Pinckney
W
0

It looks like mapbox issue. I had the same issue and instead of downgrading the cocoapods I used this solution:

  1. Edit your package.json, set:

"@react-native-mapbox-gl/maps": "^8.2.0-beta1", 2. Run yarn install or npm install. 3. Put the code into your ios/Podfile between pre_install do |installer| and end: $RNMBGL.pre_install(installer)

And between post_install do |installer| and end:

$RNMBGL.post_install(installer)
  1. Run cd ios && pod install

After these steps I was able to generate to archive.

Whipsaw answered 9/6, 2021 at 11:33 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.