原文鏈接
作者:C4 開源項目
譯者:Crystal Sun
全部章節(jié)請關(guān)注此文集C4教程翻譯
校對后的內(nèi)容請看這里
這是本文集的最后一篇文章灾螃,也是教程里的最后一篇文章季春,看到這里蜻牢,估計對如何使用 C4狭郑,已經(jīng)有了一個大體的了解了罪既。
最后一個任務(wù)是將 COSMOS 提交到應(yīng)用市場铸题。
Profiling 配置文件
第一步是給應(yīng)用配置文件,在 Xcode 中琢感,點(diǎn)擊
CM+I
…或者選擇:Product > Profile

這樣就打開了 Instruments丢间。
選擇 Allocations 工具然后運(yùn)行 App。

App 啟動了驹针,我隨便用了一會烘挫,接著我停止了 Profiling,看看哪些地方的分配增長了柬甥,增長了多少等等……

我還是簡單解釋一下比較好:
我看到總的分配數(shù)非常多饮六,不過只有 23.5 MB 是持久性分配,這些分配都在 All Heap & Anonymous VM 里苛蒲。
進(jìn)入 All Heap & Anonymous VM卤橄,把這些分配按照自身大小排序。
排在第一位的分配是 16 MB臂外,不過看起來像是系統(tǒng)自帶的東西虽风,所以我暫時先不管它棒口。
接下來第二位的分配看起來像是圖片、音頻文件辜膝,然后從這之后分配的大小就變得非常小了(到了第十一行无牵,都小于 100 kb)。
我知道我放了一個很大的啟動圖片厂抖,還有很多小的星星圖片以及裝飾圖片茎毁,等等。所以忱辅,31 MB 比較正常無需我擔(dān)心七蜘,可以繼續(xù)往下操作了。
接著運(yùn)行 Leaks墙懂,結(jié)果沒有發(fā)生什么有趣的事情橡卤。
我分析了一下 App,Xcode 沒有給我警告损搬,也沒有提示有潛在的問題……

所以碧库,我現(xiàn)在十分確定,我可以把應(yīng)用上傳到應(yīng)用市場上了巧勤。
iTunes Connect
我用我的開發(fā)者帳號登錄 ?iTunes Connect嵌灰,選擇 My Apps。

接下來創(chuàng)建新的 App……

開始填寫所需的信息……

……不過當(dāng)我填寫到 Bundle ID 部分時颅悉,我想起來我還沒有給 App 設(shè)置相關(guān)代碼呢沽瞭。
App ID & Profile
所以我登錄我的開發(fā)者帳號,創(chuàng)建一個新的 App ID……

……它的 identifier 是 com.c4ios.COSMOS剩瓶。

接著我創(chuàng)建了新的 provisioning profile驹溃,用來分發(fā)到應(yīng)用市場……

這個 App ID 也就是剛剛我創(chuàng)建的那個 App……

Xcode
回到 Xcode,打開菜單欄上的 prferences延曙,點(diǎn)擊 Accounts吠架。雙擊我的賬戶,看到 Xcode 已經(jīng)看到了我剛剛在網(wǎng)上創(chuàng)建的新的配置文件了搂鲫。

點(diǎn)擊配置文件旁邊的 download 按鈕,下載安裝磺平,然后找到 Build Settings魂仍,在 Code Signing 部分,把配置文件改成 COSMOS……

接著拣挪,我把 code signing identity 改成我的主賬號……

然后擦酌,我嘗試 Archive 該工程,不過我收到了錯誤警告菠劝,說我的 Bundle Identifier 是錯誤的赊舶。
所以,到工程的 .plist 文件中把 bundle identifier 改成我在 provisioning profile 時使用的那個。

……到工程的 Build Settings 中的 Packaging 完成同樣的操作……

再次 archive 工程笼平,又收到了另外一個錯誤警告园骆,說:
Entitlements file do not match those specified in your provisioning profile.(0xE8008016)
所以,我到 Stack Overflow 上搜索一下如何解決這個問題……
關(guān)于 Entitlements Issue 的答案
看完答案后我回到 Xcode寓调,更新工程里的 Capabilities 部分中的 Game Center 和 In-app Purchases……

這樣看起來好像解決問題了锌唾,我模糊記得這兩個部分的 App ID 默認(rèn)值就是我創(chuàng)建的(我不能不選它們)。

所以夺英,再次 archive……

這次成功了晌涕,不過,當(dāng)我上傳到應(yīng)用市場時痛悯,我又收到了一個錯誤提示:

所以余黎,我把設(shè)置中的 version 改成 1.2……

archive 然后再次上傳,看起來好像成功了载萌!

接著惧财,上傳完成,我還是收到了錯誤警告……

我覺得炒考,這個警告的意思是可缚,發(fā)現(xiàn)這個 App 使用了自定義的 C4 API,需要有人來審核一下我的 App斋枢,因為到目前位置帘靡,機(jī)器還沒有比人類更聰明。
iTunes Connect (again)
所以瓤帚,我回到 iTunes Connect描姚,檢查我剛剛上傳的 App 的狀態(tài)。

上面說 App 目前處于 “Processing” 的狀態(tài)戈次,我不明白這是什么意思……不過我知道轩勘,我得等待一段時間了。
所以怯邪,我開始寫出詳細(xì)步驟……
當(dāng)我寫完這部分時绊寻,我看到狀態(tài)已經(jīng)不是 processing 了。

我選擇 new build悬秉,然后更新 Test 信息澄步。

刪除舊版本的 COSMOS,從 App Store 的 tab 頁上選擇 new build和泌。


然后把版本號改成 1.2村缸,提交申請。
出現(xiàn)一些確認(rèn)信息的對話框武氓,然后 App 上傳了梯皿,等待人工審核仇箱。

這是星期天的下午……
Launch
COSMOS 在我提交申請到幾天后通過了審核,我們需要時間來建設(shè)我們的網(wǎng)站东羹,在 11 月 23 日剂桥,我們上線了。
注釋解釋:
- 我并不是現(xiàn)在寫的這篇文章百姓,因為我在六月份的時候上傳過一個版本渊额。不過,我想添加這一步以供你參考垒拢,之前的應(yīng)用是用舊版本的 C4 寫的旬迹,所以我需要徹底重寫代碼……現(xiàn)在已經(jīng)十月了。
- 我實際上做的是1.1求类,不過我還是得到了同樣的錯誤警告奔垦,因為這里已經(jīng)有了1.1了,就是六月份發(fā)布的那個版本尸疆,我忘了這個版本了椿猎。
- 一旦你看到上傳的進(jìn)度條,就意味著你終于把設(shè)置對了相關(guān)信息寿弱,App 可以上傳了犯眠。
- 我截屏了,所以在上傳的這段時間症革,我可以用來寫這篇文章筐咧。
本文由 SwiftGG 翻譯組翻譯,已經(jīng)獲得作者翻譯授權(quán)噪矛。