聽從一些前輩的建議,決定還是把已經寫到一半卻累到半死的iOS App來上架
這裡記錄一下上架之前會遇到的一些問題:
首先要先連到 iTune Connect 去新增一個App(當然你需要開發者帳號,也就是付每年$99的費用)
詳細流程參考: http://www.minwt.com/ios/4726.html
關於新增資料上面有一些翻譯可以參考: http://www.csdtn.net/article/2011-01-07/289703
資料都新增完了,就會使用Application Loader 去上傳你寫好的App,不過這裡我發生幾次錯誤,分享給大家.
-
_NSSetlogCstringFunction error on Application loader
-
一開始我以為是NSLog的原因,不過主要的原因是因為跑到debug版本
-
記得到 [Product] —> [Edit Schema] —> Change run to release.
-
正確的包裝app方法為:
-
device —> iOS device
-
[Product] —> [Archive]
-
-
-
Provisioning missing
-
iOS Apps must contain a provisioning profile in a file named embedded.mobileprovision.
-
Provisioning bundle identifier not match
-
這三個問題出現的原因其實都一樣,一般而言讓App上架的方式有兩種:
-
透過Application Loading,然後自己把App包裝起來以後上傳到iTune Connect
-
透過Xcode Organizer 來做validate 與 上傳… 這也是我推薦的方式,因為比較容易看清楚所有的問題所在.
-
接下來我會把我上傳的流程寫清楚(原諒都是文字,放圖實在有點懶)
-
-
參考:
-
使用 XCode Organizer 來遞交App到Store
詳細方式如下:
-
先到 Xcode 裏面Project Property —> [General] —> 把 Bundle Identifier 抄下來.記得把[team] 也先選擇到你的開發者帳號
- ex: com.XXX.youAppName
-
到 iTune Connect 新增App申請,詳細流程可以參考這裡.注意 Bundle ID要跟XCode裡面的相同(就算寫錯了~可以之後修改)
-
到Apple iOS Developer 網站的相關處理:
-
[Certificates, Identifiers & Profiles] —>[Identifiers]—> 新增一個 iOS App ID
-
記得這裡Bundle Identifier 要跟你Xcode設定裡面一樣
-
ex: com.XXX.youAppName
-
-
-
[Certificates, Identifiers & Profiles] —> [Provisioning Profiles] —> 新增一個[Distribution]的 Provisioning
- 這裡的App ID要使用剛剛申請的,這裡最好是一對一的mapping 比較不會有問題.
-
下載 Provisioning 並且點兩下安裝
-
-
到Xcode 準備打包上傳
-
先到Project Property —>[Build Setting] 搜尋 [PROVISIONING PROFILE] —> 將它改成你剛剛下載的Provisioning
-
把device 從模擬器或是手機切換到 [iOS Device]
-
[Product] —> [Archive]
- 如還是有出現問題請參照以上得問題解答
-
這時候就可以做App Validation 跟 Distribute
-
大致流程就是這樣~接下來我的App就等著Apple 審核~~也祝福大家都成功啦….