首页 > 解决方案 > 我可以使用代码检查空投的接收者是否安装了应用程序吗?

问题描述

我在我的应用程序中通过 UIActivityViewController 与空投共享 .zip 文件。

@IBAction func shareAction(_ sender: Any) {
    let newFileURL = NSHomeDirectory() + "/Documents/test.zip"
    let url = NSURL(fileURLWithPath: newFileURL)
    let shareItems = [url] as [Any]


    let ac = UIActivityViewController(activityItems: shareItems as [Any], applicationActivities: [])
    ac.excludedActivityTypes = [UIActivity.ActivityType.assignToContact, UIActivity.ActivityType.addToReadingList]


    if(UIDevice.current.userInterfaceIdiom == .pad) {
        let popover = ac.popoverPresentationController
        popover?.sourceView = shareButton
        popover?.sourceRect = CGRect(x: 150, y: 40, width: 0, height: 0)
    }
    present(ac, animated: true, completion: nil)

    func completionHandler(activityType: UIActivity.ActivityType?, shared: Bool, items: [Any]?, error: Error?) {
        if (shared) {
            print("Share Succeed!")
        }
        else {
            print("Share failed!")
        }
    }
    ac.completionWithItemsHandler = completionHandler
}

我想知道:接收方用什么应用程序打开了我发送的文件?/ 接收器是否安装了我的应用程序?这可以实现吗?

标签: ios

解决方案


这是不可能的。如果您想确保文件仅通过您的应用程序打开,您需要分配一个唯一的文件扩展名并让您的应用程序处理该扩展名。您仍然可以在内部使用 zip 格式。


推荐阅读