如果iOS上未安装应用程序,请打开AppStore

时间:2015-10-01 17:55:50

标签: ios app-store

如果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?

1 个答案:

答案 0 :(得分:2)

检查openURL:的返回值。如果它返回NO,则为所需的应用创建SKStoreProductViewController设置。

if (![ourApplication openURL:ourURL]) {
    // can't launch app for 'fb' scheme
    // Create and display SKStoreProductViewController
}

如果您不想使用SKStoreProductViewController,请使用问题末尾的openURL代码。