gpt4 book ai didi

frameworks - xcframework 不包含内部框架

转载 作者:行者123 更新时间:2023-12-03 20:27:11 31 4
gpt4 key购买 nike

我正在尝试创建一个 .xcframework我正在使用的一些第三方库的文件。按照 https://appspector.com/blog/xcframeworks 中的说明进行操作, 一世

  • 创建特定于平台的 framework文件:
  • # Archive for device
    xcodebuild archive -scheme TestFramework -destination="iOS" -archivePath /tmp/xcf/ios.xcarchive -derivedDataPath /tmp/iphoneos -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES

    # Archive for simulator
    xcodebuild archive -scheme TestFramework -destination="iOS Simulator" -archivePath /tmp/xcf/iossimulator.xcarchive -derivedDataPath /tmp/iphoneos -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES

    在这一点上,我已经得到了两个框架 .swiftmodule文件;一切看起来都不错。框架不附带 .swiftinterface文件,但我认为没关系,因为这些是 objc 项目。然后我
  • 结合个人framework s 形成单 xcframework文件:
  • # Build xcframework with two archives
    xcodebuild -create-xcframework -framework /tmp/xcf/ios.xcarchive/Products/Library/Frameworks/TestFramework.framework -framework /tmp/xcf/iossimulator.xcarchive/Products/Library/Frameworks/TestFramework.framework -output /tmp/xcf/TestFramework.xcframework

    在这里, xcodebuild不会失败,但会发出一个奇怪的错误:
    No 'swiftinterface' files found within '/Users/user/git/ReactiveObjC/output/xcf/ios.xcarchive/Products/Products/Library/TestFramework.framework/Modules/TestFramework.swiftmodule'.

    至关重要的是, .xcframework包裹不包含个人 framework s Info.plist 中指定的文件夹文件。显然,当我尝试链接到 xcframework 时在这种状态下,我收到一堆“缺少符号”链接器错误。

    为什么是这样?我必须做什么才能得到 xcodebuild创建 xcframework完全地?

    注意:手动创建文件夹现在似乎可行,但这感觉不对而且很脆弱——Apple 可以改变方式 xcodebuild随时工作。

    最佳答案

    原来添加 BUILD_LIBRARY_FOR_DISTRIBUTION = YES到最后xcodebuild命令不足以/无法生成具有所需 swiftinterface 的框架文件。我不得不进入实际项目的设置并手动设置 BUILD_LIBRARY_FOR_DISTRIBUTIONYES , 喜欢 this answer建议。在我获得带有 swiftinterface 的框架之后文件,然后我就可以创建 xcframework文件使用 xcodebuild没有任何问题。

    关于frameworks - xcframework 不包含内部框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58805812/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com