50

To get Carthage set up, the documentation says that you need to add a Run Script.

On your application targets’ “Build Phases” settings tab, click the “+” icon and choose “New Run Script Phase”. Create a Run Script in which you specify your shell (ex: bin/sh), add the following contents to the script area below the shell:

/usr/local/bin/carthage copy-frameworks

and add the paths to the frameworks you want to use under “Input Files”, e.g.:

$(SRCROOT)/Carthage/Build/iOS/Box.framework
$(SRCROOT)/Carthage/Build/iOS/Result.framework
$(SRCROOT)/Carthage/Build/iOS/ReactiveCocoa.framework

This script works around an App Store submission bug triggered by universal binaries and ensures that necessary bitcode-related files and dSYMs are copied when archiving.

However, I can't find the Build Phases tab anymore or Run Script in the Build Settings search. The Xcode 8 Release Notes mention

Xcode 8 provides completely rewritten AppleScript support. A new scripting dictionary provides the ability to automate Xcode workflows.

Does that mean there is no more Run Script? I looked at AppleScript but honestly it looks overwhelmingly complex. Do I need to learn AppleScript just to add the simple one liner that I used to do in Xcode?

/usr/local/bin/carthage copy-frameworks
Suragch
  • 484,302
  • 314
  • 1,365
  • 1,393

2 Answers2

132

It is still there. Make sure you click everywhere indicated in red in the image below.

enter image description here

Suragch
  • 484,302
  • 314
  • 1,365
  • 1,393
  • 3
    Too intuitive for an Apple UI.... hahaha.. Thx a lot... I spent 10 minutes clicking through without success... thx... – eharo2 May 15 '18 at 15:23
0

Carthage maintainers updated README, it is necessary to add output paths too to prevent useful copying of frameworks. I have released simple script named Carting to automate these steps.

Artem Novichkov
  • 2,356
  • 2
  • 24
  • 34