上架相關——App Store 上架流程

說實話,公司要上架一個自己做的一個小項目。為了完成這個任務,菜鳥的我一遍找資料一遍跟著做,一遍修改錯誤一遍查找解決方案。網上的資料大部分都是2015年以前的資料,資料有點不夠過時,而且步驟配圖也不是很詳細,導致我花費了整整4天的工作日只為實現appstore上架。哎呀,也是夠蛋疼的,appstore上架的每個流程都要確認無誤,每一步的錯誤都會導致最終的失敗。這個shit的操作,再也對你無愛了。

推薦一篇比較詳細有用文章:

appStore上傳蘋果應用程序軟件發布流程_iOS開發群雄_新浪博客

常見問題解決方案:

解決IOS開發證書“此證書的簽發者無效”的問題_百度經驗

ios app 上傳時 ERROR ITMS-90096

解決Invalid Code Signing Entitlements 問題? -? lady-奕奕的個人空間 - 開源中國社區

好了,吐槽和發泄的話就少說,下面就正式進入Appstore上架流程了。

1.首先你的準備一個個人開發者賬號、公司開發者賬號。---我這里是公司開發者賬號,是什么賬號不要緊,因為只要有開發者(appstore發布應用)權限就可以了。

2.準備好Xcode以及要上架的項目。(Xcode最好是Xcode7.1以上的版本)--樓樓的Xcode版本就是7.1的。

3.進入蘋果開發者官網:

developer.apple.com

點擊account,如下圖:


進入登錄界面,登錄


4. 登錄之后,點擊Certificates, Identifiers & Profiles,為項目創建Bundle ID 、發布證書、以及權限文件(Profiles)


進入Certificates, Identifiers & Profiles之后,點擊App IDs-->"+"添加按鈕, 為項目添加Bundle ID


進入創建APP IDs 的界面。

App ID Description 的name 可以隨意填。


Bundle ID 最好的格式是:(如:com.cpmpany.yayade)。

這里Bundle ID是要和Xcode項目中的Bundle Id 一致的。(最好將項目中的Bundle Id復制過來)


如果有推送功能,要把“Push Notifications”勾選,反正就是項目用到什么功能或服務就把相應的選項勾選。


之后就是 continue -->register 完成注冊bundle ID的工作

5.接下來就要請求證書。

找到mac 自帶的“鑰匙串訪問”軟件,鑰匙串訪問-->證書助理-->從證書頒發機構請求證書


之后在證書助理界面填寫相關內容,并將保存到本地桌面。


如下圖桌面上生成的.certSigningRequest證書


6.返回到之前的開發者網站:

Sign in with your Apple ID - Apple Developer

去生成發布證書。


點擊 “+”按鈕之后,出現以下內容界面,只需要選擇“App Store and Ad Hoc” 即可,然后continue。


、、、、、、、、、、、、、、、、、、、、、、、

如果你發現Production ?下面的 ?“App Store and Ad Hoc”不可選!!!

原因及解決方案:因為一個用戶名下只能同時有一個發布證書,你之前建立了某個證書并且沒有使用的話就無法再創建了,先把它撤銷或者使用后才可以繼續創建新的

、、、、、、、、、、、、、、、、、、、、、、、

兩次continue之后,進入以下界面(如下圖)

選擇 “Choose File...”按鈕 ,將我們剛剛生成的.certSigningRequest證書導入。--->continue--> downLoad-->Done


生成發布證書之后,下載(downLoad)-->找到下載的文件雙擊自動安裝。

之后我們可以在“鑰匙串訪問”軟件看到我們剛剛安裝好的發布證書。


如果看到開發者證書無效。解決方案詳見:http://my.oschina.net/sfandy/blog/617139?fromerr=OT2Ptq54

如果解決完“開發者證書無效”的問題就要將第6步操作重新做一遍,生成有效的證書。

7.生成profiles 證書



點擊“+”之后


App ID : 選擇含有對應Bundle Id 的app Id。



之后就是下載文件:downLoad-->找到下載的文件雙擊自動安裝。

8. 進入ITunes Connect





創建成功之后會進入:


9.用Xcode打開你要上架的項目。


將 Release copy 改為 distribution,如下圖。



選擇我們剛剛的distribution


