如果iOS SDK没有这方面的功能,那么如果我有一个基本(静态)网站,并且在该网站的某个地方,我手动设置一段数据,在应用程序中指定我的应用程序的最新版本,该怎么办?每次发布更新时都存储?如何让我的应用程序在网站上查询该版本数据并根据iOS设备上运行的版本进行检查?
答案 0 :(得分:12)
你走在正确的轨道上。您需要向静态版本网页发出HTTP请求。为此,您可以使用NSURLConnection对象。如下所示:
NSURL * url = [NSURL URLWithString:@"http://yourweb.com/version.txt"];
NSURLRequest * request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60];
_connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
然后在你的委托实施中:
(void)connection:(NSURLConnection*)connection didReceiveResponse:(NSHTTPURLResponse*)response
{
if(response.statusCode != 200)
// you got an error
}
- (void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error
{
// again with the errors ...
}
// you got some data ... append it to your chunk
// in your case all the data should come back in one callback
- (void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data
{
[mData appendData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
// your request finished ... check the version here
}
因此,在 connectionDidFinishLoading 中,您可以查看已收集的 mData 。解析版本号并将其与您的软件包版本号进行比较:
[self infoValueForKey:@"CFBundleVersion"];
答案 1 :(得分:4)
您可以向AppStore发出http://itunes.apple.com/en/lookup?bundleId=com.easi6.doorsndots之类的查询。
返回JSON有一个版本信息(当前在AppStore上),可以在另一个包中进行比较。
答案 2 :(得分:1)
我在许多应用程序中使用了相同的解决方案@RedBlueThing。我已将其扩展为其他应用开发者可以在CleverStork使用的服务 - 应用更新管理器。希望你们喜欢它:))