iOS中使用终端生成ipa

我这边以项目 TestLanguage 为例子作为演示(使用CocoaPods的情况下)

1. 使用 Xcode新建项目(TestLanguage)并且使用CocoaPods之后 ,进入该项目的文件目录中

cd /Users/lengqiuhui/Desktop/TestLanguage

2. 查看项目中的Targets、Configurations 和 Schemes

xcodebuild -list
image1.png

3. 清除编译过程生成的文件,出现 CLEAN SUCCEEDED 则清除成功

具体命令(使用CocoaPods是使用有workspace的命令行),下面配置的是Debug

xcodebuild clean -workspace /Users/lengqiuhui/Desktop/TestLanguage/TestLanguage.xcworkspace -scheme TestLanguage -configuration Debug

具体的使用和对应的值,查看下面的说明
有Workspace
xcodebuild clean -workspace   -scheme  -configuration 
  
无Workspace
xcodebuild clean -project <. xcodeproj_path>  -scheme  -configuration 
  
例子(使用CocoaPods是使用有workspace的命令行),下面配置的是 Debug

xcodebuild clean -workspace /Users/lengqiuhui/Desktop/TestLanguage/TestLanguage.xcworkspace -scheme TestLanguage -configuration Debug

xcodebuild clean -project /Users/lengqiuhui/Desktop/TestLanguage/TestLanguage.xcodeproj -scheme TestLanguage -configuration Debug
image2.png

4. 导出Achive文件路径

xcodebuild archive -workspace /Users/lengqiuhui/Desktop/TestLanguage/TestLanguage.xcworkspace -scheme TestLanguage -archivePath /Users/lengqiuhui/Desktop/TestLanguage

说明: /Users/lengqiuhui/Desktop/TestLanguage 是归档的路径, TestLanguage 是归档的文件名
有Workspace
xcodebuild archive -workspace  -scheme  -archivePath 
无Workspace
xcodebuild archive -project <. xcodeproj_path> -scheme  -archivePath 
具体如下:
xcodebuild archive -workspace /Users/lengqiuhui/Desktop/TestLanguage/TestLanguage.xcworkspace -scheme TestLanguage -archivePath /Users/lengqiuhui/Desktop/TestLanguage
image3.png

5. 配置导包

xcodebuild -exportArchive -archivePath /Users/lengqiuhui/Desktop/TestLanguage.xcarchive -exportPath /Users/lengqiuhui/Desktop/ipaPath -exportOptionsPlist /Users/lengqiuhui/Desktop/exportOptionsPlist.plist

具体命令说明如下

: 操作 3 中的achive文件路径
: ipa文件导出路径
:导包配置plist文件路径(需手动创建,文件名自己命名,我这里用的是exportOptionsPlist.plist)

xcodebuild -exportArchive -archivePath  -exportPath  -exportOptionsPlist 
image4.png

5.1 exportOptionsPlist 文件的配置说明

exportOptionsPlist 配置文件为使用xcode导包的配置项

provisioningProfiles: Dictionary类型,App的bundle ID作为key,mobileprovision的文件名作为value,注意Extension APP的配置也要包括

method: String类型,决定导出包的类型,有 app-store, development , ad-hoc, package, enterprise, developer-id, and mac-application

teamID: String类型,开发者ID,可在keychain或者登录开发者网站�中查看

compileBitcode: Bool类型,必须与项目中的bitcode值一致,默认true

6. 最后 生成的ipa就在 /Users/lengqiuhui/Desktop/ipaPath 中(Debug)

image1.png

你可能感兴趣的:(iOS中使用终端生成ipa)