【问题标题】:xcodebuild -create-framework error: unable to read the filexcodebuild -create-framework 错误:无法读取文件
【发布时间】:2019-06-15 11:03:03
【问题描述】:

我看过“快速二进制框架”并尝试使用 xcodebuild -create-framework 构建 xcframework 但它无法正常工作。

我启用了“为分发构建库”,然后我存档并使用了命令 xcodebuild -create-framework -framework /path/sample.xarchive -output sample.xcframework

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

系统信息:

MacOS:Catalina beta 1

Xcode 11

【问题讨论】:

    标签: swift xcodebuild


    【解决方案1】:

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

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

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

    3) 选择 Generic iOS Device 后,从 Xcode 产品菜单存档,输出将出现在管理器中。 Control-单击存档。选择Show in Finder 将其拖到终端以获取存档路径并附加路径(黄色部分为拖动路径,灰色在子文件夹中导航)。在这种情况下,它看起来像这样,我使用 ~ 来避免显示整个路径。

    ~/Library/Developer/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 
    

    5) 然后你应该看到输出:

    xcframework successfully written out to: ~/Project/Output.xcframework
    

    我希望不久的将来 Xcode 会添加一个无需命令行直接创建 XCFramework 的功能。

    【讨论】:

    • 我犯的错误是将路径放入 .xcarchive 文件而不是存档中包含的 .framework 文件。
    • 是否有可能Build Libraries for Distribution必须在项目设置中设置,不能用作xcodebuild的参数?我见过有人提到使用BUILD_LIBRARIES_FOR_DISTRIBUTION=YES,但它对我没有用。我必须在项目设置中设置它
    • 请注意,“Build Library for Distribution”选项仅在 Xcode 11 中可用。
    【解决方案2】:

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

    1. xcodebuild 存档

    这会将框架归档并可能将其粘贴到项目的构建目录中。

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

    这应该会成功生成 XCFramework。

    【讨论】:

      【解决方案3】:

      你输入了错误的命令:

      xcodebuild -create-xcframework -framework /path/sample.xarchive -output sample.xcframework
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-03-04
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 2014-07-28
        • 2021-03-04
        • 2017-04-15
        相关资源
        最近更新 更多