Xcode7 GM Seed (iOS9) 遇到的問題

2015/09/11
~ 阿亮 ~

今天(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. 原本可以連線,在 Xcode7 編譯後的 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 是預設只准許安全連線 (https://) 的,做法有三種,一種就改支援安全連線,一種可以設定特定網址 來使用原本的 http:// 連線,另一種就是在 Info.plist 加上以下參數,即讓「所有網域」皆可直接使用。

NSAppTransportSecurity (Dictionary) + 下層的 NSAllowsArbitraryLoads (Boolean, YES).

0911_002

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

 

3. Archive 後的 Binary,upload/sumbit 到 itunesconnect 時,若會有類似以下的訊息

“Invalid Bundle. iPad Multitasking support requires these orientations:XXXX”

“Invalid Bundle. iPad Multitasking support requires launch story board in bundle ‘tw.doitwell.CultureFlash'”

這是因為 iOS9 開始支援 iPad 的多工以及動態變化的分割畫面 (SplitView),二種做法,一種是改寫支援新的功能,另二種是在 Target >> General 將 “Requires full screen” 打勾,表示保留成舊有單一畫面沒有分割畫面形式,重新編譯 Archive 即可。

0919_004

4. 另外一個不是程式問題,但會影響 UI 的,iOS9 的預設字體又改了,粗體會很粗,可能需要注意一下。調成 “Medium” or “SemiBold” 會比較接近原本的粗細度,iOS9 下的 “Bold” 會變很粗。

 

 



站內搜尋



本站其他服務

本站其他軟體



  • 下一班高鐵 (nextTHSR)

    這個 app 只要開啟後,就根據定位幫你過濾出最近高鐵站的時刻表,不用再按任何按鈕了,方便您在很快時間內確定要坐的哪一班高鐵


  • 下一台單車(NextBike)

    打開定位即搜尋附近二十點自行車站點,不塞滿全部站點資料到整個地圖上,所以畫面簡潔方便看清楚目前所在地,若需要搜尋地圖其他位置附近站點,再點擊地圖即可。


  • 當令蔬果花卉(AgriInfo)

    是不是常常在超市看到水果蔬菜的價格,總是不確定是當季蔬果?這個服務就是幫你很快判斷眼前的蔬果花卉的價格是否便宜。


  • 臉書粉絲專頁搜尋 (FPSearch)

    不用登入臉書即可搜尋臉書粉絲專頁(臉書粉絲團)所公開的文章。您可以指定特定日期範圍之前的文章,也可設定搜尋粉絲專頁內包含特定關鍵詞的文章。


  • 油價快訊App (OilPrices)

    依據油價及匯率,估算台灣下週油價,另外提供三週、一年以及三年的歷史變化,以及週末下午推播通知最新油價預估或公告。


  • 下一班公車(nextBus)

    這個 app 只要開啟後,就根據定位幫你過濾出附近站牌的時刻表,以及提供相關公車預計到站的時間,方便您在很快時間內確定要坐的哪一班公車