iOS11誕生之際,追溯32位iPhone,思考兼容

iOS11 誕生

蘋果在06-06凌晨正式發(fā)布了iOS 11系統(tǒng),在UI風格编饺、系統(tǒng)性能壁酬、功能上都進行了提升,但究竟哪些設備支持升級iOS 11?你手中的iPhone或者iPad究竟是否在適配之列呢?看看蘋果官方給出的答案酣栈。

image.png

此次iOS 11的更新拋棄了iPhone 5、iPhone 5c汹押、iPad 4三款設備矿筝,宣告了32位設備的正式淘汰,這些設備用戶是時候換機了棚贾。

處理器 32bit 與 64bit 哪些機型

1.蘋果A7處理器之后都64位窖维,以前處理器是32位。
2.iPhone5S和ipad air之后的機型都是64位妙痹,以前的版本都是32位的老機型铸史。

iPhone 64bit歷史

2013年9月,蘋果發(fā)布了 iPhone 5s怯伊,這也是首款搭載 64 位處理器的 iPhone琳轿,同時開始支持 64 位應用。自2015年2月之后耿芹,蘋果要求開發(fā)者必須遞交 64 位新應用和應用升級崭篡。
接下來,iOS11將徹底淘汰32位應用猩系,全面進入64位時代

  • 數(shù)據(jù)類型的變化
image.png
image.png

指令級并行性(Instruction-Level Parallelism,ILP)

解決兼容 ??

看看NSInteger在xcode中NSObjCRuntime.h里的定義

#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif

數(shù)據(jù)類型里面媚送,NSInteger在 32ILP 時等同于int (4bytes)中燥,在64ILP 時等同于long(8bytes)寇甸,而這個數(shù)據(jù)結構使用很廣,很多不規(guī)范的時候會直接和int替換使用,在32ILP是毫無問題拿霉,但在64ILP時吟秩,這就是隱患了。CGFloat也有同樣的問題绽淘,所以代碼的檢查修改必須仔細涵防。
CGFloat定義如下

/* Definition of `CGFLOAT_TYPE', `CGFLOAT_IS_DOUBLE', `CGFLOAT_MIN', and
   `CGFLOAT_MAX'. */

#if defined(__LP64__) && __LP64__
# define CGFLOAT_TYPE double
# define CGFLOAT_IS_DOUBLE 1
# define CGFLOAT_MIN DBL_MIN
# define CGFLOAT_MAX DBL_MAX
#else
# define CGFLOAT_TYPE float
# define CGFLOAT_IS_DOUBLE 0
# define CGFLOAT_MIN FLT_MIN
# define CGFLOAT_MAX FLT_MAX
#endif

/* Definition of the `CGFloat' type and `CGFLOAT_DEFINED'. */

typedef CGFLOAT_TYPE CGFloat;

so ~ ,一般數(shù)字串(時間戳, 用戶id), 咱們使用 long long 接收就行, 無論32ILP還是64ILP ,都是分配8bytes;
帶小數(shù)的, 就不用CGFloat了, 用C語言的float / double就行, 在 32ILP/64ILP 都一樣

另外,sunny大神的博文64-bit Tips

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市沪铭,隨后出現(xiàn)的幾起案子壮池,更是在濱河造成了極大的恐慌,老刑警劉巖杀怠,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件椰憋,死亡現(xiàn)場離奇詭異,居然都是意外死亡赔退,警方通過查閱死者的電腦和手機橙依,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來硕旗,“玉大人窗骑,你說我怎么就攤上這事∑崦叮” “怎么了创译?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長浪读。 經常有香客問我昔榴,道長,這世上最難降的妖魔是什么碘橘? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任互订,我火速辦了婚禮,結果婚禮上痘拆,老公的妹妹穿的比我還像新娘仰禽。我一直安慰自己,他們只是感情好纺蛆,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布吐葵。 她就那樣靜靜地躺著,像睡著了一般桥氏。 火紅的嫁衣襯著肌膚如雪温峭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天字支,我揣著相機與錄音凤藏,去河邊找鬼奸忽。 笑死,一個胖子當著我的面吹牛揖庄,可吹牛的內容都是我干的栗菜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼蹄梢,長吁一口氣:“原來是場噩夢啊……” “哼疙筹!你這毒婦竟也來了?” 一聲冷哼從身側響起禁炒,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤而咆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后幕袱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體翘盖,經...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年凹蜂,在試婚紗的時候發(fā)現(xiàn)自己被綠了馍驯。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡玛痊,死狀恐怖汰瘫,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情擂煞,我是刑警寧澤混弥,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站对省,受9級特大地震影響蝗拿,放射性物質發(fā)生泄漏。R本人自食惡果不足惜蒿涎,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一哀托、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧劳秋,春花似錦仓手、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至补履,卻和暖如春添坊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背箫锤。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工贬蛙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留驰弄,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓速客,卻偏偏與公主長得像,于是被迫代替她去往敵國和親五鲫。 傳聞我的和親對象是個殘疾皇子溺职,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內容