通過自定義的URL Scheme啟動你的App
阿新 • • 發佈:2019-01-31
iPhone SDK可以把你的App和一個自定義的URL Scheme繫結。該URL Scheme可用來從瀏覽器或別的App啟動你的App。
如何響應從別的App裡發給你的URL Scheme申請,由你決定:可以喚醒你的App;也可以傳一些資訊給你。
給自己的App註冊一個URL Scheme非常簡單,就是在info.plist檔案裡定義兩個鍵值就OK。如下圖所示:
- 新增一個叫URL types的鍵值。
- 給其下的Item 1新增一個URL identifier,格式為Reverse Domain Name:com.mycompany.myapp。
- 再加一個URL Scheme,然後給它定義一個值,任意字串。比如:myapp。
定義結束,就可以使用下面的模式來發送一個URL:
myapp://
myapp://some/path/here
myapp://?foo=1&bar=2
myapp://some/path/here?foo=1&bar=2
然後,你的App的UIApplicationDelegate會收到一個訊息。若你想自己處理該URL,可以過載下面這個方法:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
// Do something with the url here
}
例如,把傳過來的URL儲存在本地:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
if (!url)
{
return NO;
}
NSString *URLString = [url absoluteString];
[[NSUserDefaults standardUserDefaults] setObject:URLString forKey:@"url"];
[[NSUserDefaults standardUserDefaults] synchronize];
return YES;
}