flurry / FlurrySwiftPackage

4 stars 14 forks source link

arm64 missing in watchOS device (not sim) binary #16

Open mfclarke-ts opened 2 years ago

mfclarke-ts commented 2 years ago

Hi,

Very similar to my old issue from earlier in the year: https://github.com/flurry/FlurrySwiftPackage/issues/11

It looks like arm64 is missing for the watchOS device binary in Flurry.xcframework. This causes Xcode to skip linking when building for Watch, and build fails with symbols not defined. Caused by: https://developer.apple.com/documentation/Xcode-Release-Notes/xcode-14-release-notes#:~:text=Xcode%20builds%20for%20watchOS%20devices%20now%20include%20the%20arm64%20architecture%20by%20default.%20(83319300)

I'm using the 12.0.1-lite release and building an iPhone app with Watch extension on Xcode 14.

The workaround is to remove arm64 from architectures on your watch target/s. But it's unclear if this will affect series 8 watches.

Thanks

mfclarke-cnx commented 1 year ago

@flurrydev is there any update on this? We're getting rejections from App Store Connect now due to this issue. Looks like it only happens when the minimum deployment target is watchOS 9.

flurrydev commented 1 year ago

@mfclarke-cnx This issue is corrected in later versions of Flurry. If you require the lite version you can use Flurry 12.1.1-lite

It contains arm64 arch for WatchOS.

Screenshot 2023-05-15 at 12 00 13 PM
mfclarke-cnx commented 1 year ago

Hi @flurrydev unfortunately it's not present in the watchOS (non simulator) framework, even on the latest 12.4.0.

The output of file shows:

Flurry.xcframework/watchos-arm64_32_armv7k/Flurry_iOS_SDK.framework/Flurry_iOS_SDK: Mach-O universal binary with 2 architectures: [arm_v7k:current ar archive random library] [arm64_32_v8]
Flurry.xcframework/watchos-arm64_32_armv7k/Flurry_iOS_SDK.framework/Flurry_iOS_SDK (for architecture armv7k):   current ar archive random library
Flurry.xcframework/watchos-arm64_32_armv7k/Flurry_iOS_SDK.framework/Flurry_iOS_SDK (for architecture arm64_32): current ar archive random library

Only armv7k and arm64_32 are present, but we also need arm64 for the latest Apple Watch hardware.

mfclarke-cnx commented 1 year ago

@flurrydev @hunterhays this one is a blocker for us to continue using Flurry with our watch app. Can you please give me an indication if this will be updated and fixed?

mfclarke-cnx commented 1 year ago

Related issue on the cocoapods repo: https://github.com/flurry/flurry-ios-sdk/issues/243

ss-naveen commented 1 year ago

Any update on the above issue. Please give a fix for this. We are blocked.