xcodebuild -create-framework错误:无法读取文件

ven*_*nky 4 xcodebuild swift

我已经看过“迅速的二进制框架”,并尝试使用xcodebuild -create-framework构建xcframework,但是它不能正常工作。

我启用了“构建要分发的库”,然后进行了归档,然后使用了以下命令 xcodebuild -create-framework -framework /path/sample.xarchive -output sample.xcframework

但是它显示了一个错误“无法读取/ path / sample / sample中的文件”。我不确定我缺少什么。

系统信息:

MacOS:Catalina beta 1

Xcode 11

pos*_*sen 6

以下是分步说明,我认为您可能缺少步骤2:

1)Build Library for Distribution在目标框架的构建设置中设置为YES

2)再次在构建设置中,将其设置Skip Install为,NO否则框架将不会显示在Archive输出文件夹中。

3)选择您的Xcode产品菜单中的存档后Generic iOS Device,输出将显示在管理器中。按住Control键并单击“存档”。选择“ Show in Finder将其拖动到终端”以获取到存档的路径并追加路径(黄色部分为拖动的路径,灰色在子文件夹中导航)。在这种情况下,我使用〜来避免显示整个路径。

〜/库/开发人员/ Xcode / Archives / 2019-06-22 / Output \ 6-22-19,\ 11.50 \ AM.xcarchive /Products/Library/Frameworks/MyFramework.framework

4)然后通过在上述路径的前面插入命令来创建XCFramework:

xcodebuild -create-xcframework -output Output.xcframework -framework ~/Library/Developer/Xcode/Archives/2019-06-22/Output\ 6-22-19,\ 11.50\ AM.xcarchive/Products/Library/Frameworks/MyFramework.framework 
Run Code Online (Sandbox Code Playgroud)

5)然后,您应该看到输出:

xcframework successfully written out to: ~/Project/Output.xcframework
Run Code Online (Sandbox Code Playgroud)

我希望有一天Xcode会增加一种无需命令行即可直接创建XCFramework的功能。

  • 我犯的错误是将路径放入 .xcarchive 文件而不是存档中包含的 .framework 文件。 (3认同)

cfi*_*elp 2

您必须通过命令行执行两步过程。

  1. xcodebuild 存档

这将存档框架并将其粘贴到项目的构建目录中。

  1. xcodebuild -create-xcframework -output FrameworkName.xcframework -framework build/Release-iphoneos/ArchivedFramework.framework

这应该会成功生成 XCFramework。