iOS開發環境搭建及打包流程

一、下載xcode

直接去蘋果商店的appstore下載就行

二、clone項目

1.登錄xcode蘋果賬號或對應代碼倉庫賬號

2.clone項目

3.安裝設備真機環境(未安裝過的話)

三.安裝cocoapods

1. 檢查并更新 Ruby 環境

CocoaPods 是基于 Ruby 編寫的,因此需要先確保 Ruby 環境已經安裝并且是最新的。

# 檢查ruby是否安裝
ruby -v 
# 更新ruby版本
sudo gem update --system

2. 更換 Ruby 源

由于默認的 Ruby 源可能在國內訪問速度較慢,建議更換為國內的鏡像源,如 Ruby China。

gem sources --remove https://rubygems.org/  # 刪除鏡像源
gem sources -a https://gems.ruby-china.com/ # 更換鏡像源
gem sources -l # 查看鏡像源

3. 安裝 CocoaPods

使用 gem 命令來安裝 CocoaPods。

sudo gem install cocoapods

4. 驗證安裝

安裝完成后,可以通過以下命令來驗證 CocoaPods 是否安裝成功。

pod --version

5. 初始化Podfile(如果工程文件下已經有Podfile則不需要進行這一步)

在你的 iOS 項目根目錄下,使用以下命令來初始化 Podfile 文件。

pod init

然后,使用文本編輯器打開 Podfile 文件,添加你需要的第三方庫。例如:

platform :ios, '10.0'target 'YourProjectName' douse_frameworks!pod 'AFNetworking', '~> 4.0'pod 'SDWebImage', '~> 5.0'
end

6. 安裝依賴

在終端中切換到Podfile文件同級目錄下,執行以下命令來安裝依賴。

pod install

7. 打開項目

安裝完成后,會在同級目錄下生成.xcworkspace?文件,使用 Xcode 打開生成的?.xcworkspace?文件,而不是原來的?.xcodeproj?文件。文件圖標如下:

注意事項:

  • 如果在安裝過程中遇到權限問題,可以嘗試使用?--user-install?選項來安裝 CocoaPods。
  • 如果遇到網絡問題導致安裝失敗,可以嘗試更換網絡環境或使用代理。
  • 如果 CocoaPods 版本與 Xcode 版本不兼容,可能需要更新 CocoaPods 或降級 Xcode。

四、運行項目

1.檢查配置

2.選擇項目及設備并運行

3.運行release包(有時候debug包有問題,可以直接運行release包)

五、打包分發

1.選擇?Any iOS Device(不能選模擬器)

2.修改版本號:

3.生成 Archive(歸檔文件)

  • 點擊菜單欄?Product → Archive

  • 等待編譯完成,Xcode 會自動打開?Archives?窗口(顯示所有歸檔記錄)。

4.選擇分發方式(關鍵步驟!)

Archives 中選擇要發布的版本,點擊 Distribute App,選擇分發方式:

5.提交到 App Store Connect:

先登錄到App Store Connect,然后按照表格內的步驟進行:

步驟位置關鍵操作
1我的App → +新建App填SKU(如com.company.app)
2價格與銷售范圍設置價格區間
3準備提交 → 構建版本點擊’+'添加IPA
4App審核信息填寫測試賬號
5版本發布選手動/自動發布

  • 選擇app或新建app

  • 查看包是否上傳完成

  • 構建新的版本并提交審核

6.下載兌換碼

企業賬號已綁定過app,又有別的app需要給用戶下載使用的,可以用這種解決方式

  • 登錄蘋果商務網站
  • 兌換app碼并下載

7.上傳fir.im或蒲公英等網站

  • 導出ipa包

  • 上傳fir.im等第三方平臺

注意事項(下述方式可以解決審核報二進制文件無效的問題):

  • 下載app_privacy_manifest_fixer-1.3.9壓縮包,解壓后放到工程根目錄下(對應我的就是lins目錄下)
  • app_privacy_manifest_fixer-1.3.9 這個是腳本文件 為了修改三方庫的隱私文件 ?不然上傳appstroe 會報錯 二進制錯誤
  • cd 到這個install.sh目錄下,執行命令:
    sh install.sh <你的工程目錄(比如:/Users/xxxx/lins)> --install-builds-only
  • 上方代碼執行完之后,進行打包上傳,上傳完成之后,執行下方代碼關閉文件(不關閉應該也沒事):
    sh uninstall.sh <你的工程目錄(比如:/Users/xxxx/lins)

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

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

