iOS 10 開發(fā)新特性搶先看

隨著最近iOS 10的推出,不少蘋果使用者都開始更新到iOS10來體驗(yàn)一把滴劲,針對(duì)新版本的API有很多改動(dòng)的地方,下面將會(huì)對(duì)一些改動(dòng)進(jìn)行總結(jié):

1.通知(Notification)

Notification一直都是蘋果喜歡更改的一個(gè)點(diǎn),不過之前都是很小的改動(dòng)暑椰,iOS10對(duì)其進(jìn)行了大的重構(gòu),改動(dòng)相當(dāng)?shù)拇蠹鼍W儎?dòng)之后更加容易使用一汽,功能也變得更加的強(qiáng)大。

iOS 9以前的通知

1.在調(diào)用方法時(shí)低滩,有些方法讓人很難區(qū)分召夹,容易寫錯(cuò)方法,這讓開發(fā)者有時(shí)候很苦惱恕沫。

2.應(yīng)用在運(yùn)行時(shí)和非運(yùn)行時(shí)捕獲通知的路徑還不一致监憎。

3.應(yīng)用在前臺(tái)時(shí),是無法直接顯示遠(yuǎn)程通知婶溯,還需要進(jìn)一步處理鲸阔。

4.已經(jīng)發(fā)出的通知是不能更新的偷霉,內(nèi)容發(fā)出時(shí)是不能改變的,并且只有簡(jiǎn)單文本展示方式隶债,擴(kuò)展性根本不是很好腾它。

iOS 10的通知

1.所有相關(guān)通知被統(tǒng)一到了UserNotifications.framework框架中。

2.增加了撤銷死讹、更新瞒滴、中途還可以修改通知的內(nèi)容。

3.通知不在是簡(jiǎn)單的文本了赞警,可以加入視頻妓忍、圖片,自定義通知的展示等等愧旦。

4.iOS 10相對(duì)之前的通知來說更加好用易于管理世剖,并且進(jìn)行了大規(guī)模優(yōu)化,對(duì)于開發(fā)者來說是一件好事笤虫。

5.iOS

10開始對(duì)于權(quán)限問題進(jìn)行了優(yōu)化旁瘫,申請(qǐng)權(quán)限就比較簡(jiǎn)單了(本地與遠(yuǎn)程通知集成在一個(gè)方法中)。

2.ATS的問題

iOS 9中默認(rèn)非HTTPS的網(wǎng)絡(luò)是被禁止的琼蚯,當(dāng)然我們也可以把NSAllowsArbitraryLoads設(shè)置為YES禁用ATS酬凳。不過iOS 10從2017年1月1日起蘋果不允許我們通過這個(gè)方法跳過ATS,也就是說強(qiáng)制我們用HTTPS遭庶,如果不這樣的話提交App可能會(huì)被拒絕宁仔。但是我們可以通過NSExceptionDomains來針對(duì)特定的域名開放HTTP可以容易通過審核。

3.iOS權(quán)限設(shè)置問題

iOS 10開始對(duì)隱私權(quán)限更加嚴(yán)格(以前只需要對(duì)位置進(jìn)行配置就ok)峦睡,如果你不設(shè)置就會(huì)直接崩潰翎苫,現(xiàn)在很多遇到崩潰問題了,一般解決辦法都是在info.plist文件添加對(duì)應(yīng)的Key-Value就可以了榨了。

以上Value值煎谍,圈出的紅線部分的文字是展示給用戶看的,需要自己添加規(guī)范的提示說明龙屉,不能為空粱快。

4.Xcode 8運(yùn)行一堆沒用的logs解決辦法

上圖我們看到,自己新建的一個(gè)工程啥也沒干就打印一堆爛七八糟的東西叔扼,我覺得這個(gè)應(yīng)該是Xcode 8的問題,具體也沒細(xì)研究漫雷,解決辦法是設(shè)置OS_ACTIVITY_MODE :disable如下圖:


5.iOS 10 UIStatusBar方法過期:

在我們開發(fā)中有可能用到UIStatusBar一些屬性瓜富,在iOS 10中這些方法已經(jīng)過期了,如果你的項(xiàng)目中有用的話就得需要適配降盹。上面的圖片也能發(fā)現(xiàn)与柑,如果在iOS 10中你需要使用preferredStatusBar比如這樣:

