【发布时间】:2019-08-17 17:23:07
【问题描述】:
我所要求的只是知道如何识别问题,我们没有添加任何对健康工具包的引用,尽管我们所有的尝试最终都拒绝了 Apple 的应用程序(现在已经一个多月了)。
他们的信息:
我们注意到您的应用使用了 HealthKit,但您的应用没有出现 包括需要健康或健身数据的任何主要功能。
HealthKit 的预期用途是与 其他应用程序或设备,并且它应该只在需要的应用程序中使用 此数据作为应用程序核心功能的一部分。
接下来的步骤
要解决此问题,请删除所有 HealthKit 功能 您的应用程序,以及对该应用程序交互性的任何引用 来自应用或其元数据的 HealthKit。
这里是我们 iOS 项目中所有引用的屏幕截图:
inf.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>CFBundleDevelopmentRegion</key>
<string>ar</string>
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>ar</string>
</array>
<key>UIAppFonts</key>
<array>
<string>icon-font.ttf</string>
<string>DroidKufiRegular.ttf</string>
<string>DroidKufiBold.ttf</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>MinimumOSVersion</key>
<string>9.3</string>
<key>CFBundleDisplayName</key>
<string>my app</string>
<key>CFBundleVersion</key>
<string>24</string>
<key>CFBundleShortVersionString</key>
<string>2.2.1</string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>CFBundleName</key>
<string>myApp</string>
<key>NSCameraUsageDescription</key>
<string>This app needs access to camera to capture product images when adding a new auction</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This app needs access to photo library to browse images when adding a new auction</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app needs access to photo gallary to browse images when adding a new auction</string>
<key>XSAppIconAssets</key>
<string>Media.xcassets/AppIcons.appiconset</string>
<key>CFBundleIdentifier</key>
<string>com.company.myApp</string>
<key>NSContactsUsageDescription</key>
<string>This app requires contacts access to share the application between contacts</string>
<key>NSCalendarsUsageDescription</key>
<string>This app requires calnder access to show users thier orders schedule</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app requires Microphone access to function properly</string>
<key>NSAppleMusicUsageDescription</key>
<string>This app requires Apple Music access to function properly</string>
<key>NSSiriUsageDescription</key>
<string>This app requires Siri access to function properly</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>This app requires bluetooth access to function properly</string>
<key>UIRequiresFullScreen</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>http://myapp.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
</dict>
</plist>
权利.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>production</string>
</dict>
</plist>
【问题讨论】:
-
在你的终端,进入你的项目,试试这个
fgrep -R health .。不要忘记在最后添加点。结果你得到了具有 health 关键字的文件。希望对您有所帮助。 -
其实我也遇到了同样的广告问题。所以我用它来确定项目中有广告标识符的位置。它帮助了我。我开发了原生 iOS 应用程序,所以我使用 Mac。只需在您的窗口中尝试,如果命令未在 mac 中执行尝试。如果结果为无,则它无法找到健康。我不能确定它是否有效。但至少尝试一下交叉手指。
-
你的问题解决了吗?有一个类似的thread。
-
@JackHua-MSFT 是的,我们解决了,看我的回答。
标签: ios xamarin.ios app-store healthkit