命令行新手,并试图构建一个脚本——这个错误意味着什么



我对构建脚本完全陌生,所以如果答案显而易见,请原谅我。这是我在终端上的输入:

Joels-MacBook-Air:~ joel$ /Users/joel/Desktop/NameOfApp/build_facebook_ios_sdk_static_lib.sh

这就是我得到的输出:

Project Home: /Users/joel/Desktop
Start Universal facebook-ios-sdk SDK Generation
Step 1 : facebook-ios-sdk SDK Build Library for simulator and device architecture
/Users/joel/Desktop/NameOfApp/build_facebook_ios_sdk_static_lib.sh: line 56: cd: /Users/joel/Desktop/src: No such file or directory
Build settings from command line:
SDKROOT = iphonesimulator5.1
SYMROOT = /Users/joel/Desktop/build
xcodebuild: error: The directory /Users/joel/Desktop does not contain an Xcode project.

我认为问题从上面已经清楚了,但以防万一,这里是脚本的代码——如果它不相关,请忽略它:

!/bin/sh
/*
Copyright 2004-present Facebook. All Rights Reserved.

This script will build a static library version of the Facebook iOS SDK.
You may want to use this script if you have a project that has the 
Automatic Reference Counting feature turned on. Once you run this script
you will get a directory under the iOS SDK project home path:
 lib/facebook-ios-sdk
You can drag the facebook-ios-sdk directory into your Xcode project and
copy the contents over or include it as a reference.*/
//Function for handling errors
die() {
echo ""
echo "$*" >&2
exit 1
}
//The Xcode bin path
if [ -d "/Developer/usr/bin" ]; then
//< XCode 4.3.1
XCODEBUILD_PATH=/Developer/usr/bin
else
// >= XCode 4.3.1, or from App store
XCODEBUILD_PATH=/Applications/XCode.app/Contents/Developer/usr/bin
fi
XCODEBUILD=$XCODEBUILD_PATH/xcodebuild
test -x "$XCODEBUILD" || die "Could not find xcodebuild in $XCODEBUILD_PATH"
// Get the script path and set the relative directories used for compilation
cd $(dirname $0)
SCRIPTPATH=`pwd`
cd $SCRIPTPATH/../
//The home directory where the SDK is installed
PROJECT_HOME=`pwd`
echo "Project Home: $PROJECT_HOME"
//The facebook-ios-sdk src directory path
SRCPATH=$PROJECT_HOME/src
//The directory where the target is built
BUILDDIR=$PROJECT_HOME/build
//The directory where the library output will be placed
LIBOUTPUTDIR=$PROJECT_HOME/lib/facebook-ios-sdk
echo "Start Universal facebook-ios-sdk SDK Generation"
echo "Step 1 : facebook-ios-sdk SDK Build Library for simulator and device architecture"
cd $SRCPATH
$XCODEBUILD -target "facebook-ios-sdk" -sdk "iphonesimulator" -configuration "Release" SYMROOT=$BUILDDIR clean build || die "iOS Simulator build failed"
$XCODEBUILD -target "facebook-ios-sdk" -sdk "iphoneos" -configuration "Release" SYMROOT=$BUILDDIR clean build || die "iOS Device build failed"
echo "Step 2 : Remove older SDK Directory"
rm -rf $LIBOUTPUTDIR
echo "Step 3 : Create new SDK Directory Version"
mkdir -p $LIBOUTPUTDIR
echo "Step 4 : Create combine lib files for various platforms into one"
//combine lib files for various platforms into one
lipo -create $BUILDDIR/Release-iphonesimulator/libfacebook_ios_sdk.a $BUILDDIR/Release-iphoneos/libfacebook_ios_sdk.a -output $LIBOUTPUTDIR/libfacebook_ios_sdk.a || die "Could not create static output library"
echo "Step 5 : Copy headers Needed"
cp $SRCPATH/*.h $LIBOUTPUTDIR/
cp $SRCPATH/JSON/*.h $LIBOUTPUTDIR/
echo "Step 6 : Copy other file needed like bundle"
cp -r $SRCPATH/*.bundle $LIBOUTPUTDIR
echo "Finished Universal facebook-ios-sdk SDK Generation"
echo ""
echo "You can now use the static library that can be found at:"
echo ""
echo $LIBOUTPUTDIR
echo ""
echo "Just drag the facebook-ios-sdk directory into your project to include the Facebook iOS SDK static library"
echo ""
echo ""
exit 0

我的下一步是什么?

谢谢你们的帮助,伙计们。

您需要将当前目录设置为包含.xcodeproj(特殊)文件夹的目录:

(cd $PROJECT_HOME; xcodebuild -target ...)

此外,xcodebuild应该已经在您的$PATH中,这样您就可以转储设置$XCODEBUILD的所有内容。然后,您可以使用xcode-select在Xcode安装之间进行选择(手册页)。

相关内容

最新更新