//iOS10

- (UIStatusBarStyle)preferredStatusBarStyle{

returnUIStatusBarStyleDefault;

}

6.iOS 10 UICollectionView性能優(yōu)化

隨著開發(fā)者對(duì)UICollectionView的信賴,項(xiàng)目中用的地方也比較多,但是還是存在一些問題价捧,比如有時(shí)會(huì)卡頓丑念、加載慢等。所以iOS 10對(duì)UICollectionView進(jìn)一步的優(yōu)化结蟋,因?yàn)閿⑹銎饋肀容^復(fù)雜耗費(fèi)時(shí)間脯倚,在這里只提供學(xué)習(xí)參考文章如下:

WWDC2016 Session筆記- iOS 10

UICollectionView新特性

7.iOS 10 UIColor新增方法

因?yàn)橹拔覀兌际怯肦GB來設(shè)置顏色,反正用起來也不是特別多樣化嵌屎,這次新增的方法應(yīng)該就是一個(gè)彌補(bǔ)吧推正。所以在iOS

10蘋果官方建議我們使用sRGB,因?yàn)樗阅芨帽Χ瑁矢S富植榕。如果你自己為UIColor寫了一套分類的話也可嘗試替換為sRGB,UIColor類中新增了兩個(gè)Api如下:

+ (UIColor*)colorWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)greenblue:(CGFloat)blue alpha:(CGFloat)alpha NS_AVAILABLE_IOS(10_0);

- (UIColor*)initWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)bluealpha:(CGFloat)alpha NS_AVAILABLE_IOS(10_0);

8.iOS 10 UITextContentType

// The textContentType property is to

provide the keyboard with extra information about the semantic intent of the

text document.

@property(nonatomic,copy) UITextContentType textContentTypeNS_AVAILABLE_IOS(10_0); // default is nil

在iOS 10 UITextField添加了textContentType枚舉尼夺,指示文本輸入?yún)^(qū)域所期望的語義意義尊残。

使用此屬性可以給鍵盤和系統(tǒng)信息,關(guān)于用戶輸入的內(nèi)容的預(yù)期的語義意義淤堵。例如寝衫,您可以指定一個(gè)文本字段,用戶填寫收到一封電子郵件確認(rèn)uitextcontenttypeemailaddress粘勒。當(dāng)您提供有關(guān)您期望用戶在文本輸入?yún)^(qū)域中輸入的內(nèi)容的信息時(shí)竞端,系統(tǒng)可以在某些情況下自動(dòng)選擇適當(dāng)?shù)逆I盤,并提高鍵盤修正和主動(dòng)與其他文本輸入機(jī)會(huì)的整合

9.iOS 10字體隨著手機(jī)系統(tǒng)字體而改變

當(dāng)我們手機(jī)系統(tǒng)字體改變了之后庙睡,那我們App的label也會(huì)跟著一起變化事富,這需要我們寫很多代碼來進(jìn)一步處理才能實(shí)現(xiàn),但是iOS 10提供了這樣的屬性adjustsFontForContentSizeCategory來設(shè)置乘陪。

10.10 UIScrollView新增refreshControl

iOS10以后只要是繼承UIScrollView那么就支持刷新功能:

@property(nonatomic,strong,

nullable)UIRefreshControl*refreshControlNS_AVAILABLE_IOS(10_0)

__TVOS_PROHIBITED;

11.iOS 10判斷系統(tǒng)版本正確姿勢(shì)

判斷系統(tǒng)版本是我們經(jīng)常用到的统台,尤其是現(xiàn)在大家都有可能需要適配iOS

10,那么問題就出現(xiàn)了啡邑,如下圖:


[[UIDevice currentDevice]

systemVersion].floatValue這個(gè)方法也是不靠譜的贱勃,好像在8.3版本輸出的值是8.2,記不清楚了反正是不靠譜的谤逼,所以建議大家用[[UIDevice currentDevice] systemVersion]這個(gè)方法贵扰!

12.Xcode 8插件不能用的問題

