【问题标题】:executing xcodebuild from php website从 php 网站执行 xcodebuild
【发布时间】:2013-07-21 01:27:07
【问题描述】:

我已经编写了适当的 xcode 构建脚本,当我从命令行运行它们时,它们每次都能正常工作。

我的 apache 系统作为我的本地用户/组 (myuser/staff) 运行,所以它应该具有适当的权限(我认为)。

我遇到的问题是,虽然构建正在生成,但它没有签名。

最后,我收到“Program /usr/bin/codesign returned 1 : [/tmp/1u_gMG7iJU/Payload/myapp.app: code object is not signed at all”错误。

就像我说的,如果我直接从命令行执行完全相同的脚本,它会完美运行。

我尝试依靠 xcodebuild clean build 命令来分配正确的配置文件,但这不起作用,因为我实际上生成了两个构建。一个带有企业(通配符),以便我们可以快速轻松地进行内部测试,另一个带有精确的配置文件。所以我需要能够指定要使用的配置文件。

我尝试在签名过程中指定 CODE_SIGN_IDENTITY 和 PROVISIONING_PROFILE 值,但不起作用

我尝试过指定 --sign 和 --embed 标志也无济于事。

我当前工作的 xcodebuild 命令是:

/usr/bin/xcodebuild -project /path/to/my.xcodeproj CODE_SIGN_IDENTITY="iPhone Distribution: My Company" PROVISIONING_PROFILE="my-provisioning-profile-uuid" 干净构建;

/usr/bin/xcrun -sdk iphoneos PackageApplication -v /path/to/build/Release-iphoneos/myapp.app -o /path/to/my/output/myapp.ipa --sign "iPhone 发行版:我的公司”--embed “/local/path/to/provisioning profiles/my-provisioning-profile-uuid.mobileprovisioningprofile”;

谁能想到我没试过的东西?

我开始认为也许我应该设置一个自定义钥匙串来保存自动构建的所有证书等,但我不太确定这个兔子洞是否会得到回报。

如果我要走这条路,我是否需要对配置文件拥有特殊权限?我是否必须重新创建我所有的活动配置文件(我宁愿不必这样做)。我是否必须移动我的配置文件所在的位置?

我认为 MAY 工作的另一种可能性(同样可能不工作)是默认我的所有应用程序都使用企业证书签名,只有当我准备好发布它们时,我才指定“生产”证书......我可以通过脚本做到这一点吗?

我真的不知道该怎么做,到目前为止,我所搜索的任何东西都没有让我更接近。

感谢您的帮助!

【问题讨论】:

  • 我相信就钥匙串而言,您走在正确的轨道上,您能否让您的 PHP 脚本运行 whoami 以查看它以哪个用户身份执行?然后我会尝试使用sudo -u phpuser 调用构建
  • 正如我所提到的,用户正在以我的本地用户身份运行......这让我发疯了!

标签: php iphone ios xcode xcodebuild


【解决方案1】:

为了回答我自己的问题,我最终做的是创建一个 ANT 构建脚本。第一个过程是通过 SSH 连接到我自己的用户帐户,并且该用户拥有所有适当的权限。这也让我不必纠结于 apache 用户设置。

【讨论】:

    猜你喜欢
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 2010-10-02
    • 1970-01-01
    相关资源
    最近更新 更多