-
Notifications
You must be signed in to change notification settings - Fork 122
iOS Simulator does not work on Apple Silicon #558
Comments
The offered workaround (exclude arm64 from simulator) let Mapbox runs on Apple Silicon, but it kills the simulator touch interface. That means you can not swipe properly, just drag. On the map, it means you can not position it properly, because the sim recognise it as a really fast swipe. |
@MetaImi where i can find this workaround? thank you |
@babeone To build for simulator on M1 Mac, you have to exclude the arm64 architecture. Open your target, then build settings -> Excluded Architectures -> Debug -> Add new entry for Any iOS Simulator SDK, and add value: arm64 |
Does not work
|
I have the same problem.
This workaround does not work for me either. I get the same error when trying to install onto an actual device, btw. |
This is pretty critical for us in order to switch our dev environment to M1 machines. Any timeline on this? |
The exclude arch arm64 for Any iOS Simulator SDK workaround doesn't work for me either and produces the output similar to @PH9 albeit a bit different:
We are using Mapbox-iOS-SDK as part of |
If we can get access to the compiled simulator framework we can create an xcframework using the following xcrun xcodebuild -create-xcframework |
@aduuub |
I can't find access to it, but if Mapbox provides it we could create an xcframework |
I actually found a way to build mapbox SDK v6 for Simulator on Apple Silicon. It's to use MapLibre which offers an SPM distribution. More details here: https://github.com/react-native-mapbox-gl/maps/issues/1472#issuecomment-889805609 |
I'm very interested into getting this working as well! EDIT
|
Excluding an architecture doesn't seem like a valid solution. I am running into an issue with trying to use a different framework via SPM which builds using the active architecture. This causes a mismatch of framework architectures. |
If it was packaged using the new standard of distributing binaries as an xcframework, it would contain all of the architectures required and not need specific frameworks stripped at compile time. It would also allow it to be distributed as a closed source Swift package which would be awesome |
sorry, i don't quire remember, i lost the feature branch where i was trying it out. |
But i think it was to do with pinning the exact version of the package. |
I'd be interested to see this working too, the workaround is not cutting it for me either. |
Following up, I am having the same problem here, found a way to solve this ? |
No, I will just start the migration to V10. That is supporting apple silicon. I don't think mapbox will invest anything to old library. :( |
It would be good to know if there are any plans to resolve this. We plan on migrating to Apple Silicon for development and CI soon and this is our only blocker. |
Ok, it's not ideal but here's what I do: I have a script which rips out mapbox gl for Simulator builds and replaces all the calls with stubs. I use React Native, so a bit easier to do with javascript, but essentially any Simulator builds on Apple Silicon have stubbed out mapbox. |
Any updates? |
This is still an issue after 18 months... this seems pretty ridiculous. Is there even a single person from Mapbo on this issue? |
This is still not fixed and absolutely ridiculous. I spent so many hours integrating the sdk and looking for a solution for this problem. This is just completely embarassing for everyone involved. |
I'm guessing that the new proprietary Mapbox SDK probably supports Apple Silicon at this point, but it looks like the open source code here is no longer maintained. The MapLibre fork of the old open source code has Apple Silicon support: https://github.com/maplibre/maplibre-gl-native#ios |
@chrisballinger FYI - the Mapbox legacy SDK is still officially Mapbox-supported until April 4, 2023 per their note here. Therefore, I'd suggest keeping this issue open as it actually has not been resolved. |
Yes... would be great if somebody from Mapbox could join the conversation here? |
At the moment, nothing has changed and there is still the need to manually exclude arm64 when building v6 for the simulator on M1 Mac. |
@ZiZasaurus thank you for your response. At least for me the excluding of arm64 does not work. I am still getting compile errors, no matter how often I clean-build. And as you can see by the number of people here, it's not working for others as well. To be honest, I don't really know what the problem ist after all. Isn't it just compiling again with the latest toolset and including all slices? I really don't know... but if so, that would seem like a task that could be done quite fast? And it would make a lot of people here quite happy. As @csaper mentioned three posts up, you officially support the old version until April 4th, 2023 and it also states that this includes "compatibility and bug fixes". Is't that a compatibility fix? We are monthly paying customers and it would be important for us to have a working test-environment (the simulator) again without having to use Rosetta Mode. I know that updating to V10 could solve the problem. But in my personal opinion, V10 is just not ready yet. It has so many little bugs, that using our map with V10 just does not feel good. The map just does not behave like a map (Google or Apple or even this legacy version for comparison ) should. My main complaints would be about scrolling in the map. Just not good. I already filed a few bug-reports for V10 as well. So for the time being, you would make so many of us here happy if you could PLEASE provide us with a little update that will support Apple Silicon. |
@ZiZasaurus @georgbachmann I would suggest switching to the MapLibre fork. Worked great for us, and even supports offline bundled MBTiles which the official SDK refused to support. |
@ZiZasaurus Any news on this issue or the timeline to provide support for Apple Silicon? Also the solution to exclude arm64 isn't working on my side. |
@ZiZasaurus are you guys looking into this or will this not be fixed any more? |
The current podspec excludes ARM architectures for iphonesimulator, which makes it impossible to use the Mapbox SDK in the iOS Simulator on Apple Silicon devices without using Rosetta. The only way forward here is to start vendoring an xcframework instead of a framework. Swift Package Manager and recent versions of CocoaPods support vendoring xcframeworks, but Carthage has been lagging behind (although there are some promising PRs in the pipeline).
Related issues: #171 #346 #117 #546
edit: consider MapLibre instead for Apple Silicon support: https://github.com/maplibre/maplibre-gl-native#ios
The text was updated successfully, but these errors were encountered: