【问题标题】:How to add xcode framework from external folder?如何从外部文件夹添加 xcode 框架?
【发布时间】:2016-05-10 23:41:00
【问题描述】:

我们有两个不同的应用程序:一个用于 iPhone,一个用于 iPad,它们没有使用工作区链接。因此,可以将它们视为位于两个不同的未链接文件夹中。

现在,我创建了一个 iOS 框架(Cocoa Touch Framework),我想将它包含在 iPhone 和 iPad 中。所以,根据我遇到的教程,我在 iOS App 项目中创建了对框架的 Xcode-Project 文件的引用,但是当我按照下一步“添加目标依赖项”时,这个框架没有显示出来。

我不知道该怎么做。我想在不创建更多框架副本的情况下将框架包含在两者中。

提前致谢。

【问题讨论】:

  • 你可以看视频youtube.com/watch?v=HmfEuhb8Lls这可能对你有帮助。
  • 这是我所知道的正常方式。我想避免这种情况,因为我必须始终找到 .framework 文件夹,然后在 .framework 文件夹中发生任何更改时将其添加到项目中

标签: ios objective-c iphone xcode ipad


【解决方案1】:

Target>Project>Build Phase>Link Binary with Libraries>Add items(+)>Add Others>Path to external framework.

【讨论】:

  • 我绝对可以这样添加。但是,由于我要在框架中进行更改,所以每当它发生更改时,我都需要不断地添加它。这需要我们进行大量管理。
  • 我没有使用工作区
【解决方案2】:

我添加更多信息。确保:

1 Target>Project>Build Phase>Link Binary with Libraries>Add items(+)>Add Others>Path to external framework.

2 构建设置 > 框架搜索路径 > 添加框架父路径

基于这两个设置,您可以在项目之外链接外部框架。

【讨论】:

  • Xcode 太糟糕了。我单击并将框架从库工作区中的“产品”组拖到我的测试项目的“框架、库和嵌入式内容”中,它似乎可以工作:它将框架添加到“框架”组中。我点击它,它准确地显示了框架的完整路径。由于未设置框架搜索路径,构建失败。 Xcode“知道”它在哪里,但它不能“找到它”。谢谢
【解决方案3】:

Embedded Binaries 中添加custom framework,如下图所示。因为不是系统框架,所以需要复制到应用包中。

关于嵌入式二进制文件:

【讨论】:

  • 您的意思是“复制到应用程序包中”而不是“复制到项目中”,对吧?
  • 这样做意味着,每当您在框架中进行更改时,您都需要再次添加它。这种方式需要更多的管理。我希望将其添加为子项目框架,但带有外部文件夹。
  • @ShubhamAggarwal 不,您不需要在任何更改后再次添加它。这意味着应用程序包需要该自定义框架的二进制文件。如果是系统框架,可以在移动设备中找到框架的二进制文件,但如果是自定义框架,则无法找到框架的二进制文件。因此,框架的二进制文件需要包含在应用程序包中。
  • @ShubhamAggarwal 如果添加自定义框架,位于路径'/User/xxx/A',更改自定义框架后,需要将构建的框架同步到'/User/xxx /一种'。您可以编写一些脚本来自动执行此类操作。
  • @Toro:这似乎是一个解决方案。但是在团队的情况下它不会很好用。因为框架生成的路径是动态的。以案例为例,如果我删除派生数据。但是,如果该脚本自动找到该动态路径,这可能会起作用。我不知道 Xcode 中的“Run Scripts”选项是否有帮助。
【解决方案4】:

添加到@AechoLiu 的答案,使用 Xcode 11.1,我必须将框架的 Embed 列设置为 Embed & Sign,否则框架将不会被捆绑。

【讨论】:

    【解决方案5】:
    1. 添加外部框架

    2. 构建设置 > 框架搜索路径

    3. 找到相关路径并用“递归”更新它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-29
      • 2012-02-02
      • 1970-01-01
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多