升級(jí)Xcode8后項(xiàng)目問(wèn)題解決(持續(xù)總結(jié))

1.輸出log日志關(guān)閉

Xcode8運(yùn)行項(xiàng)目之后瓦哎,控制臺(tái)打印了好多l(xiāng)og輸出,根據(jù)如下操作可以關(guān)掉這些log日志,點(diǎn)擊項(xiàng)目Edit Scheme或者按command + shift + <快捷鍵。在彈出的窗口中選擇Run ->Arguments -> Environment Variables里添加:Name:OS_ACTIVITY_MODE Value:disable

輸出log日志關(guān)閉

解決了問(wèn)題之后较曼,是不是趕腳心里舒服多了,亂七八糟的輸出不見(jiàn)了振愿,但是在我們用真機(jī)調(diào)試的時(shí)候捷犹,NSLog也不工作了。我們?cè)谳敵龃翱诳床坏轿覀兿胍娜罩玖恕?/strong>

定義一個(gè)宏即可

#ifdef DEBUG
#define CLLog(format, ...) printf("[%s] %s [第%d行] %s\n", __TIME__, __FUNCTION__, __LINE__, [[NSString stringWithFormat:format, ## __VA_ARGS__] UTF8String]);
#else
#define NSLog(format, ...)
#endif

2.Command +/ 快捷鍵注釋代碼快捷鍵不能用

在終端輸入
sudo /usr/libexec/xpccachectl重啟電腦即可

3.LaunchScreen.storyboard: The document “(null)” requires Xcode 8.0 or later

1) 打開(kāi)storyboard, 右鍵點(diǎn)擊,點(diǎn)擊source Control - > commit
2)刪除這行代碼:
<capalibility name="documents saved in the Xcode 8 format"> minToolsVersion=8.0/>
3)刪除所有你要用到的storyboard的里面的整個(gè)行代碼,提交.
4)重新運(yùn)行程序,問(wèn)題解決.
同樣, xib文件遇到類似報(bào)錯(cuò),也是這樣解決.
或者:
Xcode8 打開(kāi)StoryBoard冕末,如圖所示,Open in 改為7.X即可:

Open in 改為7.X

4.字體變大伏恐,原有的fream需要適配,只能逐一排查啦

5.Nib問(wèn)題:警告

- (void)awakeFromNib {
// Initialization code
}

需要添加:
[super awakeFromNib];

6.系統(tǒng)判斷失效

現(xiàn)在改用:

#define IOS10_OR_LATER  ([[[UIDevice currentDevice] systemVersion] compare"10.0" options:NSNumericSearch] != NSOrderedAscending)

7.程序調(diào)用相機(jī)和相冊(cè)程序崩潰Crash

在iOS10中栓霜,如果你的App想要訪問(wèn)用戶的相機(jī)、相冊(cè)横蜒、麥克風(fēng)胳蛮、通訊錄等等權(quán)限,都需要進(jìn)行相關(guān)的配置丛晌,不然會(huì)直接crash.

崩潰日志如下:
This app has crashed because it attempted to access privacy-sensitive data without a usage description.The app’s Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

  • 意思試圖訪問(wèn)安全隱私數(shù)據(jù)仅炊,但是又沒(méi)有相應(yīng)的描述,你必須要包含在info.plist里包含一個(gè)鍵值 NSPhotoLibraryUsageDescription對(duì)應(yīng)的描述澎蛛。
  • 其實(shí)上面是iOS10抚垄,蘋果加強(qiáng)了對(duì)隱私數(shù)據(jù)的保護(hù),要對(duì)隱私數(shù)據(jù)權(quán)限做一個(gè)適配iOS10調(diào)用相機(jī)谋逻,訪問(wèn)通訊錄呆馁,訪問(wèn)相冊(cè)等都要在info.plist中加入權(quán)限訪問(wèn)描述,不然之前你們的項(xiàng)目涉及到這些權(quán)限的地方就會(huì)直接crash掉毁兆。

