[英]Xcode8 submission error - how to find out what exactly requires specific permissions on iOS10
When trying to submit the app, I get the following error: 尝试提交应用程序时,出现以下错误:
This app attempts to access privacy-sensitive data without a usage description. 此应用尝试尝试访问不敏感隐私的数据,而没有使用说明。 The app's Info.plist must contain an NSCalendarsUsageDescription key with a string value explaining to the user how the app uses this data. 应用程序的Info.plist必须包含NSCalendarsUsageDescription键,该键具有字符串值,该字符串值向用户说明应用程序如何使用此数据。
I know I could just add a description to make the new validator happy, but my app doesn't use the user calendar, so I'd rather eliminate the dependency that uses it, if possible. 我知道我可以添加一个描述使新的验证器满意,但是我的应用程序不使用用户日历,因此,如果可能的话,我宁愿消除使用它的依赖关系。 I wasn't able to figure out how do I find out which dependency actually uses the calendar, how do check this? 我无法弄清楚如何确定哪个依赖项实际上使用了日历,如何进行检查?
My project has the following dependencies: 我的项目具有以下依赖关系:
pod 'SnapKit', '0.22.0'
pod 'FBSDKCoreKit'
pod 'Alamofire', '~> 3.5'
pod "AFNetworking", '~> 3.1'
pod 'SDWebImage'
pod 'TTTAttributedLabel'
pod 'Masonry'
pod 'CocoaLumberjack/Swift', '2.3'
pod 'SZTextView'
pod 'HockeySDK', :subspecs => ['CrashOnlyLib']
pod 'GoogleMaps'
pod 'BugfenderSDK'
pod 'AppsFlyerFramework', '4.5.0'
pod 'CHTCollectionViewWaterfallLayout'
pod 'Firebase'
pod 'Firebase/Messaging'
pod 'CRToast', '~> 0.0.7'
pod 'Google-Mobile-Ads-SDK'
pod 'UIColor_Hex_Swift', :git => 'https://github.com/yeahdongcn/UIColor-Hex-Swift.git', :tag => '2.3'
And the linked frameworks: 以及链接的框架:
So I have contacted Apple, and they actually have a nice list of all the APIs and the permissions that they require. 因此,我联系了Apple,他们实际上为所有API及其所需的权限提供了一个不错的清单。 You can find it here (Technical Q&A QA1937) . 您可以在这里找到它(技术问答QA1937) 。
i think it's helpful for information for you. 我认为这对您的信息很有帮助。
I can see in Google-Mobile-Ads-SDK file that it references the libraries associated with these permissions. 我可以在Google-Mobile-Ads-SDK文件中看到它引用了与这些权限关联的库。 and also Google's frameworks for AdMob and GoogleSignIn installs firebase automatically which uses such permissions even though the app never does. 以及Google的AdMob和GoogleSignIn框架会自动安装firebase,它会使用此类权限,即使该应用程序从未使用过。 After I defined NSCameraUsageDescription
in the info.plist, it let me submit without problem hoping that the app won't prompt the user ever so they won't see the text either. 在info.plist中定义了NSCameraUsageDescription
之后,它让我毫无问题地提交,希望该应用程序不会提示用户,因此他们也不会看到文本。
Many Advertising SDKs, such as AdMob, have EventKit as a required framework. 许多广告SDK(例如AdMob)都将EventKit作为必需的框架。 Until then you can workaround by adding NSCalendarsUsageDescription
to your info.plist. 在此之前,您可以通过将NSCalendarsUsageDescription
添加到info.plist来解决。 I also had to do the same with NSBluetoothPeripheralUsageDescription
我还必须对NSBluetoothPeripheralUsageDescription
做同样的NSBluetoothPeripheralUsageDescription
Edit: Very important to also add the NSPhotoLibraryUsageDescription one as well see: https://groups.google.com/forum/#!category-topic/google-admob-ads-sdk/ios/UmeVUDrcDaw 编辑:非常重要,也要添加NSPhotoLibraryUsageDescription,请参阅: https ://groups.google.com/forum/#!category-topic/google-admob-ads-sdk/ios/UmeVUDrcDaw
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.