ConnectIQ IOS SDK broken

Former Member
Former Member

Hi,  

     I have successfully created a locally installed ios companion app using your Garmin IOS SDK but I can't upload it to the Apple app store as i can't create an archive.

I am on  Mac os 10.14.6 

using Xcode 11.1

connectiq-mobile-sdk-ios-1.3

This is the error I am getting.

ld: bitcode bundle could not be generated because '/Users/danielleahy/Developer/ucd/paceman/runaid-ios/ConnectIQ.framework/ConnectIQ' was built without full bitcode. All frameworks and dylibs for bitcode must be generated from Xcode Archive or Install build file '/Users/danielleahy/Developer/ucd/paceman/runaid-ios/ConnectIQ.framework/ConnectIQ' for architecture arm64

In your documentation (in the downloaded SDK.zip as your online documentation is out of date and inconsistent with your downloaded SDK documentation).

There is a mention of script 

The stripSimulatorSlice.sh script is included in the SDK to help with this process. You will need to add a Run Script step under Build Phases after the Embed Frameworks step. Then drag the stripSimulaotrSlice.sh file into the text box to ensure the script is run during the build process.

This script does not exist in your SDK download.

 

Your SDK is in desperate need of updating

  • Make it Swift compatible, I spent days trying to use your framework in a Swift app.
  • Your Online documentation is out of date and out of sync with the documentation in the downloaded SDK zip documentation, again following the online version will waste days.
  • Script missing

Currently following your specified instructions you cannot create an archive to upload to the app store.

I can create the documentation for Swift if you/Garmin are open to that.

Can you reply with the script and instructions to get past the error above?

If it's Garmin's intention not to support 3rd party developers please say so and take down your developer website.

Regards,

                Daniel Leahy.

 

  • "If it's Garmin's intention not to support 3rd party developers please say so and take down your developer website."

    Don't be a drama queen, no one will take someone with a statement like that seriously.

  • You probably want to enter this in the bug reports section of this forum, as that way a ticket will be generated.

  • Former Member
    Former Member over 5 years ago in reply to ejdevries

    You're right I am being dramatic,

    I have now missed a hard deadline to get the project I am on completed on time and deployed for a marathon and I was frustrated/angry.

    I think my point is still valid,

    The Garmin IOS SDK online documentation is inaccurate and out of date, online docs don't match the downloaded IOS SDK documentation.

    Missing scripts from the IOS SDK

    No Swift support, documentation is all for objective C, no Swift examples, so you're left figuring out how to integrate into a Swift IOS app (hint: Bridging header ).

    In my opinion, the ConnectIQ IOS SDK is out of date and needs a major overhaul.

    Correct me if I am wrong but I don't think its an open-source project so I can't fix the framework myself.

    I would love to update the IOS SDK for Swift.

    In Summary:

    I have created a companion IOS app, but I can't create an archive to upload to the Apple App store due to missing scripts and missing instructions in Garmins Documentation.

    I saw someone else's forum post from 3 years ago where the guy managed to work around the above deficiencies but he was using Carthage as his IOS Dependency management tool which is not relevant for me.

    Any helpful suggestions welcome.

    Regards,

                     Daniel 

  • Former Member
    Former Member over 5 years ago in reply to jim_m_58

    Thanks, i will do that now

  • Hi, I understand your frustration. I'm using the SDK to devlop apps as a hobby, not for work so no deadlines.

    On the one hand I'm very happy with the SDK and the tools. Garmin provides an SDK (for free) to develop apps for my cycling computer, which other brand does that?

    On the other hand, the tools are not very mature and buggy. At work I use IntelliJ, reliable, mature and fun to work with.
    Autocompletion, refactortools, stuff like that.

    In CIQ 3.1.5 part of the screen of the Edge computers is still covered in the simulator, very annoying. The simulator caches settings so if I want to test my app with an Edge 530 and after that with an Edge 1030 I first have to wipe all data because it will use the settings/properties of the 530 for the 1030 otherwise.

    I develop on Windows because the Linux version of the SDK still relies on ancient libraries.

    So, maybe I was a bit harsh but I do know what you mean. I hope Garmin will fix their tools.

    Good luck.

    Regards, Erik

  • Former Member
    Former Member over 5 years ago

    HI have you make it works with swift? Have a look on that thread:

    https://forums.garmin.com/developer/connect-iq/f/discussion/168085/ios-ciq-sdk-setup

    I can send you the script

  • I'm also running into this error. How did you get past it? Use the script? If so, can I get the script from someone? Thanks!

  • I was able to get it to work. I followed the directions from http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/ I changed 

    find "$APP_PATH" -name '*.framework' -type d | while read -r FRAMEWORK

    to 

    find "$APP_PATH" -name 'ConnectIQ.framework' -type d | while read -r FRAMEWORK

    in the script. I also had to set Enable Bitcode to No within Build Settings for the project.

  • Former Member
    Former Member over 5 years ago in reply to ejdevries

    Hi Erik,

    DO you know if the Garmin Scale Index device data can be accessed from an ios app? Is there any api available for that? If yes, could you share the details?

  • Setting "Enable Bitcode" to "No" was all I had to do to get it to compile.  Thanks for your help, Nathan!