由于 HEALTHKIT 参考,Xamarin.ios 构建被拒绝

Posted

技术标签:

【中文标题】由于 HEALTHKIT 参考,Xamarin.ios 构建被拒绝【英文标题】:Xamarin.ios build rejected due to HEALTHKIT reference 【发布时间】:2019-03-31 16:01:25 【问题描述】:

由于引用了 HEALTHKIT 框架,我的 xamarin.ios 构建已被应用中心拒绝。我不能仅仅因为一些第 3 方库而将链接器设置为 SDK 框架。另外,我已经上传了一个带有 mtouch 参数“--linkskip=HealthKit”的 nee 构建,但我的应用仍然被第二次拒绝。谁能指导我需要做些什么才能从应用程序中删除对 HEALTHKIT 框架的引用。艾米的建议会有所帮助

【问题讨论】:

您需要启用链接器,然后在您的第 3 方库上跳过链接。 docs.microsoft.com/en-us/xamarin/ios/deploy-test/… 嗨 Mayank,您解决了 HEALTHKIT 的问题吗?同样的事情正在发生在我们身上。当我们将链接器属性设置为“仅限 SDK”时,它会删除 HEALTHKIT,但应用程序的某些部分会停止工作。如果我们想出解决方案,我会在这里分享 【参考方案1】:

我最近有这个,也尝试了我在网上找不到的东西。

我在 mac 上使用 grep 来查找上述引用:

 $ strings directory/Payload/UpCarePro.iOS.app/UpCarePro.iOS | grep Health

然后我一一删除包,重新构建项目找到引用它的那个,一旦我在我的项目中不再发现任何健康引用,我就能够通过Apple验证。

我没有新的包导致这个,我的应用在此之前可以通过多次验证过程,所以我不太明白它是如何开始的,但我就是这样摆脱它的。

我希望这会有所帮助。

【讨论】:

我尝试了给定的解决方案并获得了 HealthKit 的以下引用: HKHealthStore HealthKitUI_HKActivityRingView_HKActivityRingViewAppearance applicationShouldRequestHealthAuthorization: HealthKitUI_HKActivityRingView_HKActivityRingViewAppearance 我尝试从 Visual Studio for Mac 中删除包,但它是只读的。您能否指导我如何以及从哪个文件夹中删除引用。 直接从windows电脑上的visual studio(如果你使用一个),这样做并不好玩,但可能有一个nugget包创建这些引用,我没有找到方法得到罪魁祸首的名字,所以我只能建议试错。 您是否正在使用 LiveXAML nuget 包?我遇到了同样的问题(Xamarin.ios build 由于 HEALTHKIT reference 而被拒绝)并发现最新版本的 LiveXAML 导致了问题 @Patrick 这是我删除的金块包之一,但从没想过它会导致这种情况。我刚刚尝试再次安装它,Health 的引用又回来了,很好。 @Patrick Cool,但在我的情况下,HealthKit 位于 Xamarin.iOS 包中。所以,我无法删除或删除它。

以上是关于由于 HEALTHKIT 参考,Xamarin.ios 构建被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

在用户关闭应用程序后请求 HealthKit 权限

在用户关闭应用程序后请求 HealthKit 权限

由于 healthkit 而导致 Flutter iOS 应用被拒绝

仅观看由于缺少 HealthKit info.plist 键而被拒绝的应用程序二进制文件

从 HealthKit 中删除水样

从 HealthKit 中删除水样