首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >针对iOS中的多个.travis.yml版本

针对iOS中的多个.travis.yml版本
EN

Stack Overflow用户
提问于 2015-09-25 18:27:35
回答 1查看 851关注 0票数 5

我是新的特拉维斯CI,并建立了一个基本的构建和测试针对一个单一的项目和环境。.travis.yml看起来如下所示:

代码语言:javascript
运行
复制
language: objective-c
osx_image: xcode7
xcode_project: ./[project]/[project].xcodeproj
xcode_scheme: [project]
xcode_sdk: iphonesimulator9.0

这是很好的工作,但我也想测试。其他iOS模拟器版本(例如8.4)。

我意识到我可以在.travis.yml中使用像这样的脚本部分中的.travis.yml,这也很好:

代码语言:javascript
运行
复制
script:      
  xctool -project ./[project]/[project].xcodeproj -scheme [project] -sdk iphonesimulator9.0 build test

然而,我不知道如何运行任何其他iOS版本。目的-C文档治疗Travis CI说有许多模拟器iOS版本可以用于osx_image: xcode7,但是当$ xcodebuild -version -sdk在CI机器上运行时,它只显示iOS 9可用。

为了能够在iOS安装中测试其他XCode版本,我在这里遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-03 15:09:25

找到可用模拟器的诀窍是运行:

代码语言:javascript
运行
复制
$ xcrun instruments -s devices

您将看到已安装设备的属性:

代码语言:javascript
运行
复制
Known Devices:
Travis’s Mac (129) [00000000-0000-1000-8000-005056A6DCD8]
iPad 2 (8.1) [22540C0C-46B4-4FF8-9B74-6321081CA975]
iPad 2 (8.2) [03655E8B-725B-4C03-A505-8EEA0BE5A966]
iPad 2 (8.3) [BBC2737B-BE8D-403B-804F-5A36560AD47B]

etc...

因此,我用env (参考文献)构建了一个矩阵,并为我想要测试的模拟器/OS版本组合定义了UDID。对于每个定义的唯一环境变量/值,脚本部分只执行一次。我的.travis.yml文件如下所示:

代码语言:javascript
运行
复制
language: objective-c
osx_image: xcode7

## Create a build matrix to execute against multiple simulators/iOS versions
## The UDID will be used below to determin the destination to test against
## where the script section will be run once for each definition
## ISO_DEVICE is not used in the script but is useful to know what OS version is tested and will show up in Travis to make it easer to read
env:
  - UDID="FCBB11B4-D7C8-4085-9067-2CEDA2BFC895", IOS_DEVICE="iPhone 6 Plus (9.0)"
  # - UDID="363ADE93-270B-4C2E-9286-C3C1FABE3CDD", IOS_DEVICE="iPhone 4s (8.1)"
  - UDID="BE52C183-B4AF-408D-AE90-278FA4AD89EC", IOS_DEVICE="iPhone 5 (8.3)"
  - UDID="FCBB11B4-D7C8-4085-9067-2CEDA2BFC895", IOS_DEVICE="iPhone 6 Plus (9.0)"
  - UDID="BEEA639C-46EB-48EF-8377-A22B781A7EE2", IOS_DEVICE="iPad Air 2 (8.4)"

### Setting up the simulator for auto-test and running the build via the xcodebuild tool:
script:
  # The xcrun with devices here will print out a list of available devices you can snag the UDIDs for
  - xcrun instruments -s devices
  - echo staring build and test...
  - open -a "simulator" --args -CurrentDeviceUDID $UDID
  - xcodebuild test -project ./MovingHelper/MovingHelper.xcodeproj -scheme MovingHelper -configuration Debug -sdk iphonesimulator -destination "platform=iOS Simulator,id=$UDID"
  - osascript -e 'tell app "Simulator" to quit'

这个构建的一个例子可以看到这里

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32788479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档