配置(1.)TARGETS里面的General的Bundle? Identifier,


(2.)TARGETS里面的Build Settings的Code Signing Identity

這里的Provisioning Profiles 選擇我們生成的Profiles證書。


(3.)PROJECT里面的Build Settings的Code Signing Identity


10. Archive


archive時會遇到各種失敗的情況:

(1.)


解決方案 :將三方框架重新導入一遍:即在終端執行:pod update 命令


(2.)ERROR ITMS-90096

解決方案:ios app 上傳時 ERROR ITMS-90096

(3.)Invalid Code Signing Entitlements

解決方案:方案A.

解決Invalid Code Signing Entitlements 問題? -? lady-奕奕的個人空間 - 開源中國社區

方案B.Target或者是Project的Build Settings-->Code Signing Identity-->Provisioning Profiles ?沒有選擇對應正確的Profiles證書

(4.)出現No matching provisioning profile found: Your build settings specify a provisioning profile with the UUID “7738acfb-4d92-4525-adbe-fb66e9957009”, however, no such provisioning profile was found錯誤提示

解決方案:

試一下這個吧。

Your build settings specify a provisioning profile with the UUID

如果archive成功了,就會出現:



如果UpLoad to App Store 出現以下錯誤:

(1.)


解決方案:重新upload to App Store.

11.UpLoad to App Store成功之后,回到ITunes Connect

完善app一些具體信息


注意:

構建版本會在你UpLoad to App Store成功之后的半個小時內,顯示構建的版本。


半個小時之后就會出現如下(記得刷新該頁面):



在構建版本處,出現上面內容之后,直接提交審核。


如果提交不成功出現一下錯誤:


解決方案:技術支持網站沒有填寫,把它填上就可以嘍。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247879.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247879.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247879.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

this.$router 的三種跳轉頁面方法

第一種: this.$router.push(需要跳轉到的路徑名稱)此方法跳轉后,會在歷史欄目中保存路勁地址,當點擊歷史標簽時可以進行訪問 第二種: this.$router.replace(需要跳轉到的路徑名稱)此方法跳轉后,會在歷史欄目中不保存…

cf777c

題意:給你一個n*m的數陣 對于一行到另一行,若存在一列從上到下遞減,則稱之符合題意 The first line of the input contains two positive integers n and m (1?≤?nm?≤?100?000) — the number of rows and the number of columns in t…

上架相關——appstore 更新app版本

注:此片文章是基于app已經上架,也就是證書都已經配置好的前提下。 首先是還是app打包 修改版本號 修改project處的pp文件 檢查無誤后打包打包完成后upload to app store 漫長的等待。。 上傳到appstore進入iTunesConnect 選擇我的app 選擇對應app點…

輸入框輸入數字,且不能有小數點存在

