Xamarin.iOS app rejected for using HealthKit but we don't use it

We made our iOS app using Xamarin and our app keeps getting rejected for the following reason:
27.6 - Apps using the HealthKit framework must indicate integration with the Health app in their marketing text and must clearly identify the HealthKit functionality in the app's user interface

But we don't use HealthKit anywhere and we didn't enable it. We don't find any reference of it in our code.

Has anyone had this problem before?

Tagged:

Best Answers

Answers

  • RolfBjarneKvingeRolfBjarneKvinge USXamarin Team Xamurai

    Did you disable the managed linker (in the project's iOS Build options verify that "Linker Behavior" isn't set to "Don't Link")?

    Xamarin.iOS includes bindings for HealthKit, and if you disable the managed linker those bindings will be included in your app, and the app will be linked with the HealthKit framework.

  • PetkoTodorovPetkoTodorov USMember
    edited January 2016

    Yes, it is set to "Don't link", but still the reference is included...

    iOSPrototype.app otool -L iOSPrototype | grep 'HealthKit'
    /System/Library/Frameworks/HealthKit.framework/HealthKit (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/HealthKit.framework/HealthKit (compatibility version 1.0.0, current version 1.0.0)

  • RolfBjarneKvingeRolfBjarneKvinge USXamarin Team Xamurai

    @PetkoTodorov: make sure it isn't set to Don't link.

  • I'm with the same problem. My Linker Behavior was set to "Don't Link". Now I changed, and uploaded a new version to Itunes Connect. I'll return here to say if this change worked or not.

  • @RolfBjarneKvinge.. should setting it to "Link Framework SDKs only" will work? I just have limited time and another rejection for this won't be ok..

  • Setting it to "Link Framework SDKs only" worked for me :) the app is accepted.

  • DmitryMoiseevDmitryMoiseev USMember ✭✭

    But what about debug? I NOT use HealthKit, but linker can delete debug information...

  • billspainbillspain US ✭✭

    I don't think this is an acceptable situation. We are trying to submit a Xamarin Forms app to the AppStore and its getting rejected.

    We integrate several custom objective C bindings to support swipe card readers, and our app will not compile except if Linking is turned off. We now face the problem that to be accepted by Apple, we lose a core functionality of our app.

    It strikes me that functionality which would cause an app to be rejected could be bundled into that app without explicitly asking for it is um, wrong.

    I'm between a rock and a hard place here. What options do I have?

  • rmaciasrmacias USBeta, University ✭✭✭✭✭

    We integrate several custom objective C bindings to support swipe card readers, and our app will not compile except if Linking is turned off.

    You should turn LinkSDKAssemblies back on and then troubleshoot which classes the linker is stripping out. At a top level, you can probably exclude your bindings library from being linked. See this article here:

    https://developer.xamarin.com/guides/ios/advanced_topics/linker/#Skipping_Assemblies

  • billspainbillspain US ✭✭

    Thanks alot! I will look into this.

  • hvaughanhvaughan USMember ✭✭✭

    For me, I just needed to update Xcode to the latest version 7.3. To do that I had to update my Mac to OSX 10.11. That solved the problem.

  • billspainbillspain US ✭✭

    hvaughan:

    What changed in your Xcode/OSX update that caused the problem to go away? I believe I have updated Xcode recently (possibly after submitting our app to Apple). If this is a magic bullet, this will be a quicker, cleaner solution for me than fighting with Linker options and attribute settings.

    Thanks
    -Bill

  • hvaughanhvaughan USMember ✭✭✭

    @billspain

    I was getting that error when trying to deploy to a device running 9.3.

    At the time I only had Xcode 7.2.something. I updated Xcode to 7.3 (which required me to update my Mac OSX to 10.11). After doing that, updating the Xcode command line tools, restarting and opening Xcode at least once afterwards, then updating the SDK version in my iOS Project properties, I was able to deploy again. Hope this helps.

  • alessandrosuppiejalessandrosuppiej ITMember ✭✭

    @billspain said:
    I don't think this is an acceptable situation. We are trying to submit a Xamarin Forms app to the AppStore and its getting rejected.

    We integrate several custom objective C bindings to support swipe card readers, and our app will not compile except if Linking is turned off. We now face the problem that to be accepted by Apple, we lose a core functionality of our app.

    It strikes me that functionality which would cause an app to be rejected could be bundled into that app without explicitly asking for it is um, wrong.

    I'm between a rock and a hard place here. What options do I have?

    you're right! it's unaccettable! do i need a priest or a magician to get application accepted by Apple ? You all know how many day we have to wait after clicking "submit for review" !

Sign In or Register to comment.