需要在info.plist中添加App需要的一些設(shè)備權(quán)限:

訪問(wèn)藍(lán)牙:NSBluetoothPeripheralUsageDescription
訪問(wèn)日歷:NSCalendarsUsageDescription
相機(jī):NSCameraUsageDescription
相冊(cè):NSPhotoLibraryUsageDescription
通訊錄:NSContactsUsageDescription
始終訪問(wèn)位置:NSLocationAlwaysUsageDescription
位置:NSLocationUsageDescription
在使用期間訪問(wèn)位置:NSLocationWhenInUseUsageDescription
麥克風(fēng):NSMicrophoneUsageDescription
訪問(wèn)媒體資料庫(kù):NSAppleMusicUsageDescription
訪問(wèn)健康分享:NSHealthShareUsageDescription
訪問(wèn)健康更新:NSHealthUpdateUsageDescription
訪問(wèn)運(yùn)動(dòng)與健身:NSMotionUsageDescription
訪問(wèn)提醒事項(xiàng):NSRemindersUsageDescription

8.如果你的項(xiàng)目中使用了MJRefresh浙滤,并且不是最新版本的,就會(huì)直接崩潰:

只要將MJRefresh更新到最新版本就行了气堕。簡(jiǎn)單粗暴

9.在用模擬器進(jìn)行調(diào)試的時(shí)候纺腊,會(huì)莫名的輸出

這個(gè)輸出不影響調(diào)試畔咧,也不影響程序運(yùn)行。

模擬器調(diào)試問(wèn)題

原因:是在這兩個(gè)路徑下有兩個(gè)模擬器包文件揖膜,并且這兩個(gè)包文件中都包含了PhotoLibraryServices文件誓沸,模擬器不知道使用哪個(gè)文件了。在真機(jī)上就不會(huì)出現(xiàn)這種情況壹粟。

解決方法:這兩個(gè)模擬器包文件誰(shuí)都不可以刪除拜隧,刪除誰(shuí)都會(huì)報(bào)錯(cuò),確切的說(shuō)刪除iPhoneSimulator10.0.sdk這個(gè)包文件會(huì)報(bào)錯(cuò)煮寡,另一個(gè)不能在模擬器上運(yùn)行了虹蓄。我得到的結(jié)果是:這可能是模擬器的bug,也可能是我電腦上安裝了兩個(gè)版本的Xcode.所以可以忽略這個(gè)警告.

10.跳轉(zhuǎn)到app內(nèi)的隱私數(shù)據(jù)設(shè)置頁(yè)面

我們知道用戶沒(méi)開(kāi)啟權(quán)限的話要提醒用戶去設(shè)置開(kāi)啟幸撕,所以要跳轉(zhuǎn)到app的隱私數(shù)據(jù)界面薇组。如何調(diào)用呢,可以定義一個(gè)宏方便調(diào)用:

UIKIT_EXTERN NSString *const UIApplicationOpenSettingsURLString
NS_AVAILABLE_IOS(8_0);

//-----------------------系統(tǒng)權(quán)限設(shè)置路徑(iOS8以后適用)--------------
// 設(shè)置url
#define SettingURL [NSURL URLWithString:UIApplicationOpenSettingsURLString]
// 調(diào)到設(shè)置
#define GoToSetting if([[UIApplication sharedApplication] canOpenURL:SettingURL]) {   [[UIApplication sharedApplication] openURL:SettingURL];}}
// 去設(shè)置
if (IOS8_OR_LATER) {
    GoToSetting; 
}

11.真機(jī)調(diào)試問(wèn)題-App installation failed

Xcode 8 無(wú)證書真機(jī)調(diào)試時(shí)免費(fèi)App ID出現(xiàn)的問(wèn)題:


免費(fèi)應(yīng)用程序調(diào)試最大限度

