加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – Xcode从命令行构建应用程序到ipa

发布时间:2020-12-14 19:12:52 所属栏目:百科 来源:网络整理
导读:我无法从命令行构建ipa签名文件.首先谈谈我的环境: 1.申请 我从模板“Master-Detail Application”准备了一个简单的iPad应用程序.在代码中没有更改,在设置中没有任何改变.只是简单的新项目. 2.构建脚本 这是我的构建“脚本” cd /Users/admin/Desktop/signt
我无法从命令行构建ipa签名文件.首先谈谈我的环境:

1.申请
我从模板“Master-Detail Application”准备了一个简单的iPad应用程序.在代码中没有更改,在设置中没有任何改变.只是简单的新项目.

2.构建脚本
这是我的构建“脚本”

cd /Users/admin/Desktop/signtest/signtest/

xcodebuild -target signtest -configuration Debug -sdk iphonesimulator4.3 clean build

/usr/bin/xcrun -sdk iphoneos PackageApplication -v /Users/admin/Desktop/signtest/signtest/build/Debug-iphonesimulator/signtest.app -o /Users/admin/Desktop/binaries/signtest.ipa --sign "iPhone Developer: Marcin Zyga (CLJR93MXJ6)" --embed "/Users/admin/Library/MobileDevice/Provisioning Profiles/94D99766-0268-4E0E-B8D1-053063BB2DA1.mobileprovision"

3.问题

构建应用程序,然后我尝试从构建中生成一个ipa文件.但我有这个:

** BUILD SUCCEEDED **

Packaging application: '/Users/admin/Desktop/signtest/signtest/build/Debug-iphonesimulator/signtest.app'
Arguments: embed=/Users/admin/Library/MobileDevice/Provisioning Profiles/94D99766-0268-4E0E-B8D1-053063BB2DA1.mobileprovision  verbose=1  output=/Users/admin/Desktop/binaries/signtest.ipa  sign=iPhone Developer: Marcin Zyga (CLJR93MXJ6)  
Environment variables:
HOME = /Users/admin
SUDO_GID = 20
DISPLAY = /tmp/launch-vj2zx7/org.x:0
VERSIONER_PERL_PREFER_32_BIT = no
MAIL = /var/mail/root
SSH_AUTH_SOCK = /tmp/launch-YPyQMl/Listeners
PWD = /Users/admin/Desktop/signtest/signtest
LANG = pl_PL.UTF-8
USER = root
LOGNAME = root
__CF_USER_TEXT_ENCODING = 0x0:29:42
USERNAME = root
SHLVL = 1
OLDPWD = /SMT/ci_shell_scripts
_ = /usr/bin/xcrun
PATH = /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
LSCOLORS = GxFxCxDxBxegedabagaced
SUDO_USER = admin
SHELL = /bin/bash
TERM = xterm-256color
SUDO_COMMAND = ./sign_test_ipa.sh
VERSIONER_PERL_VERSION = 5.12
SUDO_UID = 502

Output directory: '/Users/admin/Desktop/binaries/signtest.ipa'
Temporary Directory: '/tmp/eiJTk08At3'  (will NOT be deleted on exit when verbose set)
+ /bin/cp -Rp /Users/admin/Desktop/signtest/signtest/build/Debug-iphonesimulator/signtest.app /tmp/eiJTk08At3/Payload
Program /bin/cp returned 0 : []
### Checking original app
+ /usr/bin/codesign --verify -vvvv /Users/admin/Desktop/signtest/signtest/build/Debug-iphonesimulator/signtest.app
Program /usr/bin/codesign returned 1 : [/Users/admin/Desktop/signtest/signtest/build/Debug-iphonesimulator/signtest.app: object file format unrecognized,invalid,or unsuitable
]
error: Codesign check fails : /Users/admin/Desktop/signtest/signtest/build/Debug-iphonesimulator/signtest.app: object file format unrecognized,or unsuitable

重要的是这里:

Program /usr/bin/codesign returned 1 : [/Users/admin/Desktop/signtest/signtest/build/Debug-iphonesimulator/signtest.app: object file format unrecognized,or unsuitable
    ]
    error: Codesign check fails : /Users/admin/Desktop/signtest/signtest/build/Debug-iphonesimulator/signtest.app: object file format unrecognized,or unsuitable

我无法找到解决方案.

4.我已经做了什么
这是我已经尝试过的列表.但是,如果你确定我已经尝试过的东西是我的问题的解决方案,请逐步写下如何做到这一点(也许我之前做错了).

> That codesign returned 1 (object ifile format invalid or unsuitable) problem again – 添加了支持的代码行,完全没有效果
> Xcode – Sharing app – PackageApplication failed with exit code 1 – 在构建设置中设置代码签名资源规则$(SDKROOT)/ResourceRules.plist的路径
> iPhone Codesign object file format invalid or unsuitable – 调用命令

sudo mv /usr/bin/codesign_allocate /usr/bin/codesign_allocate_old
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate /usr/bin

5.我想??要实现的目标
我正在尝试生成一个用开发者证书签名的ipa文件,这样我就可以通过iTunes上传ipa文件在设备上进行测试.

6.回答下面的答案

>我已将构建命令行更改为:

xcodebuild -target signtest -configuration Debug -sdk iphoneos clean build

但现在我得到了:

=== BUILD NATIVE TARGET signtest OF PROJECT signtest WITH CONFIGURATION Debug ===
Check dependencies
[BEROR]Code Sign error: Provisioning profile '94D99766-0268-4E0E-B8D1-053063BB2DA1' can't be found


** BUILD FAILED **

我已在xcode中为此项目手动设置配置文件.我经过双重检查,他们在那里.我在这里做错了什么?此外,当我使用附加设备构建时,一切都很顺利,应用程序从我的iPad开始.

解决方法

您正在构建脚本中选择iPhone Simulator SDK.将其切换到真正的SDK.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读