新到一個公司,之前的蘋果開發人員離職,臨時接手他的蘋果代碼,須要修改並上線到APP STORE. xcode6.0升級到最新的6.1後, 發現各類坑html
1. 路徑配置不對, 這個是我的習慣問題,以前的人都是絕對路徑。一個個的修改,查資料,搞定了。 這裏貼出規則,但願仍是用相對路徑。ios
通常咱們在xcode裏面配置包含工程目錄下頭文件的時候,都要關聯着相對路徑和絕對路徑,若是隻是本身用這個項目,用絕對路徑的問題不大,可是若是你把工程發給別人,別人就要在改這個絕對路徑,這時候絕對路徑的缺點立馬出現。
因此在修改User Header Search Paths這個選項的時候使用
"$(SRCROOT)/當前工程名字/須要包含頭文件所在文件夾"
將上面的雙引號裏面的字符串拷貝以後,你會發現這個「$(SRCROOT)」,會自動變成當前工程因此的目錄。
xcode
這樣就能夠了,發給別人,別人也不用在去修改路徑了。app
2. 沒法提交到APP,提示圖片找不到,還有就是出現的Error ITMS-9000問題。dom
檢查後發現是XCODE6升級後提交的圖標須要放到 images.xcassets中,並制定不一樣的設備系統。iphone
而後Images.xcassets裏面的AppIcon中的CarPlay刪掉就能夠了ide
3. 附上完整提交APP的流程工具
1、證書的導出測試
1.一、前期工做 url
首先你須要有一個蘋果的開發者賬號,一個Mac系統。
若是沒有賬號能夠在打開http://developer.apple.com/申請加入蘋果的開發者計劃。支付99美圓每一年,怎麼申請網上有詳細的介紹,在此很少作介紹。
若是你已經有了一個IDP,打開http://developer.apple.com/並登陸到蘋果MemberCenter,見下:
登陸之後能夠看到下面這個界面,列出了你開發須要的一些工具,支持,itunes app管理等內容。
選擇第二項:Ios provisioning Portal,進入,全部證書相關的都在這裏進行。
1.二、申請AppId
在下圖的左邊選擇 App IDs,咱們先建立一個AppId,對於要發佈到Appstore上的程序, 都有一個惟一的AppId,下面會列出你當前全部的AppId。
咱們點擊右上角的New App ID:
其中有兩項須要你本身填:
第一個Description,用來描述你的AppId,這個隨便填,沒有什麼限制;
第二項Bundle Identifier (App ID Suffix),這是你appid的後綴,這個須要仔細。
由於這個內容和你的程序直接相關,後面不少地方要用到,最好是com.yourcompany.yourappname的格式,固然沒有公司名的我的開發者,第二項能夠用你本身的英文名字或者拼音,以下圖:
appcan.cn在線ipa包編譯時須要填寫的iapp IDs就是你在此輸入的第二項內容。
填完後submit,以下圖,能夠看見咱們已經生成的appid:ebook appid。想要支持推送服務和iCould等也能夠在這兒配置:
這兒須要一個Mac系統。如下內容以雪豹系統爲例,其餘版本差異不是很大。
首先打開應用程序-實用工具-鑰匙串訪問(KEY CHAIN),在證書助理中,選擇"從證書頒發機構求證書",以下圖:
在下圖所示的界面,你的電子郵件地址:填你申請idp的電子郵件地址,經常使用名稱,默認就好,CA空,選擇存貯到磁盤,點擊"繼續":
選擇保存的位置,好比選擇桌面。
下一步點擊完成,你就能夠看到你的桌面多了一個CertificateSigningRequest.certSigningRequest的證書請求文件。
繼續登陸到你的MEMBER CENTER,選擇左邊的certificates項,能夠看到它右邊有四個選項,咱們選擇Distribution,點擊下面的click here to download now.
下載完成後,雙擊安裝,安裝成功後,能夠在你的鑰匙串裏面的證書下面看到這個中級證書。
OK,如今來請求一個真正的發佈證書,仍是在這個頁面,點擊request certificate:
這個頁面告訴你怎麼生成發佈證書,點擊下面的"選取文件",選擇你在第一步建立的證書請求文件,而後點擊"submit":
OK。如今你有一個證書能夠下載了,以下圖(不能下載請刷新頁面):
點擊"download"下載你生成的證書,下載完成後雙擊安裝,若是有以下提示,選擇login,OK:
這時再查看你的鑰匙串,應該有下面這一行Iphone Distribution的證書,注意,這個證書有一個小三角能夠點擊,展開後有一個對應的密鑰。若是你沒有這個鑰匙,那麼請檢查上面那一步作錯了。
如今發佈證書已經安裝了,咱們選擇這個證書,右擊,選擇,導出"xxxxxxx",以下:
給你要導出的證書起個名字,選擇一個存的位置,注意,保存成P12的信息交換文件
輸入密碼,若是Mac系統有密碼,後面還會要求你輸入系統密碼。
如今你就有了發佈程序須要的p12文件。
appcan.cn在線ipa包編譯時須要上傳的distribution.p12就是你導出的發佈證書;certificate password就是導出證書時填寫的密碼。
在下圖左邊選擇provisioning選項,一樣的右邊的子項中選擇distribution,來生成一個發佈的準備文件:
選擇new profile,在下圖中,第一個method,選擇App Store;
Profile name,這個隨便填,下面的App ID,選擇咱們開始的時候建立的appid,這個必須一致。確認後提交:
等待幾秒鐘,provisioning就能夠下載了,點擊download,下載。咱們獲得了一個xxxxxx.mobileprovision
appcan.cn在線ipa包編譯時須要上傳的distribution.mobileprovision就是你生成的文件。
如今,咱們的證書的準備工做就作完 了,咱們有了一個appid,一個p12格式的證書文件,一個provisioning文件。
根據流程一製做的證書及p12文件,開發者就可以對應於進行混編,從而生成出可上傳Appstore的ipa包,其流程以下:
AppCan在線的打包方式(非IDE打包方式),用戶生成應用時須要選擇生成ios平臺,勾選後彈出下圖窗口:
須要填寫上傳Apple開發者在Apple得到的發佈應用相關資質信息(詳情請參考證書的導出),並卻確認提交。務必填寫正確不然會打包失敗的。
上傳相關資質信息後,【注意】提交打出的文件包是用來上傳到蘋果App Store 用的 不能直接安裝到手機測試
Q:打包成功後我如何上傳到App Store?
A:下載.ipa文件到本地,更改文件後綴.ipa爲.zip。(上傳請參看ipa包提交蘋果App Store)
Q:打包完成後我如何安裝到越獄手機上測試?
A:一、下載.ipa文件到本地,更改文件後綴.ipa爲.zip並解壓縮文件包,
二、新建Payload文件夾,
三、把解壓縮.zip包裏面的文件夾拷到Payload文件夾裏
四、壓縮Payload文件夾爲.zip文件包,改.zip後綴爲.ipa
五、安裝到手機
跳事後打出的安裝包能夠直接安裝到越獄手機。
經過AppCan在線與開發者證書混編後,生成的ipa包(後綴.ipa改成.zip)便可上傳至蘋果Appstore,如下是操做流程。
該部份內容繼續以雪豹系統爲例
打開https://itunesconnect.apple.com/(membercenter中也能夠找到)選擇"Manage Your Applications":
點擊"Add New App",填寫下面的表格。
默認語言,appname,SKU Number,這是本身程序的標識,點擊後面的"?"有說明。Bundle id:這個能夠選擇,必須和你申請證書時候的appid保持一致。不然會上傳失敗。
填完後,點擊"Continue"。
這個頁面設置程序的生效時間和價格,選擇後,點擊"Continue"。
下圖的頁面須要填一些程序的信息,注意"Review Notes (optional)"這個選項是對蘋果review程序的說明,若是你的程序須要登陸纔可使用,要在這裏提供用戶名和密碼,若是你的程序的一些特點很 隱晦,能夠在這裏提供操做步驟,這是讓apple的review人員看的東西,不會在App Store裏面顯示。
下圖的頁面是一些分級的說明,根據須要選擇:
下面是metadata,這個可能很重要,注意那個keywords,設置的越多你的程序被搜到的概率越大,可是最好不超過100字,不然可能會被 蘋果認爲是做弊。Large app icon 這須要一張1024x1024的icon。screenshots是屏幕截圖或者說明性的圖片。
填完後done,這樣就建立好了一個app,點擊"view detail",而後選擇「Ready to Upload Binary」。這時發現你的app顯示一個黃色的wait for upload,表示你能夠上傳你的二進制代碼了。以下圖:
上傳程序請在你的mac系統下找到application uploader工具,找不到的能夠在下圖這兒下載。Xcode4.x將該工具集成到了xcode裏面。
在Mac下安裝了該工具後,運行,若是是第一次,可能須要你用你本身的idp賬號登陸(之後會保存在鑰匙串中),登陸後會自動檢查你有沒有等待上傳狀態的app,選擇你建立好的app,以下圖:
點擊"Next"按鈕:
點擊"choose"按鈕,選擇你從AppCan在線編譯出來的ipa包,修改.ipa後綴爲.zip,請不要打開修改包裏面的內容(包括添加和刪除資源圖片等文件),不然會上傳失敗。
點擊"Send"按鈕,等待上傳,上傳完成後,打開itunesconnect,這時候你的程序狀態變爲"upload received",程序進入蘋果第一步審覈。第一步審覈幾分鐘到幾小時。當經過第一步審覈後,程序狀態變爲"wait for review",此時程序進入等待人工審覈的狀態,大概4天到2周的時間都是這個狀態,直到排隊輪到你的程序時,程序進入"in review"狀態,若是你的程序沒有內容上的問題,符合蘋果的審覈標準,那麼審覈成功,你程序的狀態變爲綠色的" Ready for Sale",若是審覈失敗,程序狀態變爲紅色的" Rejected "。
上傳過程當中每一步的失敗蘋果都會發郵件給你,或者你能在Resolution Center看到詳細的失敗信息。
當你的程序變爲"ready for sale"狀態時候,你就能夠在appstore裏面找到它了。至此,上傳結束。你就能夠經過IOS設備在Appstore中找到你的應用了。
IOS8.0 提交注意:
二、"Versions"標籤下
(1)上傳截圖
說一下各個inch下的圖片規格要求: (如下講的都是豎屏、包括狀態欄的)
3.5inch(必須) | 640*960 |
4inch(必須) | 640*1136 |
4.7inch(可選) | 750*1334 |
5.5inch(可選) | 1242*2208 |
A、在xcode6中選擇iphone5的模擬器,快捷鍵command+s截圖,桌面上獲得規格爲640*1136的截圖。
3、上傳二進制程序包
一、進入xcode,修改bundle identifier和版本號,保證與申請的信息一致。
二、修改code signing中的證書和配置文件。
三、將scheme改成發佈、若是有zome要去掉
四、archive(驗證)->submit(提交)
五、輸入帳號