iOS版本更新比較及廣告頁展示判斷

2021-09-12 01:26:17 字數 1959 閱讀 5999

更新後版本比較

鑑於nsstring有提供compare的功能,但是會對於[@"10.1.1" compare:@"2.1.1"]會出現問題,所以提供以下方法進行比較:

nsstring+versioncompare.**件

#import 

typedef enum : nsuinteger compareresulttype;

@inte***ce nsstring (versioncompare)

#pragma mark - 與老版本比較

- (compareresulttype)versioncompare:(nsstring *)oldversion;

@end

複製**

nsstring+versioncompare.m檔案

#import "nsstring+versioncompare.h"

@implementation nsstring (versioncompare)

#pragma mark - 與老版本比較

- (compareresulttype)versioncompare:(nsstring *)oldversion else

if ([currentversionarray[i] intvalue] > [oldversionarray[i] intvalue]) else

}//前面的都相等, (1.1.1 > 1.1)

return currentversionlength < oldversionlength ? smallerresulttype : biggerresulttype;

} else else

if ([currentversionarray[i] intvalue] > [oldversionarray[i] intvalue]) else }}

return equalresulttype;

}@end

複製**

使用方法:

//引入標頭檔案

#import "nsstring+versioncompare.h"

//使用

[@"1.1" versioncompare:@"1.1.1"];  //小

[@"10.2.0" versioncompare:@"2.2.0"];  //大

[@"1.2.0" versioncompare:@"1.2.1"];  //小

[@"1.1" versioncompare:@"1.1"]; //等

複製**

新版本廣告展示判斷

//1.獲取快取的版本號

nsstring *softwareversion = [[nsuserdefaults standarduserdefaults] objectforkey:ksoftwareversion];

//2.獲取當前的版本號

nsstring *currentversion = [[nsbundle mainbundle] objectforinfodictionarykey:@"cfbundleshortversionstring"];

if (![currentversion isequaltostring:softwareversion])

複製**

補充:

1.獲取系統版本號:

nsstring *version = [[nsbundle mainbundle] objectforinfodictionarykey:@"cfbundleshortversionstring"];

複製**

複製**

iOS 版本更新

通常的做法是在自己的伺服器上記錄最新版本號,從ios客戶端請求,與本地版本號比較,不同則提示更新。這種做法簡單,缺點是需要單獨的伺服器支援。html view plain copy nsstring version nsurl urlid your versionrequest asiformdat...

ios版本更新

在我們使用應用時,一開啟應用,如果此應用有新的版本,常常能在應用中給出提示,是否要更新此應用。所以,我們就來看看,版本更新是如何實現的。蘋果給了我們乙個介面,能根據應用id請求一些關於應用的資訊。我們可以根據返回的資訊,來判斷版本是否和應用的版本一致,如果不一致,那麼就出現新的版本了。這時,就需要向...

iOS版本比較方法

之前一直把版本號轉換為floatvalue,但是最近在專案中又出現了float的問題,主要是 nsstring表示為 17.30 轉換為floatvalue 值為17.299999,然後做了一些放大處理,導致不精確,就是精度少了1 所以都不敢在系統版本比較的過程中把值強制轉換為floatvalue了...