2015-02月份開始蘋果app必須支持arm64了,支持以后會有一個問題,
NSInteger變成64位了,和原來的int (%d)不匹配,會報如下warning,
Values of type 'NSInteger' should not be used as format arguments; add an explicit cast to 'long' instead
解決方案:
1,假如number這個值32位足夠了,可以更改數字定義為int 型;
2,強轉型:[NSString stringWithFormat:@"%d", (int)number];
3、32位可能不夠的話:[NSString stringWithFormat:@“%ld", (long)number];
4、[NSString stringWithFormat:@“%@", @(number)];
一勞永逸的辦法:
在如下圖所在的位置的相應的.m文件,雙擊文件, 在其中添加 -Wno-shorten-64-to-32 (這個關鍵在就是讓編譯器忽略 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32_t' (aka 'int') 警告)


關閉整個工程的這種警告:
工程的target有一個 Other Warning Flags ,在其中添加 -Wno-shorten-64-to-32,再重新編譯,哈哈,整個工程中的這種警告全部消失了!!!!