升级xcode8 之后遇到的一些问题
昨天趁着快下班,就将xcode升级为8了,运行起来并没有什么问题,今天一早过来运行,结果,模拟器打不开了。。。。
1. unable to boot the Simulator
解决办法:重启Mac时,一直按住command+R直到加载完成。选择打开实用工具下的终端,输入:csrutil disable 并回车,然后正常重启Mac,在终端中输入以下命令即可: sudo chmod 0777 /private/tmp
参考自:http://blog.csdn.net/supercrsky/article/details/52796067
2. 控制台打印问题
解决办法:Edit Scheme-> Run -> Arguments, 在Environment Variables里边添加 OS_ACTIVITY_MODE = Disable (Disable首字母小写没有效果,不信自己试试。)
添加之后又遇到了一个问题,那就是真机的时候不打印任何东西。
解决方案:在.pch 文件中添加如下代码即可。
#ifdef DEBUG
#define NSLog(format, ...) printf("\n[%s] %s [第%d行] %s\n", __TIME__, __FUNCTION__, __LINE__, [[NSString stringWithFormat:format, ## __VA_ARGS__] UTF8String]);
#else
#define NSLog(format, ...)
#endif
3.访问相册
首先你得在info。plist 上添加 Privacy - Photo Library Usage Description 是否允许此App访问你的媒体资料库? 一项
如果你的项目只允许横屏,那么在打开 UIImagePickerController 的时候会报错,因为 UIImagePickerController 是竖屏的
解决方案:兴建一个单例标记横竖屏状态,默认为1,isAcross=1;
在appdelegate中添加如下方法
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
if ([SaveInfo shareDataModle].isAcross == 0) {
return UIInterfaceOrientationMaskAll;
}else
{
return UIInterfaceOrientationMaskLandscape;
}
}
在打开相册的方法中,将isAcross=0; 问题解决。
4.权限等其他一系列问题
由于项目中没有使用关于权限的使用,就不介绍了,参考:http://www.jianshu.com/p/9756992a35ca
补充:
最近升级 xcode8.3.1 一直不成功,从appstore 上要么就是更新到一半说出错了,要么直接就转圈圈。 然后我把MacOs 升级到10.12 还是不成功,最后升级到10.12.4 再重启电脑,再去更新 xcode 就好了。