我正在为具有临时分发的企业应用程序进行更新计划.
对于更新,Apple建议让用户访问HTML页面并点击链接:
href="itms-services://?action=download-manifest&url=http://example.com/?manifest.plist"
Run Code Online (Sandbox Code Playgroud)
请参阅http://help.apple.com/iosdeployment-apps/#app43ad871e
我不想这样做.我希望应用程序以编程方式检查启动时的更新,并使用UIAlertView提醒用户可以获得更新.
这是我到目前为止在应用中所做的事.FinishLaunching.复杂的plist解析来自这里的示例plist的结构:http://help.apple.com/iosdeployment-apps/#app43ad78b3
NSLog(@"checking for update");
NSData *plistData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://example.com/MyApp.plist"]];
if (plistData) {
NSLog(@"finished checking for update");
NSError *error;
NSPropertyListFormat format;
NSDictionary *plist = [NSPropertyListSerialization propertyListWithData:plistData options:NSPropertyListImmutable format:&format error:&error];
if (plist) {
NSArray *items = [plist valueForKey:@"items"];
NSDictionary *dictionary;
if ([items count] > 0) {
dictionary = [items objectAtIndex:0];
}
NSDictionary *metaData = [dictionary objectForKey:@"metadata"];
float currentVersion = [[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] floatValue];
float newVersion = [[metaData objectForKey:@"bundle-version"] floatValue];
NSLog(@"newVersion: %f, …Run Code Online (Sandbox Code Playgroud)