keenlabs / KeenClient-iOS

Official iOS client for the Keen IO API. Build analytics features directly into your iOS apps.
https://keen.io/docs
MIT License
78 stars 56 forks source link

Archiving not possible in Swift app as lib isn't bitcode #140

Closed richlowenberg closed 8 years ago

richlowenberg commented 8 years ago

I'm not able to compile the KeenIO client in a release build:

ld: bitcode bundle could not be generated because '{project dir}/KeenClient/libKeenClient-Aggregate.a(HTTPCodes.o)' was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build for architecture arm64

heitortsergent commented 8 years ago

hey @richlowenberg, sorry about that. Do you know which version of the library you're using?

richlowenberg commented 8 years ago

I took the lib from the link in the readme on this repo, yesterday. Thanks for the fast response!

richlowenberg commented 8 years ago

https://github.com/keenlabs/KeenClient-iOS/releases/download/3.5.0/KeenClient.zip

heitortsergent commented 8 years ago

Ok, that's good to know. I thought I had fixed the error with v3.5.0.

I'll dig into this and update this thread as soon as I can @richlowenberg.

richlowenberg commented 8 years ago

Thanks! In an ideal world, it would be possible to build this with Carthage, so there wouldn't be any need for bridging headers. I was getting git submodule errors when I tried to do that though.

heitortsergent commented 8 years ago

hey @richlowenberg, sorry for the delay here. I figured out the cause of the problem, but I'm still working on a fix. Basically, even if you have Bitcode enabled in your project settings, Xcode will only build a binary with it if you use the "Archive" option (and we were using the binaries resulting from the Release "Build" option).

In the meantime, you can use this binary that I just uploaded to Archive your app. It's not a fat binary like the one in the .zip files, so it won't work on the simulator.

richlowenberg commented 8 years ago

No problem, that should get us up and running. Thanks! I'll keep an eye on progress here. Do you think Carthage will be an option eventually? That's been a very convenient way to integrate Obj-C based libs without needing a bridging header.

heitortsergent commented 8 years ago

Definitely @richlowenberg, Carthage support is at the top of the list. :)