欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Xcode 9使用时那些坑

程序员文章站 2022-05-31 16:48:39
...

我目前使用Xcode9发现一些奇怪的坑,坑的不要不要的。。。。。

1.本地图片怎么也不显示(新拖入的图片),如果之前的用xcode8开发的项目拖入的图片再用xcode9打开没有影响,但是在Xcode9新拖入的图片怎么也不显示。

Xcode 9使用时那些坑
Xcode 9使用时那些坑
这样就是显示不出来.
解决办法是:在图中部分手动再次添加一次
Xcode 9使用时那些坑


2.网络图片在浏览器可以显示出来,但是在app中怎么显示不出来(图片http://),有人可能会说,你肯定是在info.plist中少添加了下面,
<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

但是坑就在这里了,你会发现你添加了,图片还是显示不出来,还是报的错误是http://授权没有开启的意思。
解决方法: 手动再添加一次,下图的方法
Xcode 9使用时那些坑


3.碰到了Xcode显示代码只在一行显示的问题

Xcode 9使用时那些坑
有人说在preferences->Text Editing->Indentation->选中Line Warpping的勾就好了 事实证明还是没有好,到底什么原因呢,我在想可能那个地方我误点了呢。于是我发现Xcode的右侧目录有个warp lines的选项。
Xcode 9使用时那些坑
这个才是控制换不换行的关键,刚才那个上个line warpping的根本没有用,我试了不选中上一个中的line wraooing ,选中这个图片的中的 wrap line 还是自动换行,这里要是没有勾选,永远不会自动换行的。(这个可能Xcode9 Bug吧)


//2017年11月25日更新

4.今天更新一下UIwebView使用的坑,在ios11之前是没有问题的,但是iOS11之后出现问题的

UIwebview我想说大家是不是很熟悉,我们大部分展示H5界面都是使用UIWebView,在WKWebview出来之前,WkWebview之所以被苹果推出来就是解决UIWeview加载页面的时候太占用内存缘故,用WKwebview代替UIWebview。但是我们用习惯了UIWebview了很不好改,现在手机的内存都很大,根本不用考虑UIwebview占用的那点内存。我就遇到UIWebview使用时的Bug,网上说是苹果的安全Https的问题什么,我把打印错误给你们看看

tarting WebFilter logging for process TestApp  
2017-03-04 21:01:23.046555 TestApp[807:166612] WF: _userSettingsForUser mobile: {  
    filterBlacklist =     (  
    );  
    filterWhitelist =     (  
    );  
    restrictWeb = 1;  
    useContentFilter = 0;  
    useContentFilterOverrides = 0;  
    whitelistEnabled = 0;  
}  
2017-03-04 21:01:23.046995 TestApp[807:166612] WF: _WebFilterIsActive returning: NO 

主要是打印的第一句话,我是设置了UIWebview的代理之后,再打开UIwebview界面数据还没有加载完成之前退出那个界面,然后再打开这个UIWebview界面,就会报出这样的错误,最后线程直接卡到了
Xcode 9使用时那些坑
这个main函数中,打印出就是上面的日志,反复几次尝试都是这样,很是坑爹,现在手机的系统都已经到iOS11,而WkWebview最低支持iOS8,所以果断舍弃UIwebview使用WKWebview,
当然如果只是简单展示UIWebvie不需要设置UIWebview’的代理,这样操作是不会卡住的,到现在还是不明白什么原因,由于我需要用到代理,去操作一些东西,所以我选择了WKWebview。


2017.12.1更新

5.Safe Area Layout Guide

继续吐槽Xcode9 ,相信我们在创建项目的时候都会遇到 Xcode 9.0 报错, Safe Area Layout Guide Before IOS 9.0 这句话的表面的意思就是safe area支持的最低版本是ios9之后的,低于iOS9的都不能使用,网上千篇一律都是取消在Main.storyboard和LaunchScreen.storyboard取消使用safe area,苹果出来的这么好的东西,干嘛要不用呢。哈哈哈你们可以设置支持iOS9以上就可以呀,是不是很机智。。。。
Xcode 9使用时那些坑


Xcode 9使用时那些坑


2017.12.5更新

6.ijkplayer集成播放器模拟器的坑

持续吐槽Xcode9,今天使用ijkplayer集成播放器的功能,在网上随意找的一个直播源,集成完成之后使用ijkplayer的包自带的demo在 模拟器 想看看直播的怎么样,出现了一个很坑的现象,居然直播的画面出现卡顿的现象,画面播放的特别的卡,但是不影响声音的播放,我就下意识的以为集成的有问题,网上各种百度,各种查,废了半天的时间什么原因还是没有找到,果断真机试试再说,TMD,居然播放没有任何问题,声音和画面完全匹配同步,由此长知识了,不能完全相信Xcode模拟器这个鬼东西,真机调试才是真正的硬道理。


2018.5.25更新

7.支持横竖屏的app,横屏情况下打开,界面的UI也是横屏的解决办法

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中实现下面的方法就可以解决

我查看文章的链接 iOS屏幕自动旋转问题 以及横屏模式打开APP出现的问题 感谢作者

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];//此方法

后续,继续总结中。。。。。如果你们发现其他Xcode9的Bug以及解决方法,可以给aaa@qq.com发邮件,我会在文章给 贡献人的链接