原因:蘋果免費(fèi)App ID只能運(yùn)行2個(gè)應(yīng)用程序,當(dāng)調(diào)試第三個(gè)的時(shí)候就會(huì)報(bào)這個(gè)錯(cuò)誤, 必須把之前的應(yīng)用程序刪除,才能調(diào)試新的

解決方法:連接iPhone 打開(kāi)Xcode--->Window--->Devices刪除不是本次運(yùn)行的應(yīng)用程序即可.

12.***** Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3505.16/UIApplication.m:3294**

原因:

新的SDK不允許在設(shè)置rootViewController之前做過(guò)于復(fù)雜的操作坐儿,導(dǎo)致在didFinishLaunchingWithOptions 結(jié)束后還沒(méi)有設(shè)置rootViewController
Xcode7需要所有UIWindow必須立即先設(shè)置一個(gè)rootViewController

解決辦法:
先設(shè)置個(gè)rootVIewController 之后重新賦值
UIWindow *window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
window.rootViewController = [UIViewController new];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末律胀,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子貌矿,更是在濱河造成了極大的恐慌炭菌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件逛漫,死亡現(xiàn)場(chǎng)離奇詭異黑低,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)酌毡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門克握,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人枷踏,你說(shuō)我怎么就攤上這事菩暗。” “怎么了旭蠕?”我有些...
    開(kāi)封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵停团,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我掏熬,道長(zhǎng)佑稠,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任孽江,我火速辦了婚禮讶坯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘岗屏。我一直安慰自己辆琅,他們只是感情好漱办,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著婉烟,像睡著了一般娩井。 火紅的嫁衣襯著肌膚如雪哎垦。 梳的紋絲不亂的頭發(fā)上葫隙,一...
    開(kāi)封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音码俩,去河邊找鬼昙衅。 笑死扬霜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的而涉。 我是一名探鬼主播著瓶,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼啼县!你這毒婦竟也來(lái)了材原?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤季眷,失蹤者是張志新(化名)和其女友劉穎余蟹,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體子刮,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡威酒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了挺峡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兼搏。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖沙郭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情裳朋,我是刑警寧澤病线,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站鲤嫡,受9級(jí)特大地震影響送挑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜暖眼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一惕耕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧诫肠,春花似錦司澎、人聲如沸欺缘。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)谚殊。三九已至,卻和暖如春蛤铜,著一層夾襖步出監(jiān)牢的瞬間嫩絮,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工围肥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剿干,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓穆刻,卻偏偏與公主長(zhǎng)得像置尔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蛹批,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 因?yàn)橐Y(jié)局swift3.0中引用snapKit的問(wèn)題,看到一篇介紹Xcode8,swift3變化的文章,覺(jué)得很詳細(xì)...
    uniapp閱讀 4,416評(píng)論 0 12
  • 寒蟬不語(yǔ)苦晝短撰洗,夏蟲(chóng)欲爭(zhēng)日日長(zhǎng)。 桐花落盡子規(guī)啼腐芍,明朝花紅仍柳綠差导。 天光乍破吹水皺,周而再使昨日愁猪勇。 夢(mèng)倦雪地聽(tīng)風(fēng)...
    晏追閱讀 161評(píng)論 0 0
  • 圖片來(lái)自“vipabc”设褐,自己學(xué)習(xí)整理。 你的點(diǎn)贊是我分享的動(dòng)力泣刹。
    不阿絕唱閱讀 727評(píng)論 0 0
  • 本文是[TDD磕算法] 我為什么嘗試用TDD解算法題系列的一篇椅您。前情提要見(jiàn)[TDD磕算法] 排排隊(duì)外冀,吃果果(一)失...
    武可閱讀 799評(píng)論 0 0
  • 1.“愛(ài)”的3個(gè)誤區(qū):把愛(ài)當(dāng)成依賴、把愛(ài)自己當(dāng)成愛(ài)別人掀泳、把喜歡和愛(ài)攪混雪隧。 2.“與自己獨(dú)處的能力”: 人在最痛苦的...
    甘澤欣閱讀 611評(píng)論 0 0