How do I run a Cocoa app after building it from the command line with xcodebuild?

前端 未结 2 1221
失恋的感觉
失恋的感觉 2021-01-19 10:02

I\'m building a Mac OS X Cocoa application from the command line using an Xcode project like this:

xcodebuild -scheme MyApp -configuration Debug
相关标签:
2条回答
  • 2021-01-19 10:34

    I've had the same question and the answer from a paid nerd was helpful.

    After doing some research I did find a cleaner solution, which I will provide as an answer here. It's mainly the parsing code that is cleaner and made re-usable for retrieving other build settings as well.

    #!/bin/bash
    
    WORKSPACE_PATH='/Volumes/Development/MyApp/MyApp.xcworkspace'
    CONFIGURATION='Debug'
    SCHEME='macOS'
    
    getBuildSetting() { 
        echo $(xcodebuild -showBuildSettings -workspace "$WORKSPACE_PATH" -scheme "$SCHEME" -configuration "$CONFIGURATION" | grep " $1" | awk '{print $3}' )
    }
    
    BUILT_PRODUCTS_DIR=$(getBuildSetting "BUILT_PRODUCTS_DIR")
    FULL_PRODUCT_NAME=$(getBuildSetting "FULL_PRODUCT_NAME")
    open -a "$BUILT_PRODUCTS_DIR/$FULL_PRODUCT_NAME" &
    

    Of course this approach makes use of a workspace instead of a project, though it can be easily changed. Also I've just used the open command to open the app.

    0 讨论(0)
  • 2021-01-19 10:42

    I wrote a script to do this:

    #!/bin/bash
    
    x=$( xcodebuild -showBuildSettings -project MyApp.xcodeproj | grep ' BUILD_DIR =' | sed -e 's/.*= *//' )
    
    DYLD_FRAMEWORK_PATH=$x/Debug DYLD_LIBRARY_PATH=$x/Debug $x/Debug/MyApp.app/Contents/MacOS/MyApp
    

    (I figured this out by running the application from Xcode and then ps -wwE -p on the process to see its environment variables.)

    0 讨论(0)
提交回复
热议问题