Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"ERROR: Unexpected action: build" when building a project with Swift 3 and Cocoapods on Travis-CI

Evening/morning/afternoon all,

Been hitting my head over this for a bit now and couldn't find anything online about this so my best bet is here.

When Travis-CI builds my project I get the following error:

 xctool -workspace Project.xcworkspace -scheme ProjectTests build test

 ERROR: Unexpected action: build

and here is my config:

language: objective-c
xcode_workspace: Project.xcworkspace
xcode_scheme: ProjectTests
osx_image: xcode8.2

Perhaps I missed something in the tutorial? I got a little lost on the pods dependency section but I believe I did it right. This happens with a new scheme (ProjectTests) created and with the original scheme (Project). I added the dependencies for the ProjectTests scheme in the Build phase like it said but still no dice. Any ideas?

like image 392
Mistah_Sheep Avatar asked Jan 22 '17 03:01

Mistah_Sheep


Video Answer


3 Answers

Figured it out (at least in my situation) xctool wasn't working so I used xcodebuild instead and it worked. Here is what I put in:

script:
    - xcodebuild clean build -sdk iphonesimulator -workspace Project.xcworkspace -scheme ProjectTests CODE_SIGNING_REQUIRED=NO
like image 54
Mistah_Sheep Avatar answered Oct 16 '22 21:10

Mistah_Sheep


App (build + run)

language: objective-c
osx_image: xcode8.3

script: xcodebuild clean && xcodebuild build -sdk iphonesimulator10.1 -project yourproject.xcodeproj -scheme yourscheme CODE_SIGNING_REQUIRED=NO

Framework (build only)

language: objective-c
osx_image: xcode8.3

script: xcodebuild clean && xcodebuild build -project yourproject.xcodeproj -scheme yourscheme

Use && to daisy chain commands and only build if clean succeeds.

like image 30
SwiftArchitect Avatar answered Oct 16 '22 20:10

SwiftArchitect


The reason for the problem is that xctool deprecated the support for "build"

https://github.com/facebook/xctool

Note: Support for building projects with xctool is deprecated and will not be updated to support future versions of Xcode. We suggest moving to xcodebuild (with xcpretty) for simple needs, or xcbuild for more involved requirements. xctool will continue to support testing (see above).

like image 1
Robuske Avatar answered Oct 16 '22 19:10

Robuske