Just My Life & My Work

Posts tagged ‘xcode’

[iOS] App 預設語言 (App Default Language)

我App中有三個Localization,分別是:

  • 繁體中文
  • 簡體中文
  • 英文

使用者可以在這三個隨意切換,來顯示他想要的語言介面。

三年前已有實現過多國語言化的預設語言 (Default (Fallback) Language of Localization),不過那篇文章我是有寫code,這次只要調整專案中的Info.plist即可!

[iOS] App預設語言.PNG

調整過後,我切換到日語(SIM字眼旁是日文),App介面語言是英文喔~

(繼續閱讀…)

[Xcode] 安裝舊版Xcode

每次更新Xcode版本後,多少會出現一些不預期的狀況,如果時間緊迫的話,建議是先回歸到舊版Xcode來開發。那要如何安裝舊版Xcode?只要透過手動下載,新版和舊版的Xcode還能並存呢~畢竟從App Store下載來的軟體,一更新就無法降回原先的版本。

安裝舊版Xcode.png

Apple Developer軟體下載:Downloads for Apple Developers,要先登入Apple帳號才能進去喔~

剛好有用Cordova開發iOS App的朋友詢問,我在此做個紀錄。通常我會保留前一個版本的Xcode,以防新版Xcode出現問題時,還能轉用舊版Xcode繼續開發。

參考:如何安裝舊版Xcode? 如何在舊版Mac OS

[iOS] 支援多語系 App 名稱

正在開發跨國使用的iOS App,所以App名稱最好也能跟著變更,來讓當地使用者看到App名稱更輕易地辨識。

[iOS] 支援多語系 App 名稱1

可以見到我的Info.plist檔中有五處是中文字,想要多國語言化可以怎麼做?其實也跟幾年前我寫的多國語言化很類似,參考文章:多國語系 (Localization)

(繼續閱讀…)

[iOS] 上傳App到App Store問題

最近幫公司準備送審App,發現一個之前沒遇到的問題:Too many symbol files

DSYM00002 (繼續閱讀…)

[iOS] Bitcode 問題

2015年有介紹過位元代碼 (Bitcode),儘管沒有很關注它的發展,偶爾卻會在編譯的時候有Bitcode問題

編譯後出現錯誤訊息:

Invalid bitcode signature

已經刪除暫存檔(Derived Data),和關閉啟用Bitcode,還是無法解決此問題。最後上網搜尋前人經驗,才發現可以透過Build Active Architecture Only設為Yes,就能成功編譯!

想起Debug時就有調整設定過,沒想到Release又遇到同樣的坑,所以這次就記錄一下吧!然後就要把版本發給老大測試囉~

參考:Invalid bitcode signature,你們有有沒有遇到這個問題?

[iOS] 編譯錯誤問題

第二次遇到類似的編譯錯誤問題,居然還讓我花些時間debug,只好把握時間記錄下來,這樣就能避免再次浪費時間除錯啦~

iOS 編譯錯誤問題00002

(繼續閱讀…)

iPhone X 模擬器

台灣時間9/13凌晨1點,Apple的特別活動就是發表最新的iPhone,這一次同時發布三支iPhone:iPhone 8、iPhone 8 Plus、iPhone X

到公司後,立馬下載Xcode 9 GM,來體驗iPhone X 模擬器的呈現效果。就以我最近正在開發的自製遊戲-抓神魔獸為例。

(繼續閱讀…)

Mac無法存取iPhone

遇到一個棘手的問題,原以為重開筆電或手機就可以解決,沒想到會需要點技巧!

想透過iTunes存取iPhone,但是出現以下訊息:

iTunes could not connect to this iPhone. Could not allocate a resource.

想透過Xcode編譯App安裝到iPhone上,不過出現如下訊息:

Your iPhone is not available. Please select a different device and try again.

(繼續閱讀…)

[iOS] Cocoapods 多個 Target

有時候同一個專案(Project)需要建立不同的目標(Target),因為可以各自設定屬性狀態,讓code可以依據釋出版(Release)開發版(Debug)來運作。

cocoapod xcode target.png

此時若有使用Cocoapods來管理第三方套件

(繼續閱讀…)

[iOS] 版本號:Version和Build

一個有在更新版本的App,有時候需要判斷版本號,在Xcode中的設定有VersionBuild,有個別的用途,端視開發者怎麼定義。

Xcode Build Number2

那麼程式中如何取得這兩個值?

Version:在plist文件中的key是“CFBundleShortVersionString”,標識應用程序的發布版本號,和AppStore上的版本號保持一致。該版本的版本號是三個分隔的整數組成的字串。第一個整數代表重大修改的版本,比如實現新的功能或是重大變化的修訂。第二個整數表示修訂版本,實現比較突出的特點。第三個整數代表維護版本。

Build:在plist文件中的key是“CFBundleVersion”,標示(發布或者未發布)的內部版本號。這是一個單調增加的字符串,包括一個或者多個分割的整數。

To get App version:

NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];

To get Build version:

NSString *buildVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];

儘管有普遍的定義,還是能自己決定怎麼定義版本字串,像Build我就會用當天日期定義。

參考:How can my iphone app detect its own version number?自動更改建置號碼iOS项目中的version和build、。

標籤雲