下载iOS应用程序并在下载完成后收到通知

时间:2015-07-09 14:18:38

标签: ios objective-c swift

有没有办法允许用户下载&在使用其他应用时安装iOS应用,并在应用下载并可以使用后获取通知吗?

问题:

我有一个应用程序(比如App1),我想检查设备中是否有其他应用程序(比如说App2)。如果App2不可用,我需要从iTunes下载。下载完成后,我需要提醒用户App2下载已完成并可供使用。

我尝试搜索iTunes API来执行此操作,但我没有找到任何内容。

1 个答案:

答案 0 :(得分:3)

唯一的解决方案是尝试从App1打开App2中指定的URL方案。并从App1继续轮询它直到找到它。

<强> Objc

- (void)checkForSiblingApp {
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"<app2scheme>://"]]) {

        //App exists! Show user a message and then call this to open the app
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"<app2scheme>://"]];
    } else {

        //App does not exist, check again in 1 minute
        [self performSelector:@selector(checkForSiblingApp) withObject:nil afterDelay:60];
    }
}

<强>夫特

func checkForSiblingApp() {

    if UIApplication.sharedApplication().canOpenURL(NSURL(string: "<app2scheme>://")!) {

        //App exists! Show user a message and then call this to open the app
        UIApplication.sharedApplication().openURL(NSURL(string: "<app2scheme>://")!)
    } else {

        //App does not exist, check again in 1 minute
        let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(60 * Double(NSEC_PER_SEC)))

        dispatch_after(delayTime, dispatch_get_main_queue()) {
            self.checkForSiblingApp()
        }
    }
}

这将告诉您您的应用是否在设备上可用。这是应用间通信,您可以阅读更多here