gpt4 book ai didi

iOS:通过 Xcode Target 构建资源包

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

我想通过 xcode 目标从我的静态库的资源文件创建一个资源包。我看到 Three20 有一个需要导入的 .bundle 文件。

我该怎么做?

最佳答案

重要免责声明:

Apple 不认可此解决方案。当我与一位在 Apple 从事 Xcode 开发的开发人员交谈时,他们告诉我资源包不受 iOS 支持,他们很惊讶这竟然能奏效。

此解决方案适用于 iOS 9 至 13 的手机和平板电脑。然而,iOS 的 future 更新可能会打破这一点。请注意这一点。

现在开始回答:

我知道已经晚了 8 年,但自从我偶然发现了这个问题后,其他人很有可能会发现这个问题,所以我想我会提供一个有用的答案。

第 1 步。创建一个新目标

enter image description here

  • 确保您在Project Navigator
  • 中选择了您的项目
  • 点击目标列表底部的+

第 2 步。创建 macOS 包

enter image description here

我们将在第 3 步将其转换为 iOS Bundle

第 2 步(续)。创建 macOS 包

enter image description here

  • 为您的包命名
  • 点击“完成”

第 3 步。将 Base SDK 从 macOS 更改为 iOS

enter image description here

  • 确保选择了新的资源包目标
  • 转到build设置
  • 查找 Base SDK 并将此值从 macOS 更改为 iOS

此时,从技术上讲,您已经完成了您的问题(为 iOS 创建一个 Resource Bundle 目标),但是还需要一些配置才能使其正常工作

第 4 步。替换 iOS Bundle 资源

enter image description here

  • 确保选择了应用目标(不是资源包)
  • 转到构建阶段
  • 选择所有资源
  • -按钮删除它们

第 4 步(续)。替换 iOS Bundle 资源

enter image description here

  • + 按钮将新的资源包添加到 iOS 应用(未图示)
  • 选择您的 bundle 产品
  • 点击“添加”

第 5 步。设置依赖项

enter image description here

  • 打开 Dependencies 部分(仍在 Build Phases 下并且仍在您的应用程序中,而不是资源包中)
  • 点击+按钮添加新的依赖

第 5 步(续)。设置依赖

enter image description here

  • 选择资源包项目
  • 点击“添加”

现在你完成了!

完成所有这些步骤后,您将构建一个与 iOS 兼容的资源包并将其嵌入到要加载的应用程序中。它不是那么直截了当,很多文章可能会说这是不受支持的,但我已经在已发布的应用程序中使用了这个功能,并且效果很好

请记住,如果您想现在向您的应用程序添加任何资源(PNG、XIB 文件等),您需要将它们添加到而不是应用程序,如下所示:

enter image description here

重要问题

设置完成后,再检查一次资源包的build设置。查找标题为“版本控制系统”的设置。此值必须设置为。如果将其设置为 Apple Generic,您在尝试推送到应用商店时遇到问题!

Apple 的版本控制系统将创建一个 *_vers.c 文件,对其进行编译,并将该二进制文件嵌入到您的包中。由于这不是有效的 CFBundleExecutable,它会导致您的应用被拒绝并出现错误 ITMS-90171

enter image description here

关于iOS:通过 Xcode Target 构建资源包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8458953/

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