xcodeenv, titaniumenv: fix IPA builds by granting codesign the right permissions
This commit is contained in:
parent
c42cfa1e91
commit
b81001188c
@ -99,6 +99,7 @@ stdenv.mkDerivation {
|
|||||||
security default-keychain -s $keychainName
|
security default-keychain -s $keychainName
|
||||||
security unlock-keychain -p "" $keychainName
|
security unlock-keychain -p "" $keychainName
|
||||||
security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A
|
security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A
|
||||||
|
security set-key-partition-list -S apple-tool:,apple: -s -k "" $keychainName
|
||||||
provisioningId=$(grep UUID -A1 -a ${iosMobileProvisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}")
|
provisioningId=$(grep UUID -A1 -a ${iosMobileProvisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}")
|
||||||
|
|
||||||
# Ensure that the requested provisioning profile can be found
|
# Ensure that the requested provisioning profile can be found
|
||||||
@ -130,7 +131,7 @@ stdenv.mkDerivation {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Do the actual build
|
# Do the actual build
|
||||||
titanium build --config-file $TMPDIR/config.json --force --no-colors --platform ios --target dist-adhoc --pp-uuid $provisioningId --distribution-name "${iosCertificateName}" --keychain $HOME/Library/Keychains/$keychainName --device-family universal --ios-version ${iosVersion} --output-dir $out
|
titanium build --config-file $TMPDIR/config.json --force --no-colors --platform ios --target dist-adhoc --pp-uuid $provisioningId --distribution-name "${iosCertificateName}" --keychain $HOME/Library/Keychains/$keychainName-db --device-family universal --ios-version ${iosVersion} --output-dir $out
|
||||||
|
|
||||||
# Remove our generated keychain
|
# Remove our generated keychain
|
||||||
${deleteKeychain}
|
${deleteKeychain}
|
||||||
|
@ -62,6 +62,9 @@ stdenv.mkDerivation {
|
|||||||
# Import the certificate into the keychain
|
# Import the certificate into the keychain
|
||||||
security import ${certificateFile} -k $keychainName -P "${certificatePassword}" -A
|
security import ${certificateFile} -k $keychainName -P "${certificatePassword}" -A
|
||||||
|
|
||||||
|
# Grant the codesign utility permissions to read from the keychain
|
||||||
|
security set-key-partition-list -S apple-tool:,apple: -s -k "" $keychainName
|
||||||
|
|
||||||
# Determine provisioning ID
|
# Determine provisioning ID
|
||||||
PROVISIONING_PROFILE=$(grep UUID -A1 -a ${provisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}")
|
PROVISIONING_PROFILE=$(grep UUID -A1 -a ${provisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}")
|
||||||
|
|
||||||
@ -77,7 +80,7 @@ stdenv.mkDerivation {
|
|||||||
''}
|
''}
|
||||||
|
|
||||||
# Do the building
|
# Do the building
|
||||||
xcodebuild -target ${_target} -configuration ${_configuration} ${stdenv.lib.optionalString (scheme != null) "-scheme ${scheme}"} -sdk ${_sdk} TARGETED_DEVICE_FAMILY="1, 2" ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${if generateXCArchive then "archive" else ""} ${xcodeFlags} ${if release then ''"CODE_SIGN_IDENTITY=${codeSignIdentity}" PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName"'' else ""}
|
xcodebuild -target ${_target} -configuration ${_configuration} ${stdenv.lib.optionalString (scheme != null) "-scheme ${scheme}"} -sdk ${_sdk} TARGETED_DEVICE_FAMILY="1, 2" ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${if generateXCArchive then "archive" else ""} ${xcodeFlags} ${if release then ''"CODE_SIGN_IDENTITY=${codeSignIdentity}" PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName-db"'' else ""}
|
||||||
|
|
||||||
${stdenv.lib.optionalString release ''
|
${stdenv.lib.optionalString release ''
|
||||||
${stdenv.lib.optionalString generateIPA ''
|
${stdenv.lib.optionalString generateIPA ''
|
||||||
|
Loading…
x
Reference in New Issue
Block a user