0

Xcode 5 seems to have changed the way it stores the build application package (xxx.app) such that ditto no longer works. In the ../BuildProductsPath/Release/ directory, the app is actually a symlink to .../InstallationBuildProductsLocation/Applications/...

MyApp.app -> ~/Library/Developer/Xcode/DerivedData/MyApp-emwilkqhlayanxahjpexlpbbkato/Build/Intermediates/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp

This breaks the ditto command I was using to create a zip file of the application to put on my Sparkle update server.

Anyone have an updated script for building the Sparkle XML and ZIP files? Or know what environment variable I need to use to locate my actual binary after the Archive phase?

Here's the relevant lines from the post-archive script:

ARCHIVE_FILENAME="$HOME/Desktop/$PROJECT_NAME-$VERSION_STRING.zip"

cd "$BUILT_PRODUCTS_DIR"

ditto -ck --keepParent "$PROJECT_NAME.app" "$ARCHIVE_FILENAME"

That's from the sample script on the Sparkle website.

Flyingdiver
  • 2,142
  • 13
  • 18

1 Answers1

0

Turns out that in Xcode5 you need to pull the app package from the archive directory, not the Built Products directory. This works:

ARCHIVE_FILENAME="$HOME/Desktop/$PROJECT_NAME-$VERSION_STRING.zip"
ditto -ck --keepParent "${ARCHIVE_PRODUCTS_PATH}/Applications/${PROJECT_NAME}.app" "$ARCHIVE_FILENAME"
Flyingdiver
  • 2,142
  • 13
  • 18