2013-11-26 27 views
0

我正在尝试为我的Continuos集成使用Xcode 5机器人。我需要创建我的应用程序文件的zip文件。在bash脚本中为我的应用程序创建zip文件

在我的归档方案下我使用这个脚本:

LATESTBUILD=$(ls -1rt /Library/Server/Xcode/Data/BotRuns | tail -1) 
APP="/Library/Server/Xcode/Data/BotRuns/${LATESTBUILD}/output/Archive.xcarchive/Products/Applications/${PRODUCT_NAME}.app" 

echo "Zipping .app for ${PRODUCT_NAME}" 
/usr/bin/zip -r "${APP}.zip" "${APP}" 

echo "Sending to *HockeyApp*" 
curl \ 
-F "status=2" \ 
-F "notify=0" \ 
-F "notes=Testing CI" \ 
-F "notes_type=0" \ 
-F "ipa=${APP}.zip" \ 
-H "X-HockeyAppToken: myToken \ 
https://rink.hockeyapp.net/api/2/apps/myAppID/app_versions/upload 

这将创建一个.zip文件。但是,不是实际的应用程序,而是$ {app}的整个文件夹结构。

如何创建仅包含实际应用程序的zip文件?

回答

0

通过在压缩它之前进入目录来解决这个问题。

cd "/tmp/Archive.xcarchive/Products/Applications/" 
0

要使用curl指定文件参数,必须在文件名前添加@。正确的将是:

echo "Sending to *HockeyApp*" 
curl \ 
-F "status=2" \ 
-F "notify=0" \ 
-F "notes=Testing CI" \ 
-F "notes_type=0" \ 
-F "[email protected]${APP}.zip" \ 
-H "X-HockeyAppToken: myToken \ 
https://rink.hockeyapp.net/api/2/apps/myAppID/app_versions/upload 
+0

我也试过这个。但会再试一次,只是为了仔细检查。我已经这么多次来回奔跑,以至于我失去了计数。今晚会检查!谢谢! – Mikael

+0

我发现问题是什么。这不是压缩我的应用程序,而是压缩xcarchive文件。你知道为什么吗? – Mikael