美文网首页iOS开发者图书馆
11、iOS强化 --- XCFramework

11、iOS强化 --- XCFramework

作者: Jax_YD | 来源:发表于2021-03-15 23:10 被阅读0次
    • XCFramework:是苹果官方推荐的、支持的,可以更方便的表示一个多平台和架构的分发二进制库的格式。
      需要Xcode 11以上支持。
      是为更好的支持Mac Catalyst 和 ARM芯片的macOS。
      专门在2019年提出的framework的另一种先进格式。

    • XCFramework和传统的Framework相比:
      1、可以用单个.xcframework文件提供多个平台的分发二进制文件;
      2、与Fat Header相比,可以按照平台划分,可以包含相同架构的不同平台的文件;
      3、在使用时。不需要再通过脚本去剥离不需要的架构体系。

    • 目前XCFramework只能通过终端来生成。

    创建和使用XCFramework

    • 1、首先我们创建一个动态库如下:


      image
    • 2、分别生成针对模拟器真机.xcarchive文件:
    xcodebuild archive -project 'YSFramework.xcodeproj' \
    -scheme 'YSFramework' \
    -configuration Release \
    -destination 'generic/platform=iOS Simulator' \
    -archivePath '../archives/YSFramework.framework-iphonesimulator.xcarchive' \
    SKIP_INSTALL=NO
    
    xcodebuild archive -project 'YSFramework.xcodeproj' \
    -scheme 'YSFramework' \
    -configuration Release \
    -destination 'generic/platform=iOS' \
    -archivePath '../archives/YSFramework.framework-iphoneos.xcarchive' \
    SKIP_INSTALL=NO
    
    image
    image
    • 3、创建XCFramework
    xcodebuild -create-xcframework \
    -framework '../archives/YSFramework.framework-iphoneos.xcarchive/Products/Library/Frameworks/YSFramework.framework' \
    -framework '../archives/YSFramework.framework-iphonesimulator.xcarchive/Products/Library/Frameworks/YSFramework.framework' \
    -output 'YSFramework.xcframework'
    
    image
    如果要带入调试符号,可以这样写(添加-debug-symbols,后面跟着的必须是绝对地址):
    xcodebuild -create-xcframework \
    -framework '../archives/YSFramework.framework-iphoneos.xcarchive/Products/Library/Frameworks/YSFramework.framework' \
    -debug-symbols '/Users/aaron/Desktop/XCFramework/archives/YSFramework.framework-iphoneos.xcarchive/BCSymbolMaps/29AAC2F6-3311-3B93-9841-DADB7F1E0137.bcsymbolmap' \
    -debug-symbols '/Users/aaron/Desktop/XCFramework/archives/YSFramework.framework-iphoneos.xcarchive/dSYMs/YSFramework.framework.dSYM' \
    -framework '../archives/YSFramework.framework-iphonesimulator.xcarchive/Products/Library/Frameworks/YSFramework.framework' \
    -debug-symbols '/Users/aaron/Desktop/XCFramework/archives/YSFramework.framework-iphonesimulator.xcarchive/dSYMs/YSFramework.framework.dSYM' \
    -output 'YSFramework.xcframework'
    
    • 4、使用XCFramework
      创建工程YSApp:
      image
      将XCFramework拖入工程并使用:
      image
    image

    相关文章

      网友评论

        本文标题:11、iOS强化 --- XCFramework

        本文链接:https://www.haomeiwen.com/subject/msqkcltx.html