这里以调起 百度网页 为例。
创新互联2013年开创至今,是专业互联网技术服务公司,拥有项目网站设计制作、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元普洱做网站,已为上家服务,为普洱各地企业和个人服务,联系电话:18980820575
先对中文等特殊字符进行处理
一、调起Safari浏览器
二、在App中内嵌Safari
三、使用WKWebView显示Url
四、如果你从事Flutter开发,你应该还需要 Android开发:调起手机浏览器 的知识
# Safari 断点调试—iOS
iOS 系统内置 WebView 与 Safari 浏览器内核相同,我们可在 OSX 系统中,通过 Safari 浏览器开发者工具,向调试普通网页一样,调试真机中运行的网页。
## 准备工作
1. AppleID,拥有 **App 发布证书**的开发者帐号
2. 能运行 Safari 浏览器的 OSX 系统
3. iOS 系统真机
4. 可调试的 App 包
## 注册设备
在[苹果开发者网站][apple_dev_site]向公司的证书中注册需要调试的 iOS 设备
1. 在[苹果开发者网站][apple_dev_site]登录拥有证书的 AppleID
2. 进入证书管理界面
![开发者网站证书管理]
3. 管理证书中的设备
![开发者网站证书设备管理]
4. 通过 iOS 设备的 UDID 向证书注册该调试设备
![证书中注册设备]
## 开发者模式
iOS 与 OSX 中的 Safari 默认都不会开启开发者模式,需要分别启用
1. 开启 OSX 中 Safari 浏览器的开发者模式
![打开 OSX safari 开发]
2. 在 iOS 设备的设置界面,开启 Safari 浏览器开发功能
## 生成调试包
### 通过 XCode 生成调试包
在Xcode中选择需要打包的项目, Archives 工程项目
导出 ipa 时选择第四个选项 “save for development Deployment”,则导出的 ipa 为调试包
## 调试网页
完成以上步骤(证书注册、开发模式、调试包)后,就可调试 iOS 设备调试中的网页了
OSX 中 Safari 浏览器调试指定页面(手机屏幕变蓝表示是手机当前的 html 页面)
## 基本功能
以上一切的准备,都是为了实现,实时调试 iOS 设备中的网页,操作没有什么不同。
## 断点调试,查看元素模型等
自带safari浏览器就可以调试,方法如下:
1.打开手机设置-safari浏览器-高级(拉倒最下方)-打开下图2个选项:
2.电脑Safari浏览器偏好设置-高级-底部勾上,菜单里有开发选项的自行忽略
然后就在菜单里开发选项里选择自己的手机(模拟器也是可以的),列表里会显示加载的url,选择对应的url就可以开始调试了,可以看js,打断点,控制台输命令等。比如我们这里弹个alert
估计没有 ios的都是调用系统自带的吧
所有浏览器必须使用Safari提供的内核
苹果公司在App Store的政策中写道:“Apps在浏览网页时,必须使用iOS的WebKit框架以及WebKit JavaScript。”
这意味着,第三方的浏览器不能使用自身的内核。内嵌Safari内核使得其他浏览器公司不能提供新的功能或者加快网页加载速度。事实上,所有的第三方浏览器都不过是换了个图标的Safari。
你使用的是UIWebView控件来实现的吧。要实现你说的功能,需要涉及到一个知识点“自定义URL协议”。下面我就一步一步的给你讲解如何通过“自定义URL协议”来实现你想要的效果。
首先,你需要说明你想如何在程序中响应这个URL。最简单的自定义协议的方法是“唤醒”,而且可以通过URL把信息传递给程序,这样,程序被唤醒后能做更多的事情。
注册自定义URL协议
首先需要向iPhone注册一个自定义URL协议。这是在你的项目文件夹的info.plist文件进行的(就是你改变应用程序图标的同一个文件)。
默认,Xcode在图形窗口中打开info.pllist,当然也可以直接用文本模式打开——对有的人来说这反而更简单。
Step1. 右键,选择“Add Row”
Step2. Key值选择“URL types”
Step3. 打开“Item 1″,然后为该key增加一个URL identifier。可以是任何值,但建议用“反域名”(例如 “com.myapp”)。
Step4. 在“Item1”下再加一行。
Step5. 选择“URL Schemes” 作为Key。
Step6. 输入你的URL协议名 (例如“myapp://” 应写做“myapp”)。如果有必要,你可以在这里加入多个协议。
完成后看起来应该是这个样子
处理URL
现在,URL已经注册好了。任何人都可以用打开URL的方式通过你的协议去启动一个应用程序。
例如:
iOSDevTips://
iOSDevTips://some/path/here
iOSDevTips://?foo=1amp;bar=2
iOSDevTips://some/path/here?foo=1bar=2
iOS SDK将向UIApplicationDelegate发送一条消息,启动和上述URL绑定的应用程序。
如果你想进行自定义处理,在你的delegate中实现该消息,例如:
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
//////当你通过自定义协议访问时,会在AppDelegate中的openURL这个事件中被截获,也就是在这里处理你的拼接参数,拼接后再通过UIWebView load这个新的url 请求。
}