2011-10-05 79 views

回答

3

您可以使用Apple iTunes Link Maker來搜索您的應用程序(或任何應用程序)並獲取您的App Store URL。從那裏你可以得到你的應用程序URL,它將保持你的應用程序的相同,並將其放入你的應用程序。當您使用itms://而不是http://時,它會直接在App Store應用程序中直接打開

例如,如果我想使用Twitter應用程序URL,鏈接製造商會告訴我URL是:

http://itunes.apple.com/us/app/twitter/id333903271?mt=8&uo=4 

現在做ITMS招:

itms://itunes.apple.com/us/app/twitter/id333903271?mt=8&uo=4 

,它會在App Store上直接打開比通過Safari然後重定向到App Store,

+1

有了鏈接製造商可以使鏈接到一些特定的應用程序。我問的是以編程方式從當前應用程序獲取id(以避免手動爲每個應用程序創建鏈接)。 – breakp01nt

+0

我不認爲可以通過編程來實現。您只需要爲每個應用程序設置一次URL,因爲每次提交更新時ID都保持不變。我接觸到的所有解決方案都需要您手動指定App ID,所以我認爲這不可能。 –

+0

您也可以在應用程序中以編程方式HTTP鏈接製造商,並解析HTML結果。 – hotpaw2

19

使用

NSString* appID = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"]; 

更新與評論答案通過@zaheer

NSBundle.mainBundle().infoDictionary?["CFBundleIdentifier"] as? NSString 
+2

** Swift **:'NSBundle.mainBundle()。infoDictionary?[「CFBundleIdentifier」] as? NSString' – Zaheer

+6

夥計們你怎麼能通過捆綁ID?!他問的是appstore應用程序ID! –

+0

我高興,因爲這是我來這裏發現的。不幸的是,OP的問題不是非常具體,並且(可能)意味着另一個問題。(哪個AFAIK不被稱爲App ID。) – livingtech

2

對於APPID只需要通過組件捆綁標識字符串分開,只是抓住最後一個組件。

NSString appId = [[[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"] componentsSeparatedByString:@"."] lastObject]; 

或者相應地處理完整的字符串,但它將具有整個包標識符。

0

[NSBundle mainBundle].bundleIdentifier結果與您的應用ID匹配,使用更簡單。

2

斯威夫特:

Bundle.main.bundleIdentifier 
7

是的,它是。您無法離線獲取app store應用程序ID(在iTunes Connect中稱爲Apple ID),但您可以使用iTunes Search Api 請求。通過以下鏈接下載的背景:

http://itunes.apple.com/lookup?bundleId=YOUR_APP_BUNDLE_ID 

你會得到一個JSON響應,含"trackId":YOUR_APP_ID鍵值。在您的瀏覽器中試用!

我的答案是基於anotsher答案:https://stackoverflow.com/a/11626157/3050403

相關問題