在使用xcodebuild从命令行构建Cocoa应用程序之后如何运行它?

时间:2015-04-14 16:34:52

标签: xcode macos cocoa xcodebuild

我正在使用像这样的Xcode项目从命令行构建Mac OS X Cocoa应用程序:

xcodebuild -scheme MyApp -configuration Debug

如何在构建完成后运行它?

2 个答案:

答案 0 :(得分:5)

我写了一个脚本来执行此操作:

#!/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

(我通过从Xcode运行应用程序,然后在进程上查看ps -wwE -p以查看其环境变量来解决这个问题。)

答案 1 :(得分:1)

我有同样的问题,a paid nerd的回答很有帮助。

在做了一些研究后,我找到了一个更清洁的解决方案,我将在此提供答案。它主要是解析代码更清晰,并且可以重复使用以检索其他构建设置。

#!/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" &

当然,这种方法使用工作空间而不是项目,但可以轻松更改。此外,我刚刚使用open命令打开应用程序。