如果iPhone上没有安装app,我想打开Appstore。例如。我想从我的应用程序打开Facebook。我这样做是
UIApplication *ourApplication = [UIApplication sharedApplication];
NSString *ourPath = @"fb://profile/1234";
NSURL *ourURL = [NSURL URLWithString:ourPath];
[ourApplication openURL:ourURL];
但是如果设备上没有安装facebook app,我会收到这样的错误:
LaunchServices: ERROR: There is no registered handler for URL scheme fb
在这种情况下,我想将用户带到AppStore上的Facebook应用程序。我知道我可以这样做:
NSString *stringURL = @"http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=294409923&mt=8";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
但我怎么知道什么是Facebook AppStore id?
答案 0 :(得分:2)
检查openURL:
的返回值。如果它返回NO
,则为所需的应用创建SKStoreProductViewController
设置。
if (![ourApplication openURL:ourURL]) {
// can't launch app for 'fb' scheme
// Create and display SKStoreProductViewController
}
如果您不想使用SKStoreProductViewController
,请使用问题末尾的openURL
代码。