当我需要上传app到AppStore时,遇到一些问题,以下是我的一些解决方法;
1.iTunes Store Operation Failed description length:
解决方法:cd到打包文件路径,命令行里粘贴以下命令:
find Products/ -name Info.plist -print0 | xargs -0n1 plutil -replace BuildMachineOSBuild -string 16A323
2.ERROR ITMS-90171:Invalid Bundle Structure - The binary file XXX libswiftRemoteMirror.dylib is not permitted. Your app can’t contain standalone executables or libraries, other than the CFBundleExecutable of supported bundles……..
解决方法:在打包好的app里,找到此文件,手动删除。
3.WARNING ITMS-90704: Missing App Store Icon 1024
解决方法:还是老老实实的在Assets里添加1024的图片吧,然后重新打包。
4.Invalid bundle… contains disallowed file 'frameworks'
我的解决方法是删除多余的frameworks文件夹:
stackoverflow上有其他解决方法,参考:
https://stackoverflow.com/questions/25880134/invalid-bundle-contains-disallowed-file-frameworks
5.某些库没有bitcode功能。
解决方法:将Enable Bitcode设置为NO。
6.itunesconnect已经显示提交成功了,但是等了两天,构建版本没任何反应。需要修改权限问题。
解决方法:修改了plist的权限:
<key>NSPhotoLibraryUsageDescription</key>
<string>需要您的同意,才能访问相册</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>需要您的同意,才能添加照片</string>
<key>NSCameraUsageDescription</key>
<string>需要您的同意,才能访问相机</string>
<key>NSMicrophoneUsageDescription</key>
<string>需要您的同意,才能访问麦克风</string>
<key>NSLocationUsageDescription</key>
<string>需要您的同意,才能访问位置</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>需要您的同意,才能在试用期间访问位置</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>需要您的同意,才能始终访问位置</string>
<key>NSCalendarsUsageDescription</key>
<string>需要您的同意,才能访问日历</string>
<key>NSRemindersUsageDescription</key>
<string>需要您的同意,才能访问提醒事项</string>
<key>NSMotionUsageDescription</key>
<string>需要您的同意,才能访问运动与健身</string>
<key>NSHealthUpdateUsageDescription</key>
<string>需要您的同意,才能访问健康更新</string>
<key>NSHealthShareUsageDescription</key>
<string>需要您的同意,才能访问健康分享</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>需要您的同意,才能访问蓝牙</string>
<key>NSAppleMusicUsageDescription</key>
<string>需要您的同意,才能访问媒体资料库</string>
7.Invalid Bundle - iPad Multitasking support requires these orientations: 'UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'. Found 'UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown' in bundle
解决办法:在工程设置里,General DeploymentInfo里,Requires Full Screen里打上勾.
8.iPad图标问题:
问题:The bundle does not contain an app icon for iPad of exactly '167x167' pixels,in .png format for iOS versions supporting iPad Pro.
解决办法:认真改一遍图标,XCode9以上有问题的图标都会有叹号提示,把有问题的完全修改一遍就可以了。
9.app支持iPhone,iPad Devices问题:
一般情况下,打包的时候,如果DeploymentInfo选择了iPhone,那么打包的二进制文件里仅支持iPhone,如果选择了iPad,那就仅支持iPad,同理,支持了Universal,那就两者都支持。在上传的时候,会根据支持的Device,要求上传对应的截图。如果不支持iPad的,则不需要上传iPad截图。
其他:有时候无论是itunesconnect,还是Application Loader上传成功,一般几分钟,最多半个小时候就能看见构建版本,但是如果过了很长时间仍然不见构建版本,这个时候需要查一下邮箱,一般都会有错误邮件。
如果没有办法查看邮件呢?比如,公司只有账号,没有邮箱的密码,这个时候可以这么做:
10.无法查看Apple发送的邮件问题,
解决方法:登录itunesconnect,在账号信息:点击App Store Connect 用户,添加新的成员。此成员有上传等修改某app权限,这样就能发送邮件的时候同时发送给你了。