2015年9月11日

Xcode7 GM Seed (iOS9) 遇到的問題

今天(2015.09) Xcode7 GM Seed 釋出了,開始動工來做升級測試了,不意外地,會遇到一些問題地... >"<


1. 編譯可能會遇到以下錯誤訊息
libGoogleAnalyticsServices.a(TAGDataProvider.o)' does not contain bitcode.

這是因為 iOS9 之後開始支援 App Thinning 的做法, 簡單講就是在不同的平台下,在下載時 Apple 端會根據 compile 後的 bitcode 自動拆分成該平台所需程式部份即可,而不是整包程式下載,以減少程式佔的記憶體量。

當然,如果引用 Cocoapods 等第三方 library,也要它們有支援 bitcode,就我現在遇到的就是 Google Analytics 目前沒有支援,兩種做法,一種是拔掉不再用它,一種就是 Target Project 先將 bitcode disable 吧. 等所有 library 都有支援了,再來 enable 吧,缺點就是 App 會一直肥大著,瘦不下來。
0911_001

 

 

2. App 原本可以連線,會變成不能連線,而且會有類似以下的訊息
The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

這是因為 iOS9 後,預設的連線API, 比如 NSURLConnection, CFURL, or NSURLSession 是預設為安全連線的,做法有兩種,一種可以設定特定網址來使用,另一種就是在 Info.plist 加上以下參數,即讓「所有網域」皆可直接使用。
NSAppTransportSecurity (Dictionary) + 下層的 NSAllowsArbitraryLoad (Boolean, YES).

0911_002

這樣應該就可以恢復連線了。

 

Orignal From: Xcode7 GM Seed (iOS9) 遇到的問題