基于Vue項目進行設置 <template><comp v-if"update"></comp><button click"reload()">刷新comp組件</button></template><script>import comp from /views/comp.vueexport default {name: parentComp,data() {r…

iOS開發 藍牙技術4.0詳解

前言 前端時間,同學在做項目過程中遇到關于藍牙方面的問題,今天我就給大家進行詳細的進行講解下藍牙在iOS開發中的具體實現.在介紹藍牙前,大家要搞清楚什么是藍牙? 什么是藍牙? 隨著藍牙低功耗技術BLE&#xff08;Bluetooth Low Energy&#xff09;的發展&#xff0c;藍牙技術…

前端面試題(五)

position的屬性有哪些&#xff1f; 1、absolute生成絕對定位的元素&#xff0c;相對于值不為 static的第一個父元素進行定位。 2、fixed &#xff08;老IE不支持&#xff09;生成絕對定位的元素&#xff0c;相對于瀏覽器窗口進行定位。 3、relative生成相對定位的元素&#xff…

qrcode.js 二維碼生成器

二維碼生成 并顯示&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml" xml:lang"ko" …

SQL -- 多表查詢

-- --SQL基礎-->多表查詢 -- /* 一、多表查詢 簡言之&#xff0c;根據特定的連接條件從不同的表中獲取所需的數據 笛卡爾集的產生條件&#xff1a; 省略連接條件 連接條件無效 第一個表中的所有行與第二個表中的所有行相連接 二、多表查詢語法&#xff1a;*/ SELECT tab…

如何解決兩個相鄰的span中間有空隙

span中間不要有換行、或者空格 或者在樣式上加上float&#xff1a;left轉載于:https://www.cnblogs.com/lst619247/p/10944341.html

Vue項目中Table設置 render 函數

statusList1: {0: "",1: "",2: "藥品服務費收入",3: "特藥服務費收入",4: "直保經紀費",5: "再保經紀費",6: "廣告費",},render: (h, params) > {return this.colorCommon(h, params.row, "1&q…

AVPlayer設置從哪兒開始播放

avplayer 播放視頻 首先介紹幾個方法吧和屬性吧。 - (id)addPeriodicTimeObserverForInterval:(CMTime)interval queue:(dispatch_queue_t)queue usingBlock:(void (^)(CMTime time))block 這個方法可以用于跟新進度條。 - (void)seekToTime:(CMTime)time completionHandler:(v…

老男孩爬蟲實戰密訓課第一季,2018.6,初識爬蟲訓練-實戰1-爬取汽車之家新聞數據...

1.爬蟲介紹 編寫程序&#xff0c;根據URL獲取網站信息 2.用到的庫 requests庫 bs4庫 3.內容及步驟 4.代碼 import requests import os from bs4 import BeautifulSoup # 1.下載頁面 ret requests.get(urlhttps://www.autohome.com.cn/news/) ret.encoding ret.apparent_encod…

Table 表格導出功能

<Card class"clearfix"><p slot"title"><Icon type"ios-list"></Icon>收入信息</p><!-- 導出1 --><div class"daochu1"><!-- 導出按鈕 --><div class"search"><B…

iOS開發 簡單實現視頻音頻的邊下邊播

直接切入主題&#xff0c;要實現的功能是&#xff1a;1、ios視頻音頻邊緩存邊播放&#xff0c;緩存時可以在已下載的部分拖拽進度條。2、緩存到一半退出&#xff0c;再次播放同一地址的視頻時&#xff0c;視頻繼續下載&#xff0c;并且緩存進度已經走到上一次下載的位置。3、無…

volatile的原理和實現機制

volatile到底如何保證可見性和禁止指令重排序的。 “觀察加入volatile關鍵字和沒有加入volatile關鍵字時所生成的匯編代碼發現&#xff0c;加入volatile關鍵字時&#xff0c;會多出一個lock前綴指令” lock前綴指令實際上相當于一個內存屏障&#xff08;也成內存柵欄&#xff0…

Table城市代碼翻譯

// data 數據變量 eara&#xff1a;[]// 接口調用 getChinaList() {return fetch({url: "/api/v1/china/city/search",method: "GET"});},// table 欄中的 render 函數 render: (h, params) > {return h("span",this.dictCodesCommon(params.…

iOS中的WiFi與硬件通信

WiFi通信是指手機通過WiFi與外部設備建立連接&#xff0c;并與外部設備進行交互、通信。手機與外部設備的WiFi通信通常是使用Socket來實現的&#xff0c;在這里先介紹一個第三方Socket庫&#xff08;CocoaAsyncSocket&#xff09;來實現WiFi通信。 CocoaAsyncSocket支持TCP和U…

MongoDB查詢報錯:class com.mongodb.MongoSecurityException: Exception authenticating MongoCredential...

異常日志&#xff1a; 2019-05-30 10:10:24,252 [http-nio-8080-exec-1] DEBUG [java.sql.Connection] - ooo Connection Opened 2019-05-30 10:10:24,258 [http-nio-8080-exec-1] DEBUG [java.sql.PreparedStatement] - > Executing: insert into client_config ( appid, …

動態添加后的數據轉換 — 后臺接收數據

let data this.projectPersonnel.map(item > {let obj {}obj.member item.people.map(info > {return info.id})obj.member JSON.stringify(obj.member)obj.projectId idobj.teamId item.name.idreturn obj})

iOS開發--地圖與定位

iOS開發--地圖與定位 概覽 現在很多社交、電商、團購應用都引入了地圖和定位功能&#xff0c;似乎地圖功能不再是地圖應用和導航應用所特有的。的確&#xff0c;有了地圖和定位功能確實讓我們的生活更加豐富多彩&#xff0c;極大的改變了我們的生活方式。例如你到了一個陌生的地…