OGeek|极客世界-中国程序员成长平台

标题: php - 如何使用php创建ipa文件 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 11:05
标题: php - 如何使用php创建ipa文件

我正在尝试从 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-推荐答案


xcodebuild 正在寻找的私钥和证书通常存储在您的钥匙串(keychain)中。当您以自己的身份登录时,您可以使用 Keychain Access GUI 查看您的钥匙串(keychain)。使用该 GUI 导出证书和私钥。

然后考虑使用“安全”命令行工具将 xcodebuild 正在寻找的私钥和证书对导入 _www 用户的钥匙串(keychain)。您可能必须实际为 _www 用户创建一个钥匙串(keychain)(我只使用可以登录的普通用户进行构建)。

关于php - 如何使用php创建ipa文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16688872/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4