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 自動化框架