大家都升級(jí)了Xcode 8,但是對(duì)于插件依賴的開發(fā)者們流部,一邊哭著一邊去網(wǎng)上尋找解決辦法戚绕。那么下面是解決辦法:讓你的Xcode8繼續(xù)使用插件,但是看到文章最后的解釋枝冀,我們知道如果用插件的話舞丛,可能安全上會(huì)有問題耘子、并且提交審核會(huì)被拒絕,所以建議大家還是不要用了球切,解決辦法總是有的谷誓,比如在Xcode中添加注釋的代碼塊也是很方便的。

13.iOS 10開始項(xiàng)目中有的文字顯示不全問題

Xcode8和Xcode 7.3分別測(cè)試了下吨凑,如下圖:

創(chuàng)建一個(gè)Label然后讓它自適應(yīng)大小捍歪,字體大小都是17最后輸出的寬度是不一樣的,我們?cè)倏匆幌禄持瑁旅娴臄?shù)據(jù)就知道為什么升級(jí)iOS 10之后App中有的文字顯示不全了:


英文字母會(huì)不會(huì)也有這種問題费封?通過測(cè)試,后來發(fā)現(xiàn)英文字母沒有問題蒋伦,只有漢字有問題弓摘。目前只有一個(gè)一個(gè)修改控件解決這個(gè)問題,暫時(shí)沒有其他好辦法來解決痕届。

都是搜集別的大神的東西,一塊學(xué)習(xí)成長(zhǎng)

繼續(xù)更新中………

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末韧献,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子研叫,更是在濱河造成了極大的恐慌锤窑,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚷炉,死亡現(xiàn)場(chǎng)離奇詭異渊啰,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)申屹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門绘证,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人哗讥,你說我怎么就攤上這事嚷那。” “怎么了杆煞?”我有些...
    開封第一講書人閱讀 169,078評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵魏宽,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我决乎,道長(zhǎng)队询,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,979評(píng)論 1 299
  • 正文 為了忘掉前任构诚,我火速辦了婚禮娘摔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘唤反。我一直安慰自己凳寺,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評(píng)論 6 398
  • 文/花漫 我一把揭開白布彤侍。 她就那樣靜靜地躺著肠缨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盏阶。 梳的紋絲不亂的頭發(fā)上晒奕,一...
    開封第一講書人閱讀 52,584評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音名斟,去河邊找鬼脑慧。 笑死,一個(gè)胖子當(dāng)著我的面吹牛砰盐,可吹牛的內(nèi)容都是我干的闷袒。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼岩梳,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼囊骤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起冀值,我...
    開封第一講書人閱讀 40,023評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤也物,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后列疗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體滑蚯,經(jīng)...
    沈念sama閱讀 46,555評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評(píng)論 3 342
  • 正文 我和宋清朗相戀三年抵栈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了告材。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,769評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡竭讳,死狀恐怖创葡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绢慢,我是刑警寧澤灿渴,帶...
    沈念sama閱讀 36,439評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站胰舆,受9級(jí)特大地震影響骚露,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜缚窿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評(píng)論 3 335
  • 文/蒙蒙 一棘幸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧倦零,春花似錦误续、人聲如沸吨悍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽育瓜。三九已至,卻和暖如春栽烂,著一層夾襖步出監(jiān)牢的瞬間躏仇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工腺办, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留焰手,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,191評(píng)論 3 378
  • 正文 我出身青樓怀喉,卻偏偏與公主長(zhǎng)得像书妻,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子磺送,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評(píng)論 2 361

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

  • 因?yàn)橐Y(jié)局swift3.0中引用snapKit的問題,看到一篇介紹Xcode8,swift3變化的文章,覺得很詳細(xì)...
    uniapp閱讀 4,429評(píng)論 0 12
  • Xcode8 及iOS10適配問題匯總 上點(diǎn)干貨驻子,目前得知的一些bug解決匯總: iOS10相冊(cè)相機(jī)閃退bug h...
    每天刷兩次牙閱讀 563評(píng)論 0 5
  • 王巽看著路邊的烤肉攤,想起他第一次吃羊肉串的時(shí)候估灿,雖然這么些年過去了崇呵,當(dāng)時(shí)的酸楚現(xiàn)在想起依然忍不住落淚。 那會(huì)兒馅袁,...
    期期艾艾的舌頭閱讀 359評(píng)論 0 3