Xcode8 及 iOS 10 的适配
最近下载Xcode8 ,把项目适配了一下iOS10 ,把遇到的一些问题记录下来:
1.Xcode8运行项目之后,控制台打印了一堆东西;
解决方法:选择Xcode ->Product ->Scheme -> Edit Scheme 或者按command + shift + < 快捷键,在弹出的窗口中Environment Variables 下添加 0S_ACTIVITY_MODE=disable
注:真机调试不输出NSlog了,所以我真机调试的时候,把此处对号去除,就好了
2.Xcode8 打开工程后,出现下图,苹果新特性
我勾选了Automatically manage signing,并且选择配置了Team,就好了。注:或者另外一种方式 链接
3.用Xcode8 运行项目在真机上,打开相机相册功能,程序崩溃;
解决办法:项目中访问了隐私数据,需要在info.plist中添加这些权限:
相机权限NSCameraUsageDescriptioncameraDesciption
相册权限NSPhotoLibraryUsageDescriptionphotoLibraryDesciption
注:NSPhotoLibraryUsageDescriptionApp需要您的同意,才能访问相册NSCameraUsageDescriptionApp需要您的同意,才能访问相机NSMicrophoneUsageDescriptionApp需要您的同意,才能访问麦克风NSLocationUsageDescriptionApp需要您的同意,才能访问位置NSLocationWhenInUseUsageDescriptionApp需要您的同意,才能在使用期间访问位置NSLocationAlwaysUsageDescriptionApp需要您的同意,才能始终访问位置NSCalendarsUsageDescriptionApp需要您的同意,才能访问日历NSRemindersUsageDescriptionApp需要您的同意,才能访问提醒事项NSMotionUsageDescriptionApp需要您的同意,才能访问运动与健身NSHealthUpdateUsageDescriptionApp需要您的同意,才能访问健康更新NSHealthShareUsageDescriptionApp需要您的同意,才能访问健康分享NSBluetoothPeripheralUsageDescriptionApp需要您的同意,才能访问蓝牙NSAppleMusicUsageDescriptionApp需要您的同意,才能访问媒体资料库
如果没有用,需配置一下
4.字体变大,原有的fream需要适配,智能逐一排查啦
5.Nib问题:警告
- (void)awakeFromNib {
// Initialization code
}
需要添加:
[super awakeFromNib];
6.UIApplication对象中openUrl被废弃
在iOS 10以前,我们要想使用应用程序去打开一个网页或者进行跳转,直接使用[[UIApplication sharedApplication] openURL 方法就可以了,但是在iOS 10 已经被废弃了,因为使用这种方式,处理的结果我们不能拦截到也不能获取到,对于开发是非常不利的,在iOS 10全新的退出了 [[UIApplication sharedApplication] openURL:nil options:nil completionHandler:nil];有一个成功的回调block 可以进行监视。
注:仍然可以用,只不过会出现警告
7.系统判断失效
现在改用:
#define LIOS10_OR_LATER ([[[UIDevice currentDevice]systemVersion]compare:@"10.0" options:NSNumericSearch] !=NSOrderedAscending)
8.代码注释不能用解决方法:
打开终端,命令运行: sudo /usr/libexec/xpccachectl然后必须重启电脑后生效。
嘿嘿,其他的等用到,在更新吧
更新:9.20 晚10:10 (同事还在加班,我刚发布完,这会儿没事,记录Xcode8发布App Store时遇到的蛋疼的一个问题)
由于上述第二点,我勾选了Automatically manage signing,所以在提交时就不用配置证书了,但会提示在你配置Apple ID
本来按照以前的方式上传应该没啥问题的,但是到商店里却找不到构建版本,(日了鬼了)。有时候连“+”都没,有的会显示此版本无效。三四次都这样——————————————
查下资料后,说是苹果会有反馈邮件,于是登入了公司的企业邮箱看下,果然有::::
Dear developer,
We have discovered one or more issues with your recent delivery for "APPName". 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.
Once these issues have been corrected, you can then redeliver the corrected binary.
Regards,
The App Store team
原来是在plist文件的隐私描述写少了,赶紧添加上,这个要根据自己APP的情况来添加,描述必须要加上,如果不添加描述,跟没加是一样的,苹果还是会拒绝。
加完以后,再次上传就成功了。。。(好了,下班了)