問題 - 短版:當從命令行創建IPA時,爲什麼我的構建階段腳本不能執行?
爲什麼我的構建phase scripts
可以通過命令行創建IPA時執行? 當我運行xcodebuild
創建一個IPA預定義的構建階段腳本沒有得到執行。這是爲什麼?
問題 - 冗長的版本:
我有一個方案,我想從命令行出來的創建IPA一個工作區。
這工作正常,除了一件事;我在目標的構建階段中有兩個腳本,用於放置正確的應用程序版本(CFBundleShortVersionString
)和正確的svn修訂版號(CFBundleVersion
)。這些腳本在從xcode存檔時工作正常,但由於某些原因,它們在從命令行存檔時無法運行。 首先這是爲什麼?
這裏是正在使用的腳本(如果歸檔形式的Xcode)
歸檔時和命令行怎麼辦?(要點)創建IPA
# Building
xcodebuild ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release clean build
# Creating IPA
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${PROJECT_BUILD_DIR}/${APPLICATION_NAME}.app" -o "${IPA_OUTPUT_PATH}/${APPLICATION_NAME}.ipa"
它的工作原理並創建一個IPA,但沒有任何構建階段腳本得到執行,同時保持版本號和版本號不變。
所有的建議表示讚賞!
UPDATE DUE TO BDASH的回答
而不是使一個乾淨的構建中我做的安裝爲
xcodebuild install ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release
預定義的腳本實際上將被執行(可在項目版本號可以看出)在安裝過程中沒有錯誤。但是,創建的IPA將具有〜300字節的大小(而不是〜10MB),並且不能安裝在設備上。
安裝之前構建的應用程序,即
# Building
xcodebuild clean build ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release
# Installing
xcodebuild install ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release
,然後創建IPA會導致與執行版本腳本的IPA和正確的尺寸但的,不可能在設備上安裝它。試圖將其放在設備上會顯示錯誤消息
「程序」MyApp「未安裝在您的iPhone設備」我的設備「上,因爲發生了未知錯誤。」
我假設,如果你是從命令行構建的,'xcodebuild'假定你自己正在執行腳本。對我來說就像一個錯誤。 –
你真的最終得到解決方案嗎? – fatuhoku