opentok-ios-sdk-samples-swift icon indicating copy to clipboard operation
opentok-ios-sdk-samples-swift copied to clipboard

Missing arm64 architecture building for simulators on m1

Open rodrigoelp opened this issue 4 years ago • 6 comments

It seems the opentok framework isn't configured to expose the arm64 symbols required to run on a simulator on any of the MacMini M1.

rodrigoelp avatar Apr 30 '21 00:04 rodrigoelp

Given the absolute silence on this, I imagine it is definitely not a priority for you even though we are going to have a lot of people upgrading their macbook pro's to some of those snappy m1pro and m1max, huh?

rodrigoelp avatar Oct 22 '21 02:10 rodrigoelp

@rodrigoelp this is becoming a problem especially with SwiftUI (Previews don't work, as they're Simulator based).

mvarie avatar Jan 15 '22 21:01 mvarie

Yes @mvarie, we are also painfully aware of this. That's one of the reasons I created this issue.

Though my organisation, we reached Vonage to push engineering to pay attention to it, if you have a chance, I would recommend you to do the same.

rodrigoelp avatar Jan 16 '22 02:01 rodrigoelp

Same problem here, hope this will get prioritised.

egarni avatar Mar 25 '22 09:03 egarni

This was promised to be delivered with 2.23 of the SDK that dropped yesterday. However, after further inspection the SDK is still a regular framework and not a universal framework with arm64 support for M1 simulators. Shame on you, Tokbox!

falkobuttler avatar Jul 08 '22 18:07 falkobuttler

We have the same problem, it's been a year and a half... How can this have not been fixed already?

egarni avatar Aug 30 '22 07:08 egarni

Thank for you everyone's patience. This is on our roadmap. That said, we can't provide an ETA. Sorry.

https://jira.vonage.com/browse/OPENTOK-49709

v-kpheng avatar Nov 10 '22 00:11 v-kpheng

Just wanted to give an update. A release which adds support for this should be out sometime February.

v-kpheng avatar Jan 18 '23 22:01 v-kpheng

@v-kpheng : Thank you for this update. Is there any specific release date yet?

DogeWowzie avatar Feb 08 '23 13:02 DogeWowzie

@DogeWowzie, it'll ship some time in Q1.

v-kpheng avatar Feb 08 '23 18:02 v-kpheng

@v-kpheng so M1 support has been delayed to the end of March?

DogeWowzie avatar Feb 09 '23 08:02 DogeWowzie

Was just doing some research to see if Tokbox has added this and if people are still asking for it. Genuinely curious if there a reason it wasn't added back in 2021? It seems like such a trivial change to the build process to make sure you add in the arm64 arch.

Why did it need to wait until 2023? It's not like there aren't many devs using M1 or M2.

maxxfrazer avatar Feb 13 '23 17:02 maxxfrazer

With Xcode 14.3 (currently in beta) - Apple has removed support for Rosetta which really hampers development without arm64.

image

MattKiazyk avatar Feb 17 '23 18:02 MattKiazyk

@MattKiazyk and that’s why you need to listen to your developers 🥲

maxxfrazer avatar Feb 17 '23 19:02 maxxfrazer

With Xcode 14.3 (currently in beta) - Apple has removed support for Rosetta which really hampers development without arm64.

image

  • [ ] So we have gotten to the point where we are stuck on an old Xcode version due to the missing arm64 support of a single framework, which has considerably slowed down and complicated our debugging and development cycles for almost a year now. This is very disappointing and upsetting.

DogeWowzie avatar Feb 19 '23 11:02 DogeWowzie

30 days more, and this issue will turn 2 years 🎉

I wonder (at the speed we are going) if I should start saving to send it to college once it turns 18.

rodrigoelp avatar Feb 22 '23 09:02 rodrigoelp

i am bias, as i work at a different steaming delivery company which i won’t name directly here at this time.

but why what’s the main reason keeping you all from going with a different framework that supports swiftpm + arm64 arch since before it was a functional requirement?

maxxfrazer avatar Feb 22 '23 10:02 maxxfrazer

Maybe they want us to switch to something like Twilio which supports SPM and arm64. No I don't work for Twilio. But we started evaluating them because of this same issue. We have been using OpenTok since 2013. But the lethargy is concerning and we are losing our confidence now.

sampathdassanayake avatar Feb 24 '23 06:02 sampathdassanayake

seems like it has been resolved in 2.24.2 https://tokbox.com/developer/sdks/ios/release-notes.html

mashkovmax avatar Feb 24 '23 12:02 mashkovmax

@maxxfrazer in our particular case, when we evaluated this a few years back, it seemed like the right choice for multiple platforms (we have to support android, iOS and windows).

We need to do some reevaluation of our stack (probably in about 6 months), we will find out what to do at that point.

rodrigoelp avatar Feb 25 '23 06:02 rodrigoelp

Thanks everyone, for your patience. This has been released as part of iOS SDK 2.24.2. Closing.

v-kpheng avatar Feb 28 '23 23:02 v-kpheng

Hi @v-kpheng ... We have an app build with Cordova that uses OpenTok through Cocoapods we build the app with fastlane. When building for a device it seems to work. However when building for a simulator (which is used to automate screenshots) it fails with errors that look something like this:

ld: ignoring file /var/folders/hf/72fc3n9d3mx4vqxtl13x4vj40000gn/T/snapshot_derived20230824-94291-5lqmb2/Build/Products/Debug-iphonesimulator/libCordova.a, building for iOS Simulator-x86_64 but attempting to link with file built for iOS Simulator-arm64
[22:59:39]: ▸ ❌  Undefined symbols for architecture x86_64
[22:59:39]: ▸ > Symbol: _CDVPluginHandleOpenURLNotification
[22:59:39]: ▸ > Referenced from: -[CDVWKInAppBrowser openInSystem:] in CDVWKInAppBrowser.o
[22:59:39]: ▸ ❌  ld: symbol(s) not found for architecture x86_64
[22:59:39]: ▸ ❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)

I realize that those specific symbols are not related to OpenTok. But I think the OpenTok dependency may be causing it. Because if I remove that dependency everything builds without the x86_64 errors.

I think it might have something to do with this:

EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64

I can leave the OpenTok dependency, open Xcode, and force it to run in Rosetta simulator (for example with these instructions: https://sarunw.com/posts/open-using-rosetta-in-xcode-14-3)

Are you able to help point me in a direction to figure out what's going on? Thanks!

rharbick avatar Aug 25 '23 03:08 rharbick