我正在尝试从 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 时,它会给出以下错误消息.
错误信息:
BUILD NATIVE TARGET MyApp OF PROJECT MyApp WITH CONFIGURATION Release === Check dependencies 代码签名错误:身份“iPhone Distribution: Profile_Name”与您的任何有效的、未过期的证书/私钥对不匹配 key 链
Best Answer-推荐答案 strong>
xcodebuild 正在寻找的私钥和证书通常存储在您的钥匙串(keychain)中。当您以自己的身份登录时,您可以使用 Keychain Access GUI 查看您的钥匙串(keychain)。使用该 GUI 导出证书和私钥。
然后考虑使用“安全”命令行工具将 xcodebuild 正在寻找的私钥和证书对导入 _www 用户的钥匙串(keychain)。您可能必须实际为 _www 用户创建一个钥匙串(keychain)(我只使用可以登录的普通用户进行构建)。
关于php - 如何使用php创建ipa文件,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/16688872/
|