相關文章

數據結構之鏈表(單向鏈表與雙向鏈表)

一&#xff0c;鏈表描述鏈表是一種常見的重要的數據結構,是動態地進行存儲分配的一種結構。常用于需存儲的數據的數目無法事先確定。1.鏈表的一般結構鏈表的組成&#xff1a; 頭指針&#xff1a;存放一個地址&#xff0c;該地址指向一個元素 結點&#xff1a;用戶需要的實際數據…

從反向代理到負載均衡:Nginx + Tomcat 構建高可用Web服務架構

從反向代理到負載均衡&#xff1a;Nginx Tomcat 構建高可用Web服務架構 文章目錄從反向代理到負載均衡&#xff1a;Nginx Tomcat 構建高可用Web服務架構一、基礎鋪墊&#xff1a;什么是反向代理&#xff1f;1.1 反向代理的核心原理1.2 Nginx反向代理實戰配置步驟1&#xff1a…

Simulink中使用Test sequence單元測試

一、Tips 在對simulink模型進行Test sequence單元測試時&#xff0c;如果采取書寫測試用例的話&#xff0c;有以下操作。 1、使用”fprintf(‘time%f\n’, t);“來打印當前step的時間&#xff1b; 二、數據類型轉換 1、double類型 -> boolean類型 clc; clear all;% 1、doubl…

【mysql】SQL自連接:什么時候需要,什么時候不需要?

SQL自連接:什么時候需要,什么時候不需要? 通過具體示例和對比解析,徹底搞懂SQL自連接的使用場景 在處理SQL查詢時,尤其是當表中存在自引用關系(如referee_id引用同一張表的id)時,很多開發者會疑惑:這個查詢到底需不需要自連接?本文將通過多個具體示例,帶你徹底弄清何…

「美」創新在于人,而不是產品 - AxureMost 落葵網

添加圖片注釋&#xff0c;不超過 140 字&#xff08;可選&#xff09; 第一章&#xff1a;創新的心理學 創新與心理安全 蠟燭問題&#xff1a;卡爾鄧克爾的蠟燭問題實驗揭示了創造性思維的重要性。通過顛覆對盒子用途的先入為主觀念&#xff0c;參與者能夠找到創新性的解決方案…

新規則,新游戲:AI時代下的戰略重構與商業實踐

當你的客服AI能夠真正像員工一樣理解客戶的行業術語&#xff0c;當AI能主動從大量的客戶咨詢中篩選出高價值潛在客戶 —— 這已經不再是理想中才能存在的場景&#xff0c;而是當下 “人工智能 ” 行動深入推進中&#xff0c;企業智能化轉型的真實寫照。 "人工智能 " …

ScanNet: Richly-annotated 3D Reconstructions of Indoor Scenes 數據集構建

paper link: paperlink Abstract: 這個數據集是個RGB-D視頻數據集&#xff0c;在707個不同空間中獲取了1513個掃描的場景&#xff0c;250w個視圖&#xff0c;并且標注了相機位姿&#xff0c;表面重建&#xff0c;語義分割。本數據集共有20人掃描500名工作者進行標注。 數據集…

c語言期末復習

一、選擇題(10道) 1、以下哪個不是C語言的關鍵字? A) int B) float C) string D) while (答案:C) 2、表達式 5 / 2 的結果是: A) 2.5 B) 2 C) 3 D) 2.0 (答案:B) 3、指針變量存儲的是: A) 變量的值 B) 變量的地址 C) 變量的類型 D) 變量的名稱 (答案:B) 4、以…

JLINK 調試器單步調試單片機

0 JLINK 調試器單步調試單片機 1 物理層1.1 調整電壓和開發板一致2 環境搭建 2.1 安裝 JLink_Windows_V862_x86_642.2 vscode 配置 {"version": "0.2.0","configurations": [{"name": "(gdb) 啟動","type": "…

大模型(LLM)安全保障機制(技術、標準、管理)

大模型&#xff08;LLM&#xff09;的安全保障涉及技術、標準、管理等多個層面。下面我將結合其核心風險&#xff0c;為你梳理主要的安全機制、相關標準框架以及一些實踐建議。為了讓您快速了解大模型面臨的主要風險及相應的應對機制&#xff0c;我準備了一個表格&#xff1a;安…

虛擬機之CentOS、網絡設置的有趣問題

前言 年初射出的子彈&#xff0c;今天中了。 年初埋下的坑&#xff0c;今年踩了。 回首過往&#xff0c;why&#xff1f; because&#xff1a;當時下載VMware的時候。沒有設置網絡。 重點——使用VMware安裝CentOS 9 使用VMware安裝CentOS Stream 9_嗶哩嗶哩_bilibili 總…

Biomni:來自斯坦福的通用型生物醫學 AI 智能體,科研“虛擬助手“來了!

在當今生物醫學研究中&#xff0c;實驗手段和數據量正以前所未有的速度膨脹。從基因組學、單細胞組學到多模態數據&#xff0c;再到可穿戴設備的健康監測&#xff0c;科研人員每天都在與龐大的數據和復雜的分析流程打交道。 然而&#xff0c;實驗設計瑣碎、工具分散、跨學科整合…

移植后 eto 陽性 干擾素 α1b、白介素 - 2 dli

在異基因造血干細胞移植&#xff08;allo-HSCT&#xff09;后仍存在 AML1-ETO&#xff08;ETO&#xff09;融合基因陽性的患者中&#xff0c;干擾素 α1b 聯合白介素 - 2&#xff08;IL-2&#xff09; 是臨床中探索用于清除微小殘留病&#xff08;MRD&#xff09;、降低復發風險…

防止接口被薅羊毛(防刷)(DAY 002)

背景&#xff1a;短信驗證碼接口被不法分子用來做灰產&#xff08;短信郵箱轟炸機&#xff09; 如何避免??的?站成為”?雞“或者被刷&#xff1f; 增加圖形驗證碼&#xff08;開發?員&#xff09;單IP請求次數限制&#xff08;開發?員&#xff09; 防刷之圖形驗證碼&…

【RabbitMQ】----RabbitMQ 的7種工作模式

1.Simple(簡單模式) P:?產者,也就是要發送消息的程序 C:消費者,消息的接收者 Queue:消息隊列,圖中??背景部分.類似?個郵箱,可以緩存消息;?產者向其中投遞消息,消費者從其中取出消息. 特點:?個?產者P&#xff0c;?個消費者C,消息只能被消費?次.也稱為點對點(Point-to-P…

今日分享:C++ -- list 容器

&#x1f60e;【博客主頁&#xff1a;你最愛的小傻瓜】&#x1f60e; &#x1f914;【本文內容&#xff1a;C list容器 &#x1f60d;】&#x1f914; --------------------------------------------------------------------------------------------------------------------…

【Python】數據可視化之分布圖

分布圖主要用來展示某些現象或數據在地理空間、時間或其他維度上的分布情況。它可以清晰地反映出數據的空間位置、數量、密度等特征&#xff0c;幫助人們更好地理解數據的內在規律和相互關系。 目錄 單變量分布 變量關系組圖 雙變量關系 核密度估計 山脊分布圖 單變量分布…

DDD+WebAPI實戰

DDD+WebAPI實戰 DDD(領域驅動設計,Domain-Driven Design)是一種面向對象的設計方法,它強調將業務邏輯封裝在模型中,并通過這些模型來驅動整個應用的設計。在.NET環境中,特別是在使用ASP.NET Core和Web API構建應用時,DDD可以幫助我們更好地組織代碼,使得業務邏輯更加清…

人力資源管理的思維方法學習筆記1

北京師范大學政府管理學院1.課程介紹&#xff1a; 講述視角上&#xff0c;本課程側重人力資源管理的思維方式&#xff0c;即人力資源管理理論和時間的不同視角和主導范式的分析。這既是對人力資源管理理論發展的凝練&#xff0c;也是對人力資源管理實踐演進過程的總結。對于把握…

適應新環境:Trae編輯器下的IDEA快捷鍵定制

介紹&#xff1a;學習如何在Trae編輯器中配置IntelliJ IDEA風格的快捷鍵&#xff0c;減少開發環境間的切換成本&#xff0c;提升編碼效率。通過安裝插件或手動調整&#xff0c;讓你更快適應新工具大家好&#xff0c;我是凱哥Java本文標簽&#xff1a;代碼編輯效率、Trae快捷鍵、…