【发布时间】:2011-08-15 06:58:31
【问题描述】:
我有几个 iOS 应用程序,我需要它们相互了解。更准确地说,我需要知道是否已经安装了我的某个应用。
我考虑注册一个自定义 URL 方案(例如 my-app-present://),以便检查是否支持自定义方案,如果支持,我会知道设备上已经有我的一个应用程序。但这不起作用,因为方案是通过Info.plist 注册的,并且应用程序在有机会检查其是否存在之前就注册了该方案。换句话说,检查总是成功的。
然后我想在临时目录中创建一个文件,但是 NSTemporaryDirectory() 在应用程序沙箱中返回一个文件夹,所以这也行不通。我也考虑过钥匙串,但看起来每个应用程序在 iOS 上都有严格独立的钥匙串。
我不想浏览正在运行的应用程序列表,也不想使用网络。你还知道一些其他的技巧吗?
【问题讨论】:
-
实际上,您的许多应用程序可能使用相同的钥匙串,但前提是它们具有您在 iOS Provisioning Portal 中提供给它们的 Bundle Seed ID 时创建新的应用 ID。这只是 P.S.,因为您已经从 @jtbandes 找到解决问题的方法。