1、首先是使用藍(lán)牙相關(guān)的民珍,CBCentralManagerState廢棄襟士,使用CBManagerState替代。
CBCentralManager直接繼承與CBManager嚷量,里面直接聲明的屬性:
@property(nonatomic, assign, readonly) CBManagerState state;
2陋桂、webView的代理方法:
- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError*)error
此處修飾詞應(yīng)該改為nonnull,因此直接去掉修飾詞nullable即可蝶溶。
3嗜历、運(yùn)行工程,控制臺(tái)輸出許多無關(guān)日志抖所,去掉的方法:
Edit Scheme -> Run -> Arguments, 在Environment Variables里邊添加 OS_ACTIVITY_MODE = disable
其實(shí)這樣的話會(huì)導(dǎo)致真機(jī)的情況下不輸出日志了梨州,當(dāng)然可以重新宏定義print來代替?zhèn)鹘y(tǒng)nslog,也可以取消這個(gè)參數(shù)前面的對勾田轧,權(quán)衡利弊暴匠,自己衡量。
4傻粘、openURL的方式被遺棄每窖,使用其替換方法:
openURL:options:completionHandler:
根據(jù)他的介紹帮掉,這是一個(gè)異步的過程,相對于返回一個(gè)值岛请,使用block來處理結(jié)果會(huì)更好旭寿。
為空的情況下options傳個(gè)空字典即可。
[[UIApplicationsharedApplication]openURL:URLoptions:@{}completionHandler:nil];
options目前可傳入?yún)?shù)Key在UIApplication頭文件只有一個(gè):UIApplicationOpenURLOptionUniversalLinksOnly,其對應(yīng)的Value為布爾值,默認(rèn)為False.如該Key對應(yīng)的Value為True,那么打開所傳入的Universal Link時(shí),只允許通過這個(gè)Link所代表的iOS應(yīng)用跳轉(zhuǎn)的方式打開這個(gè)鏈接,否則就會(huì)返回success為false,也就是說只有安裝了Link所對應(yīng)的App的情況下才能打開這個(gè)Universal Link,而不是通過啟動(dòng)Safari方式打開這個(gè)Link的代表的網(wǎng)站.
[applicationopenURL:URLoptions:@{UIApplicationOpenURLOptionUniversalLinksOnly:@YES}completionHandler:nil];
5崇败、注釋快捷鍵?+/失效
這個(gè)是因?yàn)樘O果解決xcode ghost盅称。把插件屏蔽了。
解決方法:命令運(yùn)行 sudo /usr/libexec/xpccachectl
然后必須重啟電腦后生效后室。
6缩膝、在控制臺(tái)中輸出程序啟動(dòng)的時(shí)間方式:
再scheme中添加環(huán)境變量,并置為1岸霹,即可打印出程序啟動(dòng)過程中各個(gè)階段所消耗的時(shí)間疾层。
7、使用最新的通知框架UserNotifications.framework贡避,添加之后運(yùn)行在iOS8.4的模擬器下面痛黎,會(huì)出現(xiàn)報(bào)錯(cuò):
dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserNotifications
Referenced from:
/Users/home/Library/Developer/CoreSimulator/Devices/1A4A17BC-C24B-4793-A316-A1CB2A6FB236/data/Containers/Bundle/Application/89E0C059-2724-4A6D-ACE7-4C1CDC661BA0/demo.app/demo
Reason: image not found
原因就是低版本的SDK庫不含有該庫文件,解決方法就是在Xcode的Build Phases頁刮吧,Link
Binary With
Libraries下添加的最新的.framework動(dòng)態(tài)庫或是.a靜態(tài)庫后面的status湖饱,將Required改為Optional,然后在程序代碼中去動(dòng)態(tài)判斷用戶版本杀捻,來啟動(dòng)對應(yīng)的新功能井厌。
8、蘋果官方在真機(jī)的情況下屏蔽了nslog的輸出致讥,想要查看得使用系統(tǒng)的控制臺(tái)仅仆,明擺著不合常理嘛,幸好的是print函數(shù)還依舊堅(jiān)挺垢袱。
#ifndef __OPTIMIZE__
#define DLog(...) printf("%s - %d: %s\n", __func__, __LINE__, [[NSString stringWithFormat:__VA_ARGS__]UTF8String]);
#endif
其中墓拜,__OPTIMIZE__ 是release 默認(rèn)會(huì)添加的宏。
有新問題的可以在下面留言请契,我會(huì)統(tǒng)一添加進(jìn)去撮弧,避免大家再次踩坑。