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

13

我正在构建一个框架,最初被命名为 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个回答

32

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

以下是所采取的步骤:

1. 在项目的"身份和类型"中重命名项目

enter image description here

2. 将计划方案重命名为IrisKit

enter image description here

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

enter image description here

4. 在“构建设置”>“打包”下更新info.plist引用

enter image description here

5. 在“构建设置”>“打包”下更新捆绑标识符

enter image description here

6. 将公共头文件更新为IrisKit.h

enter image description here

7.将示例项目导入更新为IrisKit

enter image description here

8. 更新依赖关系管理:

   - Swift Package Manager
   - Cocoapods specs

9. 最后,这一点非常重要:

那些不打算用该框架进行构建的目标必须具有不同于它们所使用的框架的产品名称。例如:一个展示框架的示例项目。

听起来很明显,但在大规模重命名时可能很容易忽略。

-

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

enter image description here

enter image description here

enter image description here

还有示例目标。请注意,其名称与框架目标不同。

enter image description here

我花了一段时间才想到这个问题,希望能够帮到你。


非常感谢您的解释,真是太棒了! - raistlin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接