Xcode8 及 iOS 10 的适配
来源:互联网 发布:淘宝网购物女裤 编辑:程序博客网 时间:2024/06/06 19:27
最近下载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中添加这些权限:
相机权限
<key>NSCameraUsageDescription</key>
<string>cameraDesciption</string>
相册权限
<key>NSPhotoLibraryUsageDescription</key>
<string>photoLibraryDesciption</string>
注:
<!-- 相册 --> <key>NSPhotoLibraryUsageDescription</key> <string>App需要您的同意,才能访问相册</string> <!-- 相机 --> <key>NSCameraUsageDescription</key> <string>App需要您的同意,才能访问相机</string> <!-- 麦克风 --> <key>NSMicrophoneUsageDescription</key> <string>App需要您的同意,才能访问麦克风</string> <!-- 位置 --> <key>NSLocationUsageDescription</key> <string>App需要您的同意,才能访问位置</string> <!-- 在使用期间访问位置 --> <key>NSLocationWhenInUseUsageDescription</key> <string>App需要您的同意,才能在使用期间访问位置</string> <!-- 始终访问位置 --> <key>NSLocationAlwaysUsageDescription</key> <string>App需要您的同意,才能始终访问位置</string> <!-- 日历 --> <key>NSCalendarsUsageDescription</key> <string>App需要您的同意,才能访问日历</string> <!-- 提醒事项 --> <key>NSRemindersUsageDescription</key> <string>App需要您的同意,才能访问提醒事项</string> <!-- 运动与健身 --> <key>NSMotionUsageDescription</key> <string>App需要您的同意,才能访问运动与健身</string> <!-- 健康更新 --> <key>NSHealthUpdateUsageDescription</key> <string>App需要您的同意,才能访问健康更新 </string> <!-- 健康分享 --> <key>NSHealthShareUsageDescription</key> <string>App需要您的同意,才能访问健康分享</string> <!-- 蓝牙 --> <key>NSBluetoothPeripheralUsageDescription</key> <string>App需要您的同意,才能访问蓝牙</string> <!-- 媒体资料库 --> <key>NSAppleMusicUsageDescription</key> <string>App需要您的同意,才能访问媒体资料库</string>如果没有用,需配置一下
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的情况来添加,描述必须要加上,如果不添加描述,跟没加是一样的,苹果还是会拒绝。
加完以后,再次上传就成功了。。。(好了,下班了)
1 0
- Xcode8 及 iOS 10 的适配
- Xcode8的问题及iOS 10问题
- [iOS]有关iOS10及Xcode8的相关适配文章收集
- ios系统10 及 xcode8 项目适配遇到问题总结
- 适配iOS 10及xcode8(1)
- 兼容iOS 10 ,升级xcode8出的一堆问题的解决方案,以及一些适配.
- 兼容iOS 10 ,升级xcode8出的一堆问题的解决方案,以及一些适配.
- 兼容iOS 10 ,升级xcode8出的一堆问题的解决方案,以及一些适配.
- iOS 10适配以及Xcode8兼容问题总结
- Xcode8 与 iOS 10的那些坑
- IOS-Xcode8 及 iOS10遇到的问题小结
- iOS开发 Xcode8中遇到的问题及改动
- iOS开发 Xcode8中遇到的问题及改动
- iOS开发 Xcode8中遇到的问题及改动
- iOS开发 Xcode8中遇到的问题及改动
- iOS开发 Xcode8中遇到的问题及改动
- iOS开发 Xcode8 如何适配iOS10
- 【ios开发技术研究】Xcode8 及iOS10适配问题整理汇总
- (iOS开发)Model中数据多怎么办,JSON中数据多,种类多的解析Model
- C/C++动态分配与释放内存的区别详细解析
- Android 倒计时
- Android 使用代码指定view组件在布局中的属性
- iOS - 高德地图API简单开发(一)
- Xcode8 及 iOS 10 的适配
- vnc model startup script
- FastJSON序列化的使用
- linux服务器测试工具
- python矩阵转换为一维数组
- Linux 命令操作开启、停止、重启Mysql数据库的方法
- Tcp服务端判断客户端是否断开连接
- SQL Server JDBC连接中的问题
- 直接将ppt转换成word格式的方法