使用objective-c检查iOS更新是不是可用?
Posted
技术标签:
【中文标题】使用objective-c检查iOS更新是不是可用?【英文标题】:Check if iOS Update is available using objective-c?使用objective-c检查iOS更新是否可用? 【发布时间】:2018-06-20 15:45:00 【问题描述】:如何使用 Objective-c 以编程方式将已安装的 ios 版本与最新的 iOS 版本进行比较?
【问题讨论】:
您可以使用 iTunes 搜索 api 在 iTunes 中查找您的应用程序。或者,您可以将当前应用版本放在云端的某个位置。 @Cy-4AH 他说的是 iOS 版本,而不是他的应用程序版本。 可能对你有帮助.. ***.com/questions/3339722/how-to-check-ios-version/… 首先,为什么要这样做?其次,执行此操作时要小心,运行您的应用程序的设备可能无法运行最新版本的 iOS。特别是如果您想通知用户。如果您的应用需要特定版本的 iOS,请将其设置为您的部署版本。 iOS 中没有任何东西可以为您提供最新版本的 iOS。显然,必须有一个 API 设置应用程序用来做同样的事情。但我认为这不会公开。您可以管理您的服务器以保持最新版本的 iOS 【参考方案1】:您必须从网络服务中获取新版本号。这是因为如果您想从应用商店更新应用程序,那么您只需从面板中增加您的应用程序版本,您将在网络服务中获取它,然后您就可以像这样检查它(通过传递 Web 服务版本调用此方法):-
(BOOL)isUpdateAvailable:(NSString*)latestVersion
NSString *currentAppVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
NSArray *myCurrentVersion = [currentAppVersion componentsSeparatedByString:@"."];
NSArray *myLatestVersion = [latestVersion componentsSeparatedByString:@"."];
NSInteger legthOfLatestVersion = myLatestVersion.count;
NSInteger legthOfCurrentVersion = myCurrentVersion.count;
if (legthOfLatestVersion == legthOfCurrentVersion)
for (int i=0; i<myLatestVersion.count; i++)
if ([myCurrentVersion[i] integerValue] < [myLatestVersion[i] integerValue])
return true;
else if ([myCurrentVersion[i] integerValue] == [myLatestVersion[i] integerValue])
continue;
else
return false;
return false;
else
NSInteger count = legthOfCurrentVersion > legthOfLatestVersion ? legthOfLatestVersion : legthOfCurrentVersion;
for (int i=0; i<count; i++)
if ([myCurrentVersion[i] integerValue] < [myLatestVersion[i] integerValue])
return true;
else if([myCurrentVersion[i] integerValue] > [myLatestVersion[i] integerValue])
return false;
else if ([myCurrentVersion[i] integerValue] == [myLatestVersion[i] integerValue])
continue;
if (legthOfCurrentVersion < legthOfLatestVersion)
for (NSInteger i=legthOfCurrentVersion; i<legthOfLatestVersion; i++)
if ([myLatestVersion[i] integerValue] != 0)
return YES;
return NO;
else
return NO;
这将返回 bool 值,如果它返回 YES,那么您将拥有您的应用的新版本,如果不是,那么您的应用已更新版本。
【讨论】:
嗨,我不想知道我的应用程序的更新。我想将最新的 iOS 版本与设备上安装的 iOS 版本进行比较。感谢您的帮助。 aavdo 回答 hoy以上是关于使用objective-c检查iOS更新是不是可用?的主要内容,如果未能解决你的问题,请参考以下文章