我在Swift中开发了应用程序。应用程序是企业应用程序,因此它永远不会在App Store上发布。
如果应用程序有更新,我需要在应用程序内更新应用程序。
现在我已经完成了后端和iOS端代码。我创建了.plist文件,其中包含我上传的.ipa文件网址和其他内容。 ref
我已成功实现了如何在应用内自行下载和更新应用的代码。
但问题是当应用程序开始下载时停止为60%,当我尝试重试下载时,显示错误Unable to Downlaod App
。
有什么办法可以实现同样的想法吗?
Swift代码
func getTheData() {
let appversion = NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"] as! String
var query = PFQuery(className:"AppVersion")
query.getObjectInBackgroundWithId("Parse unique key") {
(version: PFObject?, error: NSError?) -> Void in
if error == nil && version != nil {
let oldVersion = version?.valueForKey("version") as! String
println(version?.valueForKey("version"))
if appversion == oldVersion {
println("Same Version")
}
else {
println(version)
println("Different version")
let url = version?.valueForKey("ipaURL") as! String
UIApplication.sharedApplication().openURL(NSURL(string:url)!)
}
} else {
println(error)
}
}
}
解答:
我发现了这个问题。问题仅在 iOS 9.0 以上。从XCode 7及更高版本开始,您必须仅使用管理器生成(非手动)manifest.plist文件。当您使用导出选项在管理器中创建ipa文件时,您将获得两个选项 1)Bitcode 2)为OTA更新生成清单。你必须使用XCode的组织者来创建Manifest.plist文件。
答案 0 :(得分:0)
看到应用程序已打开,我建议向用户显示要更新的消息。 AlertView按钮操作应该让用户访问网页以下载新版本。
这与你想要达到的目标并不理想,但这是我过去做过的一种方式并且工作正常。
答案 1 :(得分:0)
问题是当您创建Archive
时需要更正设置配置文件中列出的设备时的配置文件。
在几天之前,我面对并连接了同一设备以及配置文件UDID容器。
所以我创建了R& D并solve the same problem.