Xcode8 面世啦,升级以后要打包并上传未完的项目,
但是每次提交以后都是无效版本,这是甚么情况呢。。。
登上QQ邮箱去看下有甚么消息,果然苹果发来了邮件,
里面提到了
We have discovered one or more issues with your recent delivery for "xxxxx". To process your delivery, the following issues must be corrected:
Non-public API usage:
甚么意思呢,第1个是说app里面用私有API UICreateCGImageFromIOSurface了,
好嘛,想起来我app里面用了reveal ,删掉;
然后第2个问题说丢失了推送的“Entitlement”,这个是甚么鬼呢,Xcode8有个新的改变,就是你在capabilities里面开通相应的功能时 bundle里面多出1个后缀为‘Entitlement’的文件,那末,怎样解决这个问题呢,在证书配置都正确的条件下,把有问题的功能关闭重新打开就好了。
好了问题解决了,打包上传。。。。
可是这次又是无效版本,我去,再去邮箱看看,额这回又来个邮件:
We have discovered one or more issues with your recent delivery for "xxxxxxxx". To process your delivery, the following issues must be corrected:
This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.
This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSBluetoothPeripheralUsageDescription key with a string value explaining to the user how the app uses this data.
This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSMicrophoneUsageDescription key with a string value explaining to the user how the app uses this data.
This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.
Once these issues have been corrected, you can then redeliver the corrected binary.
甚么意思呢,还记得,在Xcode7刚出世的1个改动嘛,就是必须在infoplist文件里面加几个属性,关于定位的NSLocationWhenInUseUsageDescription 和NSLocationAlwaysUsageDescription,这回也是这个意思,就是说你得在plist文件里面加上NSPhotoLibraryUsageDescription(相册),NSBluetoothPeripheralUsageDescription(蓝牙),NSMicrophoneUsageDescription(麦克风),NSCameraUsageDescription(摄像头)的描写,具体value(字符窜)你写甚么,就看你自己的了。
改完以后,打包上传,成功!