Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Continuous integration Xcode Server after trigger $XCS_PRODUCT not set

I had a bot that was working perfectly under Xcode 6.4. An after trigger script was automatically uploading the IPA using this path : "$XCS_OUTPUT_DIR/$XCS_PRODUCT"

However (even after redoing a bot from scratch) it appears that :

  • $XCS_PRODUCT is Always empty.
  • $XCS_OUTPUT_DIR is pointing to a folder that does not exist because after checking out on server it appears that Xcode server is storing .ipa there : /Library/Developer/XcodeServer/IntegrationAssets/

How to find my .ipa without this variable during my after trigger script?

like image 536
Ganzolo Avatar asked Sep 21 '15 15:09

Ganzolo


1 Answers

I had the same problem and after discussion on Apple Developer Forums I found out that there actually is .IPA file inside

/Library/Developer/XcodeServer/Integrations/Integration-INTEGRATION_ID/ExportedProduct/

directory and you can access it from After Trigger Script by using something like

originalBinaryName=$(basename "${XCS_ARCHIVE%.*}".ipa)
originalBinaryPath="${XCS_OUTPUT_DIR}/ExportedProduct/Apps/${originalBinaryName}"

I have also sent a bug report, because $XCS_PRODUCT should not be empty anyway, and it would be nice to have new environment variable for the complete path of .IPA file.

like image 193
tadija Avatar answered Oct 22 '22 07:10

tadija