Sti*_*Sti 2 itunesconnect ios cocoapods
由于缺少info.plist键,我的应用被拒绝了。
缺少Info.plist键-此应用尝试访问对隐私敏感的数据,而没有使用说明。该应用程序的Info.plist必须包含一个NSPhotoLibraryUsageDescription键,该键具有字符串值,该字符串值向用户说明该应用程序如何使用此数据。
我知道如何“修复”它。听起来很简单,只需添加NSPhotoLibraryUsageDescription到我的info.plist并附上其用途说明即可。
问题是我没有使用任何可以触发此要求的东西。我不想添加此描述,而无需了解它的用途。
我能想到的唯一可能导致此问题的原因是我正在使用的一个外部框架CocoaPods与此有关。
这是我的podfile:
def myPods
pod 'HockeySDK', '4.1.2'
pod 'ReactiveCocoa', '2.4.7'
pod 'TTTAttributedLabel', '2.0.0'
pod 'GoogleMaps', '2.1.0'
pod 'GoogleAnalytics', '3.17.0'
end
target 'MainApp' do
myPods
end
target 'BetaApp' do
myPods
pod 'Instabug', '7.0.5'
end
Run Code Online (Sandbox Code Playgroud)
我知道事实上Instabug需要此键(以及使用麦克风的键),但正如您所见,我并不总是包含Instabug。假设我有两个目标;MainApp和BetaApp。他们每个人都有自己的info.plist。在BetaApp的info.plist中,我包括了所需的密钥。在MainApp中,我没有包括它们,因为在MainApp中未使用Instabug。现在,当我尝试将MainApp上传到AppStore时,遭到拒绝。我还尝试了完全删除Instabug-pod(即使它仅存在于BetaApp中),并且仍然在MainApp中发生。
我以前从未在MainApp中遇到过这种拒绝(这不是一个新应用,只是一个更新)。我认为自上一个版本以来,我已经更新了GoogleMaps,也许还有其他一些,但是我不知道如何找出Apple认为我必须实施的原因NSPhotoLibraryUsageDescription。
有没有办法找出我的应用程序的哪一部分触发了此要求?
我假设如果实现这些键,它们实际上将永远不会被触发,并且永远不会提示用户允许访问照片库(因为我没有尝试访问用户照片库的代码),但是我会我想知道为什么会这样,所以我不愿意在知道之前添加它。
我建议您按照此答案中的说明进行操作
我了解,NSPhotoLibraryUsageDescription无缘无故添加密钥可能听起来很愚蠢,但是Apple方面的二进制验证是您无法控制的过程,因此添加此密钥更加简单。
作为背景的原因,我相信,苹果的验证会在二,不仅使用的UIImagePickerController AssetsLibrary或Photos框架链接。因此,如果您想让您的应用程序提交并获得批准,则可以对此进行清理或仅添加必需的密钥。
如果您认为自己不使用它,请看一下ReactiveCocoa/UI/UIImagePickerController+RACSignalSupport.m,因此,除非您不准备使用自定义的ReactiveCocoa或避免使用它,否则必须处理NSPhotoLibraryUsageDescription
| 归档时间: |
|
| 查看次数: |
2401 次 |
| 最近记录: |