我正在尝试从 php 文件运行 shell 脚本来构建和归档 ios 应用程序。这是我到目前为止所做的
在我的 test.php 文件中,我编写了以下代码:
<?php
echo shell_exec("sh build.sh");
?>
在 build.sh 中我写了:
PROJDIR="/Library/WebServer/Documents/ExpertIPA/IPA/MyApp"
PROJECT_NAME="MyApp"
APPLICATION_NAME="MyApp"
TARGET_SDK="iphonesimulator6.0"
PROJECT_BUILDDIR="${PROJDIR}/build/Release-iphoneos"
TARGET_TEST_NAME="ExpertApp"
BUILD_HISTORY_DIR="${PROJDIR}/ipa/" #where you want the .ipa to go
DEVELOPER_NAME="iPhone Distribution: developer Name"
PROVISONING_PROFILE="/Library/WebServer/Documents/ExpertIPA/IPA/ExpertApp/
MyApp_distribution.mobileprovision"
echo Building Project
cd "${PROJDIR}"
build_type_iOS=$2
xcodebuild clean -configuration "${build_type_iOS}"
xcodebuild -target "${PROJECT_NAME}" -configuration Release
if [ $? != 0 ]
then
exit 1
fi
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${PROJECT_BUILDDIR}/${PROJECT_NAME}.app" -o "${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa" --embed "${PROVISONING_PROFILE}"
当我从终端运行我的 build.sh 文件时,它成功地创建了 MyApp.ipa,当我在 mac 终端上运行 test.php 时它工作正常,但是当我从浏览器运行 test.php 时它给出了以下错误消息.
错误信息:
使用配置版本构建 MyApp 项目的原生目标 MyApp === 检查依赖项代码签名错误:身份“iPhone Distribution: Profile_Name”与您的任何有效、未过期的证书/私钥对不匹配 key 扣
最佳答案
xcodebuild 正在寻找的私钥和证书通常存储在您的钥匙串(keychain)中。当您以自己的身份登录时,您可以使用钥匙串(keychain)访问 GUI 查看您的钥匙串(keychain)。使用该 GUI 导出证书和私钥。
然后研究使用“安全”命令行工具将 xcodebuild 正在寻找的私钥和证书对导入到 _www 用户的钥匙串(keychain)中。您可能必须实际为 _www 用户创建一个钥匙串(keychain)(我只用您可以登录的普通用户完成构建)。
关于php - 如何使用php创建ipa文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16688872/