iOS開發之進階篇(1)—— 證書、打包上架流程、p12文件

来源:https://www.cnblogs.com/gddg/archive/2022/09/01/16646931.html
-Advertisement-
Play Games

iOS開發相關的證書有很多種,iOS開發證書(iOS App Development)、iOS發佈證書(iOS Distribution (App Store and Ad Hoc))、網站推送ID證書(Website Push ID Certificate)、Apple Pay付款處理證書(App ...


  iOS開發相關的證書有很多種,iOS開發證書(iOS App Development)、iOS發佈證書(iOS Distribution (App Store and Ad Hoc))、網站推送ID證書(Website Push ID Certificate)、Apple Pay付款處理證書(Apple Pay Payment Processing Certificate)等等。Xcode 11以後,又新增了Apple Development和Apple Distribution,前者是iOS/macOS/tvOS/watchOS各平臺開發證書的結合,後者是這些平臺的發佈證書結合。 種類繁多,我們挑選一般的App從開發到上架App Store所必備的證書。 以Xcode 11版本以後的開發環境為例,其實只要具備兩個證書就夠了:蘋果開發證書(Apple Development)、蘋果發佈證書(Apple Distribution)。 Apple Development 蘋果開發證書,包括 iOS / macOS / tvOS / watchOS 各平臺的開發證書。 當我們進行真機調試的時候,就需要安裝這個證書。證書是安裝在Mac電腦的“鑰匙串訪問”裡面的,只要安裝一次即可,並不是每創建一個工程就都要安裝一次證書。 要進行真機調試,我們一般需要以下步驟: 生成證書申請文件 打開Mac的鑰匙串訪問App 證書助理=》從證書頒發機構請求證書 填寫相關信息 選擇存儲到本地(比如桌面),因為我們後面生成證書的時候會用到這個文件。 生成開發證書 登錄Apple developer, 選擇證書,添加之。 選擇App Developer,continue 然後點擊Choose File,上傳我們剛纔生成的申請文件(.certSigningRequest)。continue 直至生成了開發證書顯式於列表中(不同電腦會生成不同的開發證書): 安裝開發證書 點擊你剛生成的證書,下載之。 雙擊安裝之。 然後我們就可以在鑰匙串訪問的App裡面的我的證書里看到安裝成功了 愉快地進行真機開發調試 Apple Distribution 蘋果發佈(分佈)證書,包括 iOS / macOS / tvOS / watchOS 各平臺的發佈證書,可用於發佈商店版(App Store) 和 內測版(Ad Hoc)。 發佈App,一般需要以下步驟: 生成證書申請文件,這個申請文件在前面的開發證書已經生成了,可以繼續使用。 生成發佈證書 同樣,登錄Apple developer,新建一個證書,然後選擇Apple Distribution。 一個賬號最多只能生成三個發佈證書,我這個賬號已經申請滿了,所以是灰色不可選。 上傳的時候選擇一個發佈證書就行了,證書有效期是一年,到期後App Store上的現有App將不受影響。但是,不能使用過期或已撤銷證書來更新App,可生成新的證書繼續更新App。 後面和申請開發證書一樣,Choose File上傳申請文件然後下一步直至生成發佈證書: 3. 安裝發佈證書 下載之。 鑰匙串訪問里查看: 4. 愉快地發佈App App打包上架流程 App Store部分 php 從資料庫提取二進位圖片的處理代碼 pdf 0星 超過10%的資源 28KB 下載 因為我們要上傳安裝包到App Store,所以得先App Store Connect裡面創建一個App,而創建App是基於套裝ID來創建的。所以我們第一步是創建套裝ID。 創建套裝ID 進入開發者網站里的證書設置 創建App ID 填寫信息,Bundle ID與工程中的Bundle Identifier一致。 創建成功如下: 接著,創建描述文件Profiles,此描述文件即對應App Store Connect里的套裝ID。 選擇App ID,選擇發佈證書等等創建好。 然後到App Store Connect里創建App 填寫信息 套裝ID選擇剛纔在證書配置裡面創建好的App。 至此創建App完畢。接下來在Xcode打包上傳。 Xcode部分 首先我們看看TARGETS的Architecture配置 在Build Active Architecture Only選項里,Debug選擇Yes表示調試的時候只編譯生成當前機型對應的架構,這樣使得編譯調試的時候更快;Release選擇No表示發佈時編譯Valid Architectures中的所有架構,如果不編譯某個架構,那麼這個架構對應的機型將無法安裝這個安裝包。 各機型的處理器對應架構 模擬器32位處理器 – i386 模擬器64位處理器 – x86_64 真機32位處理器 – armv7、armv7s(armv7相容armv7s) 真機64位處理器 – arm64架構 具體機型對比 armv6: iPhone、iPhone 2、iPhone 3G、iPod Touch(第一代)、iPod Touch(第二代) armv7: iPhone 3Gs、iPhone 4、iPhone 4s、iPad、iPad 2 armv7s: iPhone 5、iPhone 5c (armv7相容armv7s) arm64(無armv64): iPhone 5s之後機型 現在來說,我們只需要支持armv7和arm64這兩個架構就可以了。 這裡順便提一下,如果我們使用的第三方庫不支持某些框架的話,那麼我們是無法使用到所缺失框架對應的機型上的。比如說,我們某些庫不支持 i386/x86_64 框架,那麼我們將無法使用模擬器來運行代碼。 接著我們的打包上架流程。 圖太多了,就挑幾個主要流程吧。。。 至於App信息填寫審核等步驟這裡就不討論了。。。 .p12文件 前面說過發佈證書一個開發者賬號最多只能創建三個。而且這個證書是和電腦綁定的,也就是說,A電腦創建的證書不能用在B電腦上。那麼問題來了,從A電腦拷貝一個工程到B電腦,B電腦倒是可以自己創建開發證書來調試這個工程,可如果發佈證書滿了不能再創建,這時候就發佈不了了。 如果想在B電腦上也能發佈App,那麼就需要從A電腦導出發佈證書(裡面含有私鑰): 起名,加密等 導出的文件即為p12尾碼的文件,然後放到B電腦中安裝,即可在鑰匙串中生成發佈證書(包含私鑰),就可以用於發佈App了。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 代理模式 1 定義 為其他對象提供一種代理以控制對這個對象的訪問 在某些情況下,一個對象不適合或者不能直接引用另一個對象,而代理對象可以在客戶端和目標對象之間起到中介的作用。 2 應用舉例 2.1 緩存代理 現在我們有一個可以查詢城市經緯度的函數: const getLatLng = (addres ...
  • 1 含義 頁面導航就是指頁面之間的一個跳轉 1.1 導航的實現方式 Web網頁端 微信小程式 1.2 聲明式導航 1.2.1 導航到tabBar頁面 使用<navigator>組件跳轉到指定的tabBar頁面 url:以/開頭,標識要跳轉的頁面地址 open-type:必須為switchTab,表示 ...
  • 作為一名H5開發人員可以使用hbuilder或apicloud。但是,到打包和發佈時,被申請ios證書和上架ipa文件給了困難。由於官方提供的方法,申請證書需要使用Mac電腦然後使用Mac電腦中的密鑰鏈訪問,去申請證書csr文件。然後再去蘋果開發者中心申請。 但是,Mac或未使用的Mac朋友都被 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 小伙伴們,在開發中有沒有遇到過發佈帖子或者實時聊天需要發送到一些emoji表情的。 但是每當我們直接將emoji表情提交到後臺的介面又會報錯,因為字元串的格式不一致導致數據無法添加致資料庫。那麼作為前端的我們就要將我們要提交的數據,通過如 ...
  • 自定義過渡的類名 點擊打開視頻講解更加詳細 我們可以通過以下 attribute 來自定義過渡類名: enter-class enter-active-class enter-to-class (2.1.8+) leave-class leave-active-class leave-to-clas ...
  • 前言 前段時間一時興起想學一下吉他,但是一門樂器要演奏成“能聽”的程度也不是一天兩天的事情,對我這種音樂基礎為 0 的人來說學習周期太長了,不想耗費太多時間在學習樂器上面,於是想找個取巧的方法。 最終方案就是做了個簡單粗陋的微信小程式 Demo 去彈奏吉他樂,勉強算是成功吧,可以很簡單地彈奏出樂曲。 ...
  • 每日 3 題 7 以下代碼執行後,控制臺中的輸出內容為? const obj = { flag: false, }; function A() { this.flag = true; return obj; } const a = new A(); console.log(a.flag); 8 以下 ...
  • 我們來回憶一下,在`css_scoped`和`css_module`出現之前,人們是如何避免css命名衝突的?對,就是人為的定義一些`css命名空間`。那個時候,對每個Component組件都會在其根節點上定義一個不重覆的ID或者class作為其**命名空間**,然後其內部的其它class都會以此命... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...