您好,我们最近开发了我们的第一个企业应用程序我们正在使用“内部”选项创建分发证书.客户端尚未使用该应用.但他很快就会使用它.同时我有一个问题.他会使用该应用程序,将来如果有来自我们这方面的应用程序的任何更新,我们希望客户端更新他的身边.像现在我已经在我的iPhone上安装了应用程序.我从AppStore获取更新说,XYZ应用程序已更新.所以我安装更新.现在,如果我们的客户端正在使用应用程序并保存了一些数据(我们的应用程序使用核心数据,并且我们以客户端可以在设备上存储一些数据的方式构建它们),我们想向他安装一个更新更新,但不会删除任何现有的客户端数据.这是可能吗?我该怎么做?我现在正在使用空中安装来安装应用程序.我们有一个安全的服务器,其中存在.ipa和.plist文件,我们有一个下载html页面.客户点击链接并安装应用程序.如果您需要更多信息,请通知我.谢谢.
解决方法
是的,这是可能的.部署Enterprise应用程序时,它需要一个包含应用程序元数据的plist.此元数据包括可用于检查更新的版本号.
BOOL updateAvailable = NO; NSDictionary *updateDictionary = [NSDictionary dictionaryWithContentsOfURL: [NSURL URLWithString:@"http://www.example.com/pathToPlist"]]; if(updateDictionary) { NSArray *items = [updateDictionary objectForKey:@"items"]; NSDictionary *itemDict = [items lastObject]; NSDictionary *MetaData = [itemDict objectForKey:@"Metadata"]; NSString *newversion = [MetaData valueForKey:@"bundle-version"]; NSString *currentversion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; updateAvailable = [newversion compare:currentversion options:NSNumericSearch] == NSOrderedDescending; }
一旦检测到更新可用,导航到用户下载URL
itms-services://?action=download-manifest&url=<url-path-to-plist>