iOS开发之上传包遇到的问题解析

问题背景

我们在上传包到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,这样的话审核就会出问题:


iOS开发之上传包遇到的问题解析_第1张图片
Snip20180126_63.png

iOS开发之上传包遇到的问题解析_第2张图片
Snip20180126_65.png

解决办法:
去掉屏幕方向的同时勾选Requires full screen.


iOS开发之上传包遇到的问题解析_第3张图片
Snip20180126_67.png
  • 问题二:关于透明通道
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替换掉工程中的对应位置即可。

iOS推荐工具使用之切图工具

  • 问题三:
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上传包的时候出现的问题截图:


iOS开发之上传包遇到的问题解析_第4张图片
Snip20180126_70.png

截图错误:

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

iOS开发之上传包遇到的问题解析_第5张图片
Snip20180126_72.png

有问题欢迎交流,以上!!!


弹钢琴.gif

你可能感兴趣的:(iOS开发之上传包遇到的问题解析)