针对我们的一个客户,我们开发了一个OTA应用商店来进行分发。
为了测试应用程序是否已安装,在我编写的每个应用程序中,我添加了两个自定义URL方案:一个只是应用程序ID,另一个包含应用程序ID和版本(两者都将
然后,在我们的“应用商店”中,我只需使用
当通过XCode安装该应用程序时,它非常好用。但是,当我通过我的“应用商店”OTA安装同样的应用程序时,
这是我的清单plist文件出现问题吗?在属于目标的Info.plist中,自定义URL方案显然存在,但不在清单中。但是,我想它仅在初始化安装时使用清单...实际安装期间应该使用Info.plist来注册这些内容,我是否漏掉了其他内容?
谢谢!
编辑:我正在使用自定义构建脚本实际创建用于OTA分发的
为了测试应用程序是否已安装,在我编写的每个应用程序中,我添加了两个自定义URL方案:一个只是应用程序ID,另一个包含应用程序ID和版本(两者都将
.
替换为 -
);因此例如com.mycompany.app的ID为 com-mycompany-app
,版本为1.2.0,则相应的ID为 com-mycompany-app-1-2-0
。然后,在我们的“应用商店”中,我只需使用
[[UIApplication sharedApplication] canOpenUrl:]
来确定应用程序是否已安装或最新版本,如果是,则将“安装”按钮替换为“打开”按钮。当通过XCode安装该应用程序时,它非常好用。但是,当我通过我的“应用商店”OTA安装同样的应用程序时,
canOpenUrl:
调用总是返回NO。为了查看是否存在缓存问题,我尝试在OTA安装完成后重新启动“应用商店”应用程序,但结果相同。这是我的清单plist文件出现问题吗?在属于目标的Info.plist中,自定义URL方案显然存在,但不在清单中。但是,我想它仅在初始化安装时使用清单...实际安装期间应该使用Info.plist来注册这些内容,我是否漏掉了其他内容?
谢谢!
编辑:我正在使用自定义构建脚本实际创建用于OTA分发的
.ipa
和 .plist
文件。我尝试使用iPhone配置实用程序直接安装IPA,我的应用商店能够识别那些可打开的URL。我唯一可以想到的是,我用于下载和安装的清单需要具有对这些自定义URL方案的某种引用,或者它实际上是Apple的OTA框架中一个合法的错误。