一、背景
别人想要调试包,但是又不想给源代码。
考虑 Debug 包是否可以拷贝到其它模拟器运行?
二、环境
1. Xcode
2. Command Line Tools
3. ios-sim 命令行工具
三、步骤
1. 安装 ios-sim 【ios-sim 只支持Xcode 6 以后的版本】
brew install ios-sim 【不使用 brew:npm install ios-sim -g】
2. simctl was not found. 错误解决
simctl was not found. Check that you have Xcode 8.x installed: xcodebuild --versionCheck that you have Xcode 8.x selected: xcode-select --print-path
a)确保安装了 Command Line Tools (Xcode 自带,如果没有,使用下面安装)
1. 卸载 Command Line Tools
rm -rf /Library/Developer/CommandLineTools
2. 安装 Command Line Tools
xcode-select --install
b)打开 Xcode -> Preferences -> Locations
给 Command Line Tools 选择 Xcode 版本值
3. 获取模拟器列表
$ ios-sim showdevicetypes
$ ios-sim showdevicetypes Apple-Watch-38mm, watchOS 4.2 Apple-Watch-42mm, watchOS 4.2 Apple-Watch-Series-2-38mm, watchOS 4.2 Apple-Watch-Series-2-42mm, watchOS 4.2 Apple-Watch-Series-3-38mm, watchOS 4.2 Apple-Watch-Series-3-42mm, watchOS 4.2 iPhone-5s, 11.2 iPhone-6, 11.2 iPhone-6-Plus, 11.2 iPhone-6s, 11.2 iPhone-6s-Plus, 11.2 iPhone-7, 11.2 iPhone-7-Plus, 11.2 iPhone-8, 11.2 iPhone-8-Plus, 11.2 iPhone-SE, 11.2 iPhone-X, 11.2 iPad-Air, 11.2 iPad-Air-2, 11.2 iPad--5th-generation-, 11.2 iPad-Pro--9-7-inch-, 11.2 iPad-Pro, 11.2 iPad-Pro--12-9-inch---2nd-generation-, 11.2 iPad-Pro--10-5-inch-, 11.2 Apple-TV-1080p, tvOS 11.2 Apple-TV-4K-4K, tvOS 11.2 Apple-TV-4K-1080p, tvOS 11.2
4. 在模拟器上启动 Debug 包
a)利用 Xcode 生成 .app 模拟器包
b)$ ios-sim launch 应用包路径/xxx.app --devicetypeid 模拟器名
$ ios-sim launch path/to/Debug-iphonesimulator/WYTestDemo.app --devicetypeid iPhone-X
5. 模拟器调试 Debug 包
四、附命令行打包(是否含pods)
$cd path/to/WYTestDemo
$xcodebuild -showsdks
$xcodebuild -arch x86_64 -sdk iphonesimulator11.4 -scheme WYTestDemo (否)
$xcodebuild -arch x86_64 -sdk iphonesimulator11.4 -workspace WYTestDemo.xcworkspace -scheme WYTestDemo (是)
可以用 $xcodebuild -h 查看用法