ios - 我可以使用代码检查空投的接收者是否安装了应用程序吗?
问题描述
我在我的应用程序中通过 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
}
我想知道:接收方用什么应用程序打开了我发送的文件?/ 接收器是否安装了我的应用程序?这可以实现吗?
解决方案
这是不可能的。如果您想确保文件仅通过您的应用程序打开,您需要分配一个唯一的文件扩展名并让您的应用程序处理该扩展名。您仍然可以在内部使用 zip 格式。
推荐阅读
- python - Python - 在多个 for 循环之间未检测到 txt 文件
- azure - Azure App Service 使用服务总线队列消息,即使它已停止
- armadillo - 犰狳 + BLAS + LAPACK
- .net - 问:如何配置 cloudbuild.yaml 来运行测试?
- mysql - 如果输入为空,如何忽略枚举类型?
- php - 非法字符串偏移“名称”和未初始化的字符串偏移:0
- java - 如何从 StepExecutionListener 中的 beforeStep 方法中跳过步骤执行?
- c++ - 将基类的子类中的公共方法私有化
- c# - 服务远程处理/发送者 - 接收者
- ios - MessageKit 为 didSelectURL 设置 MessageLabelDelegate