亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在OS X或iOS(不使用Gestalt)的運行時確定OS版本?

如何在OS X或iOS(不使用Gestalt)的運行時確定OS版本?

慕虎7371278 2019-12-11 14:09:07
從CarbonCore/OSUtils.hOS X 10.8 Mountain Lion開始不推薦使用位于其中的Gestalt()函數。我經常使用此功能在運行時測試OS X操作系統的版本(請參見下面的玩具示例)。在Cocoa應用程序中,還可以使用其他什么API來在運行時檢查OS X操作系統版本?int main() {    SInt32 versMaj, versMin, versBugFix;    Gestalt(gestaltSystemVersionMajor, &versMaj);    Gestalt(gestaltSystemVersionMinor, &versMin);    Gestalt(gestaltSystemVersionBugFix, &versBugFix);    printf("OS X Version: %d.%d.%d\n", versMaj, versMin, versBugFix);}
查看完整描述

3 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

在OS X 10.10(和iOS 8.0)上,您可以使用[[NSProcessInfo processInfo] operatingSystemVersion],它返回一個NSOperatingSystemVersion結構,定義為


typedef struct {

    NSInteger majorVersion;

    NSInteger minorVersion;

    NSInteger patchVersion;

} NSOperatingSystemVersion;

NSProcessInfo中還有一個方法可以為您進行比較:


- (BOOL)isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion)version

當心,雖然記載了OS X 10.10可用后來,雙方operatingSystemVersion并isOperatingSystemAtLeastVersion:在OS X 10.9(存在可能10.9.2如預期)和工作。這意味著您不得測試是否NSProcessInfo響應這些選擇器來檢查您是否在OS X 10.9或10.10上運行。


在iOS上,這些方法僅從iOS 8.0開始有效。



查看完整回答
反對 回復 2019-12-12
?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

有一個可可API。您可以從類NSProcessInfo獲得os X版本字符串。


獲取操作系統版本字符串的代碼如下。


NSString * operatingSystemVersionString = [[NSProcessInfo processInfo] operatingSystemVersionString];


NSLog(@"operatingSystemVersionString => %@" , operatingSystemVersionString);

// === >>版本10.8.2(內部版本12C2034)結果值


它不被棄用。



查看完整回答
反對 回復 2019-12-12
  • 3 回答
  • 0 關注
  • 527 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號