如何從我本身的應用中啓動App Store?同時如何連接到商店中我本身的應用?web
-[UIApplication openURL:]
能夠處理傳入的連接到應用和媒體NSURL
對象,啓動對應的商店應用。根據如下步驟獲取連接,能夠是應用,歌曲,itunes中的專輯,同時連接它到你的iPhone應用。app
在電腦中啓動iTuneside
搜索你要添加的項目工具
右擊或者control點擊在iTunes中的項目名稱在彈出菜單中循選擇"Copy iTunes Store URL"ui
使用-[UIApplication openURL:]
打開修改的URL字符串和NSURL
對象。code
注意:你也能夠使用iTunes Link Maker 工具來獲取應用歌曲或者保存在iTuns中的專輯的連接。參見iTunes Link Maker FAQ瞭解更多關於工具的信息。對象
下面是從原生應用中啓動App Store的例子。ip
NSString *iTunesLink = @http://itunes.apple.com/us/app/id284417350?mt=8;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
有一些iTunes連接,包括iTunes相關連接,在連接到對應的應用程序前會返回多個重定向。你能夠使用NSURLConnection靜默的處理這些重定向,並在重定向完成時打開最終的URL。這可以讓你的應用支持直接轉換到商店而無需啓動Safari。下面是展現如何完成這個動做。
字符串
注意:若是你的iTunes連接時在UIWebView中你能夠使用這個方法在-[UIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]
委託方法中攔截連接。get
在iPhone中處理iTunes相關的連接
// Process a LinkShare/TradeDoubler/DGM URL to something iPhone can handle
- (void)openReferralURL:(NSURL *)referralURL
{
NSURLConnection *con = [[NSURLConnection alloc] initWithRequest:[NSURLRequest requestWithreferralURL] delegate:self startImmediately:YES];
[con release];
}
// Save the most recent URL in case multiple redirects occur
// "iTunesURL" is an NSURL property in your class declaration
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response
{
self.iTunesURL = [response URL];
if( [self.iTunesURL.host hasSuffix:@"itunes.apple.com"])
{
[connection cancel];
[self connectionDidFinishLoading:connection];
return nil;
}
else
{
return request;
}
}
// No more redirects; use the last URL saved
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
[[UIApplication sharedApplication] openself.iTunesURL];< /pre>}