Xcode8的变化
Xcode8的发布意味着新系统的发布,差不多每发布一个版本就发布一个系统,可以这样理解,一个版本对应一个系统。
成都创新互联是一家专业提供桐城企业网站建设,专注与成都做网站、网站制作、成都外贸网站建设、H5页面制作、小程序制作等业务。10年已为桐城众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
出来好几个星期,各大博客很多,尤其很多博客中的一些东西都是一样的的,每个人都在写博客,因为知识是一样就哪几个变化,只是区分理解的不同和对官网的认知不同以及学习的不同。我把看到觉得有用的整理一下,方便以后自己的记忆以及查阅。
#park-once
就是创建项目的时候多了好几个项目模版,尤其是多了一个iMessage Application这个,这个是关于短信的,这次苹果把这个放在这里,说明对于发短信这个以及成为一个生活很重要的一件事情
就是证书,创建一个类都可以添加自己对应的证书,
运行一个项目,出现一堆无用的莫名其妙的log,是可以屏蔽掉的,在Xcode8里边 Edit Scheme-> Run -> Arguments, 或者用快捷键打开:ctrl+shift+<,在Environment Variables里边添加
OS_ACTIVITY_MODE = Disable字体变大了,发现程序内原来2个字的宽度是24,现在2个字需要27的宽度来显示了。这样就要对frame进行适配,最笨的一个方法就是,写一个宏定义,判断当前系统版本,如果大于就在原用的的上面加或者减
代码多行注释不能用。
这个是因为苹果解决xcode ghost,把插件屏蔽了。
解决方法
打开终端,命令运行: sudo /usr/libexec/xpccachectl
然后必须重启电脑后生效
注意:Xcode8内置了开启注释的功能,Xcode菜单栏->Edit->Structure->Add Documentation(开头的)
6. 使用Xcode8之后,有些代码可能就编译不过去了,具体我就说说我碰到的问题。
UIWebView的代理方法:
注意要删除NSError前面的 nullable,否则报错。
- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error
{
[self hideHud];
}
7.Xib的问题
8.判断系统版本
[UIDevice currentDevice] systemVersion]//值为10.0
if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){.majorVersion = 9, .minorVersion = 1, .patchVersion = 0}]) {
NSLog(@"Hello from > iOS 9.1");
}if ([NSProcessInfo.processInfo isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){9,3,0}]) { NSLog(@"Hello from > iOS 9.3");
}
if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_9_0) { // do stuff for iOS 9 and newer} else {
// do stuff for older versions than iOS 9}
9.ATS的问题
iOS 9中默认非HTTPS的网络是被禁止的,当然我们也可以把NSAllowsArbitraryLoads设置为YES禁用ATS。不过iOS 10从2017年1月1日起苹果不允许我们通过这个方法跳过ATS
,也就是说强制我们用HTTPS,如果不这样的话提交App可能会被拒绝。但是我们可以通过NSExceptionDomains来针对特定的域名开放HTTP可以容易通过审核。关于 iOS 10 中 ATS 的问题
10. IOS10系统下调用系统相册、相机功能,或者苹果健康都会遇到闪退的情况plist权限设置
11.通知的问题
12.增加一系列的Api
13.Swfit的问题
14.当行的代码高亮,San Francisco Mono字体,
15.可以用Runtime进行调试
16.图片代码自动完成
17.文档的优化
总之还有很多很多。
网页名称:Xcode8的变化
标题路径:http://ybzwz.com/article/igohsp.html