XCode下Swift – WebView IOS demo

XCode下Swift – WebView IOS demo

简介

我今天用Mac升级了XCode到8.1,swift版本应该到了swift3,按网上的demo写webview的例子,报一堆错,整了一天才搞定,不想其他人踩坑了!

XCode8.1 ,swift3,WebView的正确打开方式是这样的:

创建应用

打开XCode,创建一个新XCode项目
XCode下Swift – WebView IOS demo_第1张图片

然后选择创建一个Simple View Aplication:

XCode下Swift – WebView IOS demo_第2张图片

然后填写项目名称,组织名称,包名等信息
XCode下Swift – WebView IOS demo_第3张图片

最后选择一个存放项目的目录,我选择的是在个人目录的xcodeprojects目录
XCode下Swift – WebView IOS demo_第4张图片

设置Web View控件

第一步,选中根目录下的Main.storyboard文件,
第二步,选择第一面
第三步,搜索web view控件
第四步,按住Web View控件
第五步,拖拽Web View控件到页面
XCode下Swift – WebView IOS demo_第5张图片

然后调整Web View控件达到充满整个屏幕,选择右上角的双环按钮,调出代码框
XCode下Swift – WebView IOS demo_第6张图片

右键单击代码框,调出菜单,按住【Referencing Outlets】选项下【New Referencing Outlet】右边的【➕】号,拖拽到代码【ViewController】中
XCode下Swift – WebView IOS demo_第7张图片

然后需要填入控件名称,这里输入webview这个名称:
XCode下Swift – WebView IOS demo_第8张图片

处理网络请求

然后在【viewDidLoad】方法中加入代码

        // 1.设置访问资源 - 百度搜索
        let url = URL(string: "https://www.hushuang.me/");

        // 2.建立网络请求
        let request = URLRequest(url: url!);

        // 3.加载网络请求
        webview.loadRequest(request)

XCode下Swift – WebView IOS demo_第9张图片

运行程序

最后,先选择【iPhone7】设备,然后点击左上角的运行按钮,就可以看到你所期待的内容了:
XCode下Swift – WebView IOS demo_第10张图片

XCode下Swift – WebView IOS demo_第11张图片

一定要看

如果你发现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协议限制问题

你可能感兴趣的:(IOS)