Appboy / appboy-ios-sdk

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

v3.26.1 is missing arm64 symbols and failing in Xcode 12 #245

Closed mrunalabhatt closed 4 years ago

mrunalabhatt commented 4 years ago

I have recently downloaded Xcode 12.4 and updated all my Pods to latest. One of Pod was having entry for segment

platform :ios, '14'
pod 'Segment-Appboy', '~> 3.3'

This Pod internally has dependency with appboy-ios-sdk, so once after pod install succeeded, building through Xcode gives below compile error for build target appboy-ios-sdk:

ld: in /Pods/Appboy-iOS-SDK/AppboyKit/libAppboyKitLibrary.a(ABKInAppMessageHTMLBase.o), building for iOS Simulator, but linking in object file built for iOS, file '//AppboyKit/libAppboyKitLibrary.a' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Bucimis commented 4 years ago

@mrunalabhatt hi, our Segment-Appboy pod is not currently compatible with XCode 12. We do have a beta Appboy-iOS-SDK pod available for testing with XCode 12, 3.27.0-beta1. Would it be possible for you to test with that for the time being?

chrismcs commented 4 years ago

I'm having the same exact issue using 3.27.0-beta1. If I try to build our app for Simulator using Xcode 12 Beta 4, I get the above linking error against libAppboyKitLibrary.a. If I build for my device, however, it works. Are y'all able to reproduce this on your end?

Bucimis commented 4 years ago

@chrismcs are you running Xcode 12 on an x86 (Intel-based mac) or arm64 (Apple Silicon) device?

chrismcs commented 4 years ago

I'm on an Intel-based Mac (MacBook Pro)

mrunalabhatt commented 4 years ago

Based on initial comment which I posted:

/Pods/Appboy-iOS-SDK/AppboyKit/libAppboyKitLibrary.a(ABKInAppMessageHTMLBase.o), building for iOS Simulator, but linking in object file built for iOS, file '//AppboyKit/libAppboyKitLibrary.a' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

It says we are missing libAppboyKitLibrary.a for architecture arm64, so how about adding one for simulator build support for both the Pods. I think that should solve this problem.

Ref: https://github.com/Appboy/appboy-segment-ios/issues/40#issuecomment-675982926

pmacro commented 4 years ago

@Bucimis I'm seeing the same problem that @chrismcs reported, even with 3.27.0-beta1:

Pods/Appboy-iOS-SDK/AppboyKit/libAppboyKitLibrary.a(ABKInAppMessageHTMLBase.o), building for iOS Simulator, but linking in object file built for iOS, file 'Pods/Appboy-iOS-SDK/AppboyKit/libAppboyKitLibrary.a' for architecture arm64

Xcode 12 Beta 5 on an x86 (Intel-based mac)

Do you have any suggestions? Thanks.

pmacro commented 4 years ago

A temporary workaround: set Build Active Architecture Only to YES in the Pods Xcode project for target Appboy-iOS-SDK.

hokstuff commented 4 years ago

@pmacro @chrismcs @mrunalabhatt,

We have released version 3.27.0-beta2 with updates pertaining to this. Can you please try testing with that version to see if this fixes your issue? Please see the Changelog for implementation details depending on your integration.

If so, we will update the Segment side of things to use this version for those of you who wish to test there as well.

Thanks!

pmacro commented 4 years ago

Thanks, @hokstuff. Confirming that this version builds fine for simulator and device with Xcode 12 beta 5. It would be fantastic if you could update Appboy-Segment, too!

Thank you!

hokstuff commented 4 years ago

Awesome, that's great to hear 🙏 Right now we're planning to release a version of Appboy-Segment that will be compatible with 3.27.0-beta2 sometime early next week. We will be sure to keep you updated!

Closing this out now - feel free to reopen if there are any more issues.

mrunalabhatt commented 4 years ago

@hokstuff Thank you!

pmacro commented 4 years ago

Hi @hokstuff, I was wondering if you'd be able to share plans on the release of a non-beta 3.27.0, that's compatible with Xcode 12? iOS 14 will be released tomorrow, as you may have seen. Once the GM Xcode is available, can we expect a release fairly quickly, or could be it longer than a few days? I'm just trying to plan a iOS 14 release of my app, and this information would help a lot! Thank you!

chshapiro commented 4 years ago

Hey @pmacro,

We are testing now with GM and are aiming for a 3.27.0 release tomorrow, barring any unforeseen issues.