gpt4 book ai didi

ios - Xcode 创建通用 Xcode 存档而不是 iOS App Archive?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:10:15 25 4
gpt4 key购买 nike

我正在尝试将我的应用上传到应用商店连接,但我无法验证我的应用。我还看到标识符和其他信息没有显示。 这是为什么?这是个问题吗?如果我可以改变这个,怎么做?[![在此处输入图片描述][1]][1]

我已经尝试了在 [此处][2] 中找到的投票 2+ 的东西。

Incase its relevant: 我正在使用一个带有 cocoapods 的项目

info.plist 的 XML:

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ArchiveVersion</key>
<integer>2</integer>
<key>CreationDate</key>
<date>2019-09-01T20:47:53Z</date>
<key>Name</key>
<string>FinalAppPrj</string>
<key>SchemeName</key>
<string>FinalAppPrj</string>
</dict>
</plist>

[![在此处输入图片描述][3]][3]

最佳答案

Why is this?

这通常发生在 xCode 无法创建有效的分发存档时,因此它只是在管理器的“其他项目”中创建为“通用 Xcode 存档”。

Is it a problem?

是的,因为您将无法将其提交到 Apple Store Connect。您不能打包通用文件,也不能提交它们以供审核。

If I can change this, how?

首先,我们需要检查项目设置:

  • Target > Manage Schemes... 中检查您当前的目标是否是一个有效的项目并选择了 Shared 标志

enter image description here

  • Target > Edit Scheme... 中检查目标是否是唯一启用存档的目标。还要检查 Analyze 和 Archive 选项卡是否在 Build Configuration 中选择了 Release

enter image description here

  • Product > Analyze(Shift + command + B)中,检查是否没有错误。您可以在导航器面板的最后一个图标中访问报告:

enter image description here

我检查了关于 this link 的所有 2 个投票答案,它们主要涵盖了所有可能的解决方案,但我想仔细检查 Apple's support page troubleshoot :

1) 您的存档包含头文件。

如果您使用的是静态库,请检查是否有 Headers 构建阶段。如果是这样,请删除此阶段,将 Copy Files build phase 添加到您的库中,并使用它来导出您的头文件。

enter image description here

2) 您的存档包含静态库或框架。

在这种情况下,库和框架需要将标志 skip install 设置为 YES

enter image description here

然后尝试再次存档。

如果所有解决方案均无效,则会出现 workaround here这包括手动修改存档 .plist 文件并添加缺失的信息。可以访问:

  • 归档您的项目
  • 组织者将展示一个通用 Xcode 存档
  • 右键单击,在查找器中显示
  • 右键单击,显示包内容
  • 在 XML 编辑器中打开 Info.plist 文件

你的有效 .plist 文件应该是这样的:

只需将 PASTE_YOUR_BUNDLE_IDENTIFIER_HERE 替换为您的包标识符,PASTE_YOUR_CERTIFICATE_NAME_HERE 使用您的证书名称,PASTE_YOUR_CERTIFICATE_ID_HERE 使用您的证书 ID,PASTE_YOUR_TEAM_ID_HERE 使用您的团队 ID。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ApplicationProperties</key>
<dict>
<key>ApplicationPath</key>
<string>Applications/FinalAppPrj.app</string>
<key>CFBundleIdentifier</key>
<string>PASTE_YOUR_BUNDLE_IDENTIFIER_HERE</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>SigningIdentity</key>
<string>iPhone Distribution: PASTE_YOUR_CERTIFICATE_NAME_HERE (PASTE_YOUR_CERTIFICATE_ID_HERE)</string>
<key>Team</key>
<string>PASTE_YOUR_TEAM_ID_HERE</string>
</dict>
<key>ArchiveVersion</key>
<integer>2</integer>
<key>CreationDate</key>
<date>2019-09-01T20:47:53Z</date>
<key>Name</key>
<string>FinalAppPrj</string>
<key>SchemeName</key>
<string>FinalAppPrj</string>
</dict>
</plist>

要查看证书名称和ID,最简单的方法是打开Keychain Access.app(Mac Finder > Applications > Utilities > Keychain Access.app),找到证书(您可以按文本“分发”过滤)并查看其详细信息。绿色标出的是名称,红色标出的是括号内的ID。

enter image description here

然后关闭并重新打开 xCode。在 Window > Organizer 中,如果存档位于 iOS Apps 下,则您可以验证和分发应用。

编辑

要添加 iOS 分发证书,请在 xCode 中单击 xCode > Preferences > Accounts > 选择团队并单击 Manage Certificates...。在 Plus 按钮 上,您应该会看到 iOS Distribution:

enter image description here

将此证书添加到项目中,检查钥匙串(keychain)(如果已添加)并将其指向 .plist 文件。

由于您使用的是签名团队,因此您还需要将团队添加到 .plist 中。我用所需的条目更新了 .plist 文件。

关于ios - Xcode 创建通用 Xcode 存档而不是 iOS App Archive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57137084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com