從iPhone應用中啓動App Store

 

如何從我本身的應用中啓動App Store?同時如何連接到商店中我本身的應用?web

 

-[UIApplication openURL:] 能夠處理傳入的連接到應用和媒體NSURL 對象,啓動對應的商店應用。根據如下步驟獲取連接,能夠是應用,歌曲,itunes中的專輯,同時連接它到你的iPhone應用。app

 

  1. 在電腦中啓動iTuneside

  2. 搜索你要添加的項目工具

  3. 右擊或者control點擊在iTunes中的項目名稱在彈出菜單中循選擇"Copy iTunes Store URL"ui

  4. 使用-[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>
}
相關文章
相關標籤/搜索