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(字符竄)你寫甚么,就看你自己的了。
改完以后,打包上傳,成功!