Xcode如何彻底重命名通用框架?

How to thoroughly rename a Universal Framework in Xcode?

我正在构建一个框架,最初名为 Iris

当我尝试将其发布为 Cocoapod 时,我发现已经有一个 "Iris" 框架

虽然他们有完全不同的目的和作者,但我无法将其发布为具有此名称的广告连播。所以我做了不可思议的事情

我试着将整个东西重命名为 IrisKit

我的 Xcode 项目,现在名为 IrisKit,有 6 个目标:

3 个框架目标

- IrisKit iOS
- IrisKit tvOS
- IrisKit macOS

3 个示例项目

- IrisKit Example iOS
- IrisKit Example tvOS
- IrisKit Example macOS

不幸的是,我的示例项目 不允许我导入 IrisKit 并出现以下错误:

warning: file 'FeedTableViewController.swift' is part of module 'IrisKit'; ignoring import

开发人员要做什么?

备份你的项目,或者如果你在源代码管理下,创建一个新分支并从那里开始工作。

以下是采取的步骤:

1.在项目的 "Identity and Type"

中重命名了项目

2。将方案重命名为 IrisKit

3。将文件夹和组重命名为 IrisKit

4.在 Build-Settings > Packaging

下更新了 info.plist 参考

5.在 Build-Settings > Packaging

下更新了 Bundle Identifiers

6.将 Public Header 更新为 IrisKit.h

7.更新示例项目导入到 IrisKit

8.更新的依赖管理:

   - Swift Package Manager
   - Cocoapods specs

9.最后,上帝啊,这很重要:

不打算使用框架构建的目标必须具有与其使用的框架不同的产品名称。例如展示框架的示例项目

这听起来很明显,但在大量重命名时很容易被忽略

-

多个构建目标的同名框架:

和示例目标。请注意,该名称与框架目标不同。

我花了一段时间才弄明白这个问题。希望对你有帮助。