花了一些时间谷歌搜索后,有些东西告诉我这个问题是新的.
我们有一个支持iOS7-8的全功能项目.当然,它已多次成功提交给AppStore.
我们使用pod,大量跟踪和监控,如GA和Instabug.
现在我们决定将iOS 9上的Xcode 7上构建的应用程序版本提交给TestFlight.
我们禁用了bitcode,因为许多pod,如Flurry和其他预构建的库都没有包含它.
构建成功,在提交到iTunesConnect之后我们得到了这个:

我们对GoogleAppIndexing库(在pod中也是如此)也是如此,但我们删除了它,只是为了让它工作.现在 - Instabug.它太过分了,所以我试图了解iOS 9中发生的事情,以及使一个完全正常工作的项目开始抛出这些错误的变化是什么.
欢迎任何想法和想法!请分享您的经验,如果我错过了什么,我会很乐意分享我的步骤.
我将我的第一个应用程序上传到iTunes连接,在23日它将状态更改为等待审核.显示应用评论状态的框表示,过去5天内有80-99%的应用已经过审核.
这是否包括等待审核期间,还是仅包括审核期间?
在我想知道它是否消失在黑洞之前,我应该等多久?我等待几周没有问题,只是我不确定这个百分比实际意味着什么.
编辑:我还想问一下Apple在开发者中心提供的统计数据是否包括等待审核期限?
iOS应用的版本/构建字段包括:
"Version" CFBundleShortVersionString(String - iOS,OS X)指定捆绑包的发布版本号,该版本号标识应用程序的已发布迭代.发行版本号是由三个以句点分隔的整数组成的字符串.
"Build" CFBundleVersion(String - iOS,OS X)指定捆绑包的构建版本号,该版本号标识捆绑包的迭代(已发布或未发布).构建版本号应该是由三个非负的,周期分隔的整数组成的字符串,第一个整数大于零.该字符串应仅包含数字(0-9)和句点(.)字符.前导零从每个整数中截断,将被忽略(即1.02.3相当于1.2.3).此密钥不可本地化.
"iTunes Connect版本号":在iTunes Connect上创建应用程序的新版本时指定的版本号.
我的问题是:
当新版本的应用程序上传到iTunes Connect和/或发布到App Store时,需要增加哪些版本/内部版本号?
应用更新之间的"版本" CFBundleShortVersionString或"构建"可以CFBundleVersion保持不变吗?
Apple来源的额外积分或iTunesConnect在上传无效版本/内部版本号时显示的确切错误消息.
促使这个问题的讨论是,在谷歌Android应用的大众"版本" Play商店并没有需要递增,是没有办法验证.该android:versionName可不同版本之间保持不变,升级,降级,或者是任何随机字符串,而不是东西,似乎是一个有效的"版本号".
android:versionName- 表示应用程序代码的发行版本的字符串值,因为它应显示给用户.该值是一个字符串,以便您可以将应用程序版本描述为
<major>.<minor>.<point>字符串,或任何其他类型的绝对或相对版本标识符.
Android中versionName和versionNumber之间的区别
而android:versionCode强制执行是一个递增的释放整数.
正如新接受的回答中所述,Apple最近发布了一份技术说明,详细说明了他们的版本和内部版本号:
我正在尝试使用Xcode 8将内容上传到iTunesConnect.Xcode向我显示上传成功.在iTunesConnect的"活动"选项卡中,我看到我的构建出现并标记为"正在处理...".但几分钟后,这个版本消失了,我无法在任何地方找到它.我试图通过Xcode 8再次上传它,但它说构建已经上传到iTunesConnect.因此,当我尝试使用增加的版本上传版本时,它说好了,但我仍然看不到iTunesConnect中的版本.我尝试使用Application Loader上传,但是存在同样的问题.
所以我今天收到这封邮件说我的应用程序的最新版本被iTunes Connect拒绝了,原因是一些用法描述丢失了.确切地说:
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSContactsUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSCalendarsUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSPhotoLibraryUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSBluetoothPeripheralUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSMicrophoneUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSMotionUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
一旦纠正了这些问题,您就可以重新更新已更正的二进制文件.
我发现这些已经成为iOS 10的强制要求,但唯一的问题是我的应用程序没有请求访问这些中的任何一个的权限..我认为只有在您真正请求许可时才需要说明吗?
是因为我的一个依赖项(Cocoapods)可能包含一些代码来请求这些权限吗?或者即使我从未要求查看用户日历,联系人等,这些描述是否必须?
在新的iTunes Connect应用程序管理界面中 - 我认为它最近发生了变化,但我可能错了 - 如何编辑本地化(已批准和现场)iPhone应用程序的屏幕截图?
不幸的是,网络上传表格有一个错误,实际上需要以相反的顺序提供屏幕截图(我以正确的顺序提供它们,这意味着Apple扭转了它们,现在他们最终错了).StackOverflow也在这里提到.我只设法编辑美国版本中的4个屏幕截图,但不是我的本地化版本,而是在旧界面中.谢谢!
我正在使用iTunes连接帐户在iTunes连接中为客户端创建应用程序.我想将自己添加为用户,以便我可以收到应用状态更新的电子邮件通知.当我尝试将自己添加为用户时,我收到以下消息:
您输入的电子邮件地址已属于iTunes Connect帐户.要继续,请输入其他电子邮件地址
我在我自己公司的iTunes连接帐户上使用此电子邮件地址,但不在我客户的帐户上.如何将自己添加为用户?
最近提交后,我收到以下错误:
签名无效 - 嵌套的应用程序包(FooBar.app/Contents/Frameworks/GData.framework)未签名,签名无效,或者未使用Apple提交证书签名.有关更多信息,请参阅"代码签名和应用程序沙盒指南".
签名无效 - 嵌套的应用程序包(FooBar.app/Contents/Frameworks/Growl.framework)未签名,签名无效,或者未使用Apple提交证书签名.有关更多信息,请参阅"代码签名和应用程序沙盒指南".
签名无效 - 嵌套的应用程序包libcurl(FooBar.app/Contents/Frameworks/libcurl.framework)未签名,签名无效,或者未使用Apple提交证书签名.有关更多信息,请参阅"代码签名和应用程序沙盒指南".
所以我根据Technote 2206签署了所有框架包:
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./libcurl.framework/Versions/A/libcurl
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./libcurl.framework/Versions/A/libssh2.1.dylib
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./Growl.framework/Versions/A/Growl
codesign -f -v -s "3rd Party Mac Developer Application: Name" ./GData.framework/Versions/A/GData
Run Code Online (Sandbox Code Playgroud)
Technote 2206说:
签署框架
看到框架是捆绑包,看起来你可以直接签署框架似乎是合乎逻辑的.然而,这种情况并非如此.为了避免在签署框架时出现问题,请确保签署特定版本而不是整个框架:
#这是错误的方法:
codesign -s my-signing-identity ../FooBarBaz.framework
#这是正确的方法:
codesign -s my-signing-identity ../FooBarBaz.framework/Versions/A
当我尝试验证结果时,它对我来说很好看:
% codesign -vvv FooBar.app/Contents/Frameworks/libcurl.framework
FooBar.app/Contents/Frameworks/libcurl.framework: valid on …Run Code Online (Sandbox Code Playgroud)