Specify XCode version for GitHub workflows

16 April 2020

I wrote a unit test that used the XCTUnwrap function. This feature was added in XCode 11 and

“Asserts that an expression is not nil and returns the unwrapped value.”

However, when I pushed my code to GitHub, the build broke with the following error.

error: use of unresolved identifier ‘XCTUnwrap’

To fix this I updated my .github/workflows/swift.yml file to include the XCode version. I found the solution from this GitHub Community Forum Post. You can specify the version in the env using the DEVELOPER_DIR tag. GitHub maintains a list of available XCode versions here.

Here is what my swift.yml file looks like. This is for a swift package that is included in other iOS projects.

name: Swift

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]
env:
  DEVELOPER_DIR: /Applications/Xcode_11.4.app/Contents/Developer

jobs:
  build:

    runs-on: macos-latest

    steps:
    - uses: actions/checkout@v2
    - name: Build
      run: swift build -v
    - name: Run tests
      run: swift test -v

The kofi logo of a coffee mugLike this? Please buy me a coffee!

Share