99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

ios開發xcode,iOs開發版會清空數據嗎

iOS開發知識體系之《腳本自動化打包--xcodebuild》

iOS腳本自動化打包方案--xcodebuild

創新互聯建站主營浦江網站建設的網絡公司,主營網站建設方案,APP應用開發,浦江h5重慶小程序開發公司搭建,浦江網站營銷推廣歡迎浦江等地區企業咨詢

本文主要xcodebuild腳本自動化打包并上傳到蒲公英或者AppStore,廢話不多說,直接上干貨!

先了解一下xcodebuild打包需要的一些指令

-workspace XXX.xcworkspace

XXX.xcworkspace需要編譯工程的工作空間名稱,如果工程不是.xcworkspace的,可以不需要-workspace XXX.xcworkspace這段話

-scheme XXX

XXX是工程名稱,-scheme XXX是指定構建工程的名稱

-configuration Release

填入打包的方式是Debug或Release,就跟在Xcode中編譯前需要在Edit scheme的Build configuration中選擇打出來的包是Debug還是Release包一樣,-configuration就是配置編譯的Build configuration

-archivePath ./myArchivePath

配置生成.xcarchive的路徑, ./表示生成在當前目錄下,myArchivePath是生成的.Archive文件名稱

ODE_SIGN_IDENTITY=證書

配置打包的指定證書,如果該工程的Xcode已經配置好了證書,那么不加入這段話也可以,打包出來的證書就是Xcode中配置好的。

PROVISIONING_PROFILE=描述文件UUID

配置打包的描述文件,同上,Xcode已經配置好了就不用在填入這段話了

CONFIGURATION_BUILD_DIR

配置編譯文件的輸出路徑,如果需要用到.xcarchive文件內部的dSYM等文件,可以使用改字段指定輸出路徑。

如果工程是勾選了Automatically manage signing,那么就不用在配置ODE_SIGN_IDENTITY和PROVISIONING_PROFILE,今天這里講到的Automatically manage signing自動配置證書,手動配置的就不多說了,有興趣的話可以自己研究。

xcode工程配置自動獲取證書,如下圖:

打包所需要文件

配置打包的ExportOptions.plist文件,可以在任意一個Xcode工程中新建一個ExportOptions.plist文件。dev和adHoc和AppStore的配置文件內容不一樣,可以先手動打包后看下plist文件的樣式,這里提供一個樣例:

這里method對應的value為打包對應的環境,有development、ad-hoc、app-store、enterprise根據打包環境來配置不同的值

編譯腳本命令

xcodebuild archive -workspace XXX.xcworkspace -scheme XXX -configuration Release -archivePath ./myArchivePath CONFIGURATION_BUILD_DIR ./dir ODE_SIGN_IDENTITY=證書 PROVISIONING_PROFILE=描述文件UUID

導出ipa包命令

xcodebuild -exportArchive -archivePath ./myArchivePath.xcarchive -exportOptionsPlist ./ExportOptions.plist -exportPath ./out

-archivePath ./myArchivePath.xcarchive指定需要打包的.xcarchive路徑,./myArchivePath.xcarchive表示在當前終端路徑下的myArchivePath.xcarchive文件

-exportOptionsPlist ./ExportOptions.plist指定打包需要的ExportOptions.plist配置文件路徑

-exportPath ./out指定打包輸出的路徑, ./out表示打包結果輸出在終端的當前路徑下的out文件家中。如果沒有out文件夾會自動創建一個

腳本操作

首先:cd到需要自動打包的工程下

然后:在終端中輸入touch xcodebuild.sh創建xcodebuild.sh腳本文件

然后:雙擊打開腳本寫入下面 腳本內容(請確保所有版本的plist配置文件都寫好了)

最后:在終端中輸入./xcodebuild.sh運行腳本,按照步驟完成打包選擇(如果運行的時候出現Permission denied,請先在終端中執行chmod a+x *.文件的后綴名后,在運行,相當于提高腳本文件的權限)

腳本內容

此腳本包含了自動上傳蒲公英的選擇操作,根據輸入指令來執行具體操作

腳本實現

具體詳細腳本見GitHub地址: 如果好用記得給star,謝謝!

如腳本打包執行遇到問題可留言溝通!

iOS開發Xcode報錯匯總

pod登錄庫里報出的錯誤,因為把警告當成了錯誤

解決方案: build Setting 里的 Treat Warnings as Errors 改成 NO

解決方案:在 Build Setting 里的 Framework Search Paths 下添加 $(inherited) 配置項

解決方案:在對應的報錯文件里,如 "PMUISKeletonAdapter" 項目的 Build Phases-Headers-Public 里添加對應報錯的文件

解決方案:刪除緩存, DerivedData 里緩存文件清空或者clear

組件互相持有導致

解決方案: podfile 里刪除一個持有關系。或者不同時引用這兩個組件,只引用其中一個。

找不到庫導致(前提是項目里能搜索到)

解決方案:在Other Linker Flags里添加對應的庫

找不到MPGroupService庫里的MPMXXX文件里的CPMGroupMgr類

解決方案:添加對應的類文件或者相關的pod庫。

OBJC_METACLASS意思是報錯類重復,OBJC_IVAR是指定屬性重復

