简介
我今天用Mac升级了XCode到8.1,Swift版本应该到了swift3,按网上的demo写webview的例子,报一堆错,整了一天才搞定,不想其他人踩坑了!
XCode8.1 ,swift3,WebView的正确打开方式是这样的:
创建应用
打开XCode,创建一个新XCode项目
然后选择创建一个Simple View Aplication:
然后填写项目名称,组织名称,包名等信息
最后选择一个存放项目的目录,我选择的是在个人目录的xcodeprojects目录
设置Web View控件
第一步,选中根目录下的Main.storyboard文件,
第二步,选择第一面
第三步,搜索web view控件
第四步,按住Web View控件
第五步,拖拽Web View控件到页面
然后调整Web View控件达到充满整个屏幕,选择右上角的双环按钮,调出代码框
右键单击代码框,调出菜单,按住【Referencing Outlets】选项下【New Referencing Outlet】右边的【➕】号,拖拽到代码【ViewController】中
然后需要填入控件名称,这里输入webview这个名称:
处理网络请求
然后在【viewDidLoad】方法中加入代码
// 1.设置访问资源 - 百度搜索
let url = URL(string: "https://www.hushuang.me/");
// 2.建立网络请求
let request = URLRequest(url: url!);
// 3.加载网络请求
webview.loadRequest(request)
运行程序
最后,先选择【iPhone7】设备,然后点击左上角的运行按钮,就可以看到你所期待的内容了:
一定要看
如果你发现WebView请求不到数据,而你的的url是http://开头,日志中出现以下内容:
objc[11003]: Class PLBuildVersion is implemented in both
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
framework/AssetsLibraryServices (0x12160d998) and
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.
platform/Developer/SDKs/iPhoneSimulator.
sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.
framework/PhotoLibraryServices (0x121432d38).
One of the two will be used.
Which one is undefined.
2016-11-07 21:28:23.217 webview[11003:404249]
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.
Temporary exceptions can be configured via your app's Info.
plist file.
说明XCode对http请求做了限制,具体处理方式请参考我的另外一篇博文:解开XCode开发工具的http协议限制问题