问题背景
我们在上传包到ITC后台的时候,遇到的问题。
文章预读
iOS开发之Application Loader上传包出现的问题
新问题现象及解决
- 问题一:关于横竖屏
Invalid Bundle - iPad Multitasking support requires these orientations:
'UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown,
UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'.
Found 'UIInterfaceOrientationPortrait,UIInterfaceOrientationLandscapeLeft,
UIInterfaceOrientationLandscapeRight' in bundle 'com.****.ios'.
问题原因:
这个主要是因为我们需要在iPad上也需要强制横屏或者竖屏,那这样的话我们必须要在info.plist文件里面勾掉一个iPad的屏幕方向,如果iPad具备四个屏幕方向的话在代码里面设置是不起效果的,一般去掉UIInterfaceOrientationPortraitUpsideDown,这样的话审核就会出问题:
解决办法:
去掉屏幕方向的同时勾选Requires full screen.
- 问题二:关于透明通道
Invalid App Store Icon - The App Store Icon in the asset catalog in
'DSInte*********s.app' can't be transparent nor contain an alpha channel.
这个问题主要是因为图有问题,图片存在透明的部分,另外一个原因就是漏掉了部分size的icon图,不如说Xcode9加了App Store 1024的图,这个是需要特别加上的,要不然即便你能上传到ITC后台,也是会被报出问题的,就是出现我刚刚发的问题
解决办法:
确认图片没有透明部分的基础上利用以下工具去切图,工具请点开下面的链接找App Icon Gear工具以及在线移动图标生成工具,这两个都可以。直接找到生成的AppIcon.appiconset替换掉工程中的对应位置即可。
- 问题三:
Invalid Version - The build with the version “2.20.170928” can’t be imported
because a later version has been closed for new build submissions. Choose
a different version number.
以及Application Loader上传包的时候出现的问题截图:
截图错误:
ERROR ITMS-90478: "Invalid Version. The build with the version “2.20.170928” can’t be imported because a later version has been closed for new build submissions. Choose a different version number."
ERROR ITMS-90062: "This bundle is invalid. The value for key CFBundleShortVersionString [2.0] in the Info.plist file must contain a higher version than that of the previously approved version [2.20.170928]."
版本标识注意规范:
Invalid or Non-Increasing CFBundleShortVersionString - The value specified in
the bundle's Info.plist file for the key CFBundleShortVersionString must be
a string consisting of at most three dot-separated components, where each
component is composed only of the digits 0 through 9. For example,any of
the following are syntactically valid values for
CFBundleShortVersionString: "1.0", "4.2.1", "3.46", "1.112.0"; whereas the
following are all syntactically invalid: "1.4.0.0.0.0.5", "GX5", "3.4.2b6",
"2.6GM", "1.0 (Gold)", "-3.6". Additionally, each updated version of the same
application must have a CFBundleShortVersionString that increases relative
to that of the previous version that was actually made available for sale
on the iTunes Store. For example, if a previously-available version had a
CFBundleShortVersionString of "1.4", then any of the following would be
acceptable as the next update: "1.4.1", "1.4.332", "1.5"; but all of the
following (though syntactically valid) would be unacceptable: "1.4", "1.3",
"1.3.9", "0.9". For more information about the CFBundleShortVersionString key
and the Info.plist file, see Apple's Runtime Configuration Guidelines at
http://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPRuntimeConfig/index.html
解决办法以及知识点:
①取版本号要规范
②version版本号就是CFBundleShortVersionString,也是ITC上的对外版本号,build版本号就是CFBundleVersion也是ITC上的构建版本号
③每一次的Version和build都要比最近这一次ITC上对应的大
④每一次的Version要比最近这一次ITC上的build要大
⑤1.20和1.3相比较,1.20要大,这是因为20比3要大,而不要把‘.’看成小数点,这个只是一个分隔符号而已...
针对于以上的截图错误,我可以把现在的version和bulid版本号定为2.30和2.30 、3.0或者3.0、或者其他的...
问题三参考:
https://software.intel.com/en-us/forums/intel-xdk/topic/632471
有问题欢迎交流,以上!!!