1. 程式人生 > >通過自定義的URL Scheme啟動你的App

通過自定義的URL Scheme啟動你的App

iPhone SDK可以把你的App和一個自定義的URL Scheme繫結。該URL Scheme可用來從瀏覽器或別的App啟動你的App。

如何響應從別的App裡發給你的URL Scheme申請,由你決定:可以喚醒你的App;也可以傳一些資訊給你。

給自己的App註冊一個URL Scheme非常簡單,就是在info.plist檔案裡定義兩個鍵值就OK。如下圖所示:

url scheme

  1. 新增一個叫URL types的鍵值。
  2. 給其下的Item 1新增一個URL identifier,格式為Reverse Domain Name:com.mycompany.myapp。
  3. 再加一個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;
}