解決方案:刪除其中一個,如果是pod庫可以找找有沒有刪除相同的引用文件,能解決沖突的pod版本,如果沒有只能刪除其中一個pod庫。

iOS開發中常用命令工具(xcode-select、lipo、xcrun等)

當安裝多個xcode的版本,使用該工具使用指定的版本。

-p 或者 --print-path 查看當前開發者目錄,也即是xcode的版本目錄。print the path of the active developer directory

-s path 或 --switch path 選擇xcode的版本

--install 安裝

--version 查看版本

--reset 恢復默認

sudo rm -rf /Library/Developer/CommandLineTools 強制刪除安裝目錄下的文件

是管理Fat File的工具, 可以查看cpu架構, 提取特定架構,整合和拆分庫文件。

Mac OS X下二進制可執行文件的動態鏈接庫是dylib文件。所謂dylib,就是bsd風格的動態庫。基本可以認為等價于windows的dll和linux的so。mac基于bsd,所以也使用的是dylib。

Linux下用 ldd 查看,蘋果系統用 otool 。

otool命令介紹

MobSF

Mach-O 文件格式解析

xcodebuild :通過工程文件,生成app文件。

xcrun :通過app文件,來生成ipa文件(包含了簽名的過程)。

通過app文件生成ipa文件

libtool是一個通用庫支持腳本(/usr/bin/libtool),將使用動態庫的復雜性隱藏在統一、可移植的接口中。

可以在不同平臺上創建并調用動態庫,我們可以認為libtool是gcc的一個抽象,也就是說,它包裝了gcc或者其他的任何編譯器,用戶無需知道細節, 只要告訴libtool說我需要要編譯哪些庫即可,并且,它只與libtool文件打交道,例如lo、la為后綴的文件。

libtool工具的使用

庫是一單獨的文件,里面包含了按照特定的結構組織起來的其它的一些文件(稱做此庫文件的member)。原始文件的內容、模式、時間戳、屬主、組等屬性都保留在庫文件中。

詳細命令參見, 菜鳥網絡-ar命令

可以用來創建、修改庫,也可以從庫中提出單個模塊。

lipo libAFNetworking.a -thin arm64 -output lib-arm64.a 生成Arm64包

ar -t lib-arm64.a 輸出包含的.o文件 和 otool -L libAFNetworking.a 一樣。

ar -x lib-arm64.a 解壓出包里面的.o文件

在iOS開發中,常常用來分析二進制和靜態庫文件。

列出 .o .a .so 中的符號信息,包括諸如符號的值,符號類型及符號名稱等。所謂符號,通常指定義出的函數,全局變量等等。

iOS開發中,可以用來查看.a靜態庫所有打包進去的.o文件和函數接口信息,幫助我們定位崩潰信息。

例如: nm -u libAFNetworking.a 列出某個.o文件的接口信息。

二進制查看命令,將文件顯示為16進制字符串表示形式。

例如: xxd libYTKNetwork.a | grep "net" 查看YTKNetwork.a文件里面包含net字符串的,幫助我們分析一些二進制文件。

DWARF文件初探——提取輕量符號表

Mac系統下lipo, ar, nm等工具的使用簡介

美團 iOS 工程 zsource 命令背后的那些事兒

Linux工具參考篇

iOS 靜態庫沖突 兩個不同的.o 文件沖突 ,靜態庫分離

iOS開發之帶你玩轉Xcode自動管理證書

每個iOS開發者都是被折翼過翅膀的天使,都曾被證書配置折磨的痛苦不止,好不容易學會了手動管理證書,結果蘋果霸霸來了一個Automatically manage signing,又會陷入一圈的懵逼中,還真是不讓我們輕松,下面跟著我來將“充滿霧霾”的身心放空,不埋怨,不抱怨,畢竟蘋果霸霸也是好意嘛!接下來,讓這篇文章帶你理解自動配置證書如輕拂過額頭的一縷清風一般,吹過就驅散了你心中的“霧霾”。

到此,我想你已經能夠理解Xcode自動管理證書的過程了,如果還不夠理解,建議 靜下心 來再看一遍保證其意自現!

1:自動管理證書的原則是根據你創建的APP ID來匹配證書和配置文件,也可以理解成根據你的Bundle ID來匹配,比較手動管理還是方便很多,同時也不易出錯,理解證書的管理過程讓你在配置的時候輕松一笑面對,不再打錯配置文件的包,不再混淆證書配置之間的關系,這點還是非常重要的,你要理解證書配置的來龍去脈,而不是每次配置好后自己仍不知所以然,雖然成功了,但是難免出錯。

2:如果你發現Xcode自動配置的APP ID不是你想要的配置文件時候,因為你一個APP ID可以對應多個配置文件,所以它雖然APP ID是對的,配置文件不一定對,這個時候,你去文件夾刪除所有配置文件,然后再配置就可以了!

我是Qinz,希望我的文章對你有幫助。

標題名稱:ios開發xcode,iOs開發版會清空數據嗎
分享路徑:http://www.yijiale78.com/article8/dschsop.html

成都網站建設公司_創新互聯,為您提供網站維護關鍵詞優化網站導航定制網站品牌網站制作網站設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

搜索引擎優化