App Store 与 Apple 证书体系
Certificates:苹果签发
• 开发证书:开发者使用
• 发布证书:对外分化到 App Store 或者使用 ad-hoc 模式分发
• Provisioning Profiles:
• App ID:bundleID 相关设置
• Devices List:可内测的真机列表
• 分为开发和发布两种大类型
• 发布又分为 ad-hoc、app store、enterprise 级别
• .app 文件:编译后生成的项目打包代码
• .ipa 文件:经过签名后的打包文件,本质是 zip 文件
- 开发和发布证书
- Provisioning Profile
编译 App 相关的证书设置
• ls ~/Library/MobileDevice/Provisioning\ Profiles
• security find-identity -p codesigning
发布方式
-
个人或者公司的 Ad-hoc 方式:
• 需要绑定最多 100 台设备列表的小范围测试方式
• 可发布到 App Store
• 付费 99$
-
企业级别的 In House 方式:
• 企业级别的签名分发方式,不限设备数量
• 不可发布到 App Store
• 付费 299$
iOS App 结构
演练 example:https://github.com/appium/ios-uicatalog
Debug-iphoneos/UICatalog.app
Info.plist 文件
embedded.mobileprovision
• BundleInfo
• DeveloperCertificates
• Entitlements
• ProvisionedDevices
_CodeSignature/CodeResources
instruments 工具包-专项测试工具
常用测试辅助工具
-
依赖工具包安装:
• brew install --HEAD ideviceinstaller
• brew install --HEAD libimobiledevice
• brew install ios-deploy
-
查看模拟器列表:instruments -s devices
-
查看真机列表:idevice_id -l
-
安装 app: ideviceinstaller -i demo.app 高版本使用:ios-deploy
-
命令行编译:
• xcodebuild -scheme UICatalog -target iOS clean build
• xcodebuild -scheme UICatalog -target iOS archive
WDA 与 Appium 的关系
• WDA 本身也是一个完整的基于 WebDriver 协议的框架
• Appium 使用 WDA 作为底层的 iOS 自动化框架