1

我即将为几个客户定制一个项目。该项目使用 CocoaPods 和 Storyboard。由于我希望修复一些错误并在此过程中为每个客户端在 UI 中进行一些更改,我想像这样组织项目: 1. 将启动的 iOS 应用程序转换为已编译的静态库(不知何故) 2. 创建新的定制应用程序。将其链接到静态库。3. 将原来的 Storyboard 复制到新定制的 App 中。

现在在“新”故事板中,我可以根据客户需求应用更改。Storyboard 中的每个 ViewController 都作为自定义类引用,在原始应用程序(现在是编译的静态库)中定义了一个类。这样,我总是可以替换或扩展原始类,并将新的类设置为情节提要中我的 ViewControllers 的自定义类。

这对我来说听起来不错。但我无法让它工作。1. 我设法从原始 iOS 应用程序中创建了一个静态库,将次要目标作为静态库添加到项目中。在头文件搜索路径、标志和链接框架苦苦挣扎之后,我编译了它(有很多警告) 2. 我创建了一个新项目并链接了静态库,但无法编译它。

我的问题是。1. 我这样做对吗?2. 如果我有一个带有相关头文件的静态库,并且我创建另一个使用前一个的静态库。如果我想将第二个创建的库用于新项目,我是否必须将它与库和头文件链接?

4

1 回答 1

0
  1. 它理论上应该可以工作,尽管我个人会走创建静态框架而不是静态库的路线,因为框架应该更容易链接到,可以为不同的架构提供不同的版本,并且包含相同的标题包裹。查看此项目以向 Xcode 添加框架项目类型: https ://github.com/kstenerud/iOS-Universal-Framework 。(有人真的需要在 Apple 上默认包含 Framework 目标类型)

  2. 如果我错了,有人可以纠正我,但据我了解:是的,您需要将两个库链接到最终的可执行文件中。针对库 1 编译库 2 不会将库 1 的代码合并到库 2 中。

我们需要获取有关编译错误的更具体信息,以帮助您将静态库链接到新项目中。

于 2013-03-07T20:06:29.890 回答