Appboy / appboy-ios-sdk

Public repo for the Braze iOS SDK
https://www.braze.com
Other
168 stars 140 forks source link

Version 3.21.0 missing arm64 symbols #212

Closed kylefinley closed 4 years ago

kylefinley commented 4 years ago

Report

Describe your environment.

Info Value
Platform Name ios
Platform Version NA
SDK Version 3.21.0
Integration Method cocoapods
Xcode Version Xcode 10.2.1
Repro rate 100%

What did you do?

Use AppFlow to build the iOS .ipa

What did you expect to happen?

The build to succeed.

What happened instead?

A build error:

▸ Linking Appboy_iOS_SDK

❌  ld: symbol(s) not found for architecture arm64
❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)

[03:44:40]: ▸ ❌  ld: symbol(s) not found for architecture arm64
[03:44:40]: ▸ ❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)

Steps to reproduce

Code Snippet

Are you doing any feature customizations that may relate to the issue? Can you share the code snippet?

Project that demonstrates the issue

Bucimis commented 4 years ago

@kylefinley we weren't able to reproduce this on our end, either through XCode or using xcodebuild. Could you potentially dry deleting derived data, updating the local pods repo, cleaning the build, and trying again?

LiberAC commented 4 years ago

I'm seeing the problem described as well, specifically

Undefined symbols for architecture x86_64: "isPlatformVersionAtLeast", referenced from: -[Appboy registerDeviceToken:] in libAppboyKitLibrary.a(Appboy.o) +[ABKURLUtilities openURL:] in libAppboyKitLibrary.a(ABKURLUtilities.o) +[ABKUtilityFunctions dynamicColorForLightColor:darkColor:] in libAppboyKitLibrary.a(ABKUtilityFunctions.o) 60+[ABKPushSettings readAndStoreCurrentPushSettingsWithFlush:]_block_invoke in libAppboyKitLibrary.a(ABKPushSettings.o) +[ABKPushSettings storePushAuthStatus:withFlush:] in libAppboyKitLibrary.a(ABKPushSettings.o) +[ABKPushSettings readAndStoreCurrentPushDisplayOptions:withFlush:] in libAppboyKitLibrary.a(ABKPushSettings.o) ld: symbol(s) not found for architecture x86_64

I tried delete all the derived data, update the local repo, clean and try again

Bucimis commented 4 years ago

@LiberAC what version of XCode are you using?

LiberAC commented 4 years ago

@LiberAC what version of XCode are you using?

Version 10.2.1 (10E1001)

Bucimis commented 4 years ago

Hi @LiberAC,

Thanks for the followup. We built 3.21.0 with XCode 11 (prior versions were built on 10) and some of our version gating code caused XCode 11 to insert symbols that XCode 10 doesn't recognize. Going forward, we expect to continue to build and release with XCode 11, so to upgrade to 3.21+, you will need to upgrade your XCode version to 11. Our apologies for not including this in our changelog entry, we'll be adding that soon.

hokstuff commented 4 years ago

Hi @LiberAC,

Please let us know if you are still experiencing these issues after updating to Xcode 11. We will include a note about this in the Changelog in our next release. I'm going to close out this issue - feel free to reopen if you have any concerns.