iOS自定义协议

首先,你需要说明你想如何在程序中响应这个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=1&bar=2

 iOSDevTips://some/path/here?foo=1&bar=2

 

iOS SDK将向UIApplicationDelegate发送一条消息,启动和上述URL绑定的应用程序。

如果你想进行自定义处理,在你的delegate中实现该消息,例如:

1
2
3
4
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
     //////当你通过自定义协议访问时,会在AppDelegate中的openURL这个事件中被截获,也就是在这里处理你的拼接参数,拼接后再通过UIWebView load这个新的url 请求。
}

posted on 2014-05-12 13:59  xincc  阅读(680)  评论(0编辑  收藏  举报