你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS10適配和Xcode8應用須要留意的那些坑

iOS10適配和Xcode8應用須要留意的那些坑

編輯:IOS開發綜合

如今在蘋果的官網上,我們曾經可以下載到Xcode8的GM版本了,加上9.14日清晨,蘋果就要正式推出IOS10體系的推送了,在此之際,IOS10的適配曾經火燒眉毛啦,不曉得Xcode8 beat版本,童鞋們有木有下載過去嘗嘗呢?就我的應用來講,整體認為蘋果照樣坑赓續,然則也在一向提高的啦。上面我就來講說,IOS10的適配和Xcode8應用上的一些留意點。 

1、證書治理

用Xcode8翻開工程後,比擬顯著的就是下圖了,這個是蘋果的新特征,可以贊助我們主動治理證書。建議年夜家勾選這個Automatically manage signing(Ps.然則在beat2版本我用的時刻,完整弗成以,GM版本居然奇異的又好了。)

上面我來講說能夠會湧現的成績:

1.Xcode未設置開辟者賬號情形下的截圖


處理方法是:年夜家在Xcode的偏好設置中,添加蘋果賬號,便可。

2.裝備機械未添加進開辟者的Device情形下的截圖

處理方法是:年夜家在官網將裝備添加進開辟機後,陪下描寫文件從新下個描寫文件便可。

3.正常情形:Xcode設置裝備擺設登錄開辟者賬號後的圖片,耐煩期待便可。

期待完成以後的圖

2、Xib文件的留意事項

應用Xcode8翻開xib文件後,會湧現下圖的提醒。


年夜家選擇Choose Device便可。
以後年夜家會發明結構啊,frame亂了,只須要更新一下frame便可。以下圖

留意:假如按下面的步調操作後,在用Xcode7翻開Xib會報一下毛病,

處理方法:須要刪除Xib外面
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
這句話,和把< document >中的toolsVersion和< plugIn >中的version改成你正常的xib文件中的值
,不外不建議這麼做,在Xcode8出來後,願望年夜家都疾速上手,全員更新。這就跟Xcode5到Xcode6一樣,有更改,然則照樣要盡早進修,盡快順應喲!

3、代碼及Api留意

應用Xcode8以後,有些代碼能夠就編譯不外去了,詳細我就說說我碰著的成績。

1.UIWebView的署理辦法:
**留意要刪除NSError後面的 nullable,不然報錯。

- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error
{
 [self hideHud];
}


4、代碼正文不克不及用的處理方法

這個是由於蘋果處理xcode ghost,把插件屏障了。
處理辦法
翻開終端,敕令運轉: sudo /usr/libexec/xpccachectl
然後必需重啟電腦後失效

留意:Xcode8內置了開啟正文的功效,地位在這裡

快捷鍵的設置在這裡

貌似Xcode8撤消了三方插件的功效,詳細可以查閱下Xcode8 Source Editor

5、權限和相干設置

留意,添加的時刻,末尾不要有空格
我們須要翻開info.plist文件添加響應權限的解釋,不然法式在iOS10上會湧現瓦解。
詳細以下圖:

麥克風權限:Privacy - Microphone Usage Description 能否許可此App應用你的麥克風?
相機權限: Privacy - Camera Usage Description 能否許可此App應用你的相機?
相冊權限: Privacy - Photo Library Usage Description 能否許可此App拜訪你的媒體材料庫?通信錄權限: Privacy - Contacts Usage Description 能否許可此App拜訪你的通信錄?
藍牙權限:Privacy - Bluetooth Peripheral Usage Description 能否許允此App應用藍牙?

語音轉文字權限:Privacy - Speech Recognition Usage Description 能否許可此App應用語音辨認?
日歷權限:Privacy - Calendars Usage Description 能否許可此App應用日歷?

定位權限:Privacy - Location When In Use Usage Description 我們須要經由過程您的地輿地位信息獲得您周邊的相干數據
定位權限: Privacy - Location Always Usage Description 我們須要經由過程您的地輿地位信息獲得您周邊的相干數據
定位的須要這麼寫,避免上架被拒。

6、字體變年夜,原有frame須要適配

經有的同伙提示,發明法式內本來2個字的寬度是24,如今2個字須要27的寬度來顯示了。。
願望有處理方法的同伙,評論告我一下耶,感謝啦

7、推送

以下圖的部門,不要忘卻翻開。一切的推送平台,不論是極光照樣甚麼的,要想收到推送,這個是必需翻開的喲✌️

以後就應當可以收到推送了。別的,極光推送也推出新版本了,年夜家也能夠更新下。

PS.蘋果此次對推送做了很年夜的變更,願望年夜家多查閱查閱,處置推送的署理辦法也變更了。

// 推送的署理
[<UNUserNotificationCenterDelegate>]

iOS10收到告訴不再是在

[application: didReceiveRemoteNotification:]辦法行止理, iOS10推出新的署理辦法,吸收和處置各類告訴(當地或許長途)

- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler { //運用在前台收到告訴 NSLog(@"========%@", notification);}- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler { //點擊告訴進入運用 NSLog(@"response:%@", response);}

稍後我會更新文章,對推送做一個具體的講授。

8.屏障混亂無章的bug

更新Xcode8以後,新樹立工程,都邑打印一堆莫明其妙看不懂的Log.
如這些

subsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1,

屏障的辦法以下:
Xcode8裡邊 Edit Scheme-> Run -> Arguments, 在Environment Variables裡邊添加
OS_ACTIVITY_MODE = Disable

假如寫了以後照樣打印log,請從新勾選對勾,便可以處理了

Ps.斟酌到添加上述內容在Xcode8後,真機調試能夠湧現異常,年夜家可以自界說一個宏界說,來做日記輸入。

#ifdef DEBUG

#define DDLOG(...) printf(" %s\n",[[NSString stringWithFormat:__VA_ARGS__]UTF8String]);
#define DDLOG_CURRENT_METHOD NSLog(@"%@-%@", NSStringFromClass([self class]), NSStringFromSelector(_cmd))

#else

#define DDLOG(...) ;
#define DDLOG_CURRENT_METHOD ;

#endif

以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐本站。

【iOS10適配和Xcode8應用須要留意的那些坑】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved