ios - +[LSApplicationWorkspace defaultWorkspace] 和 -allApplications 有哪些替代方案?

标签 ios cocoa-touch

我有一个应用程序使用 LSApplicationWorkspace+defaultWorkspace-allApplications,但我无法在 App Store 中使用它们。

我有什么选择?

最佳答案

What alternatives do I have?

如果您使用 LSApplicationWorkspace 来检测安装了哪些应用程序?没有。

Apple 将已安装的应用程序列表视为私有(private)的,并且在过去对其他 API 进行了有意的更改以将该信息保密。 (例如,iOS 9 applied limits to canOpenURL: to prevent it from being used to detect installed applications。)

如果您需要检测其他特定 应用程序,并且这些应用程序实现了自定义 URL 方案,您仍然可以使用 canOpenURL: 来检查这些应用程序。但是,您需要在 Info.plist 中提前声明这些 URL 方案,并且您无法检测到不处理唯一 URL 方案的应用程序。

关于ios - +[LSApplicationWorkspace defaultWorkspace] 和 -allApplications 有哪些替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44373167/

相关文章:

objective-c - NSXMLParser findCharacters 返回 "\n "个字符

ios - 加载数据后在 tableView 中淡入淡出

ios - UITextField 的自定义 inputView,如何将输入直接返回到文本字段?

ios - 如何可靠地检测 uiview 框架相对于屏幕的原点 Y?

ios - 适用于iOS的自定义颜色选择器

ios - 如何在iOS中将\u00e2\u0080\u0099这个字符串替换成'

ios - UserDefaults 不是第一次加载

ios - 无法解决错误 : The executable was signed with invalid entitlements for Debug in xcode 4. 2

ios - 如何使用 Storyboard在 ios 的 Root View 中显示某些内容?

ios - 制作 NSURLSessionTask 队列的最佳实践