• <i id='jCskH'><tr id='jCskH'><dt id='jCskH'><q id='jCskH'><span id='jCskH'><b id='jCskH'><form id='jCskH'><ins id='jCskH'></ins><ul id='jCskH'></ul><sub id='jCskH'></sub></form><legend id='jCskH'></legend><bdo id='jCskH'><pre id='jCskH'><center id='jCskH'></center></pre></bdo></b><th id='jCskH'></th></span></q></dt></tr></i><div id='jCskH'><tfoot id='jCskH'></tfoot><dl id='jCskH'><fieldset id='jCskH'></fieldset></dl></div>
    • <bdo id='jCskH'></bdo><ul id='jCskH'></ul>
  • <small id='jCskH'></small><noframes id='jCskH'>

    <tfoot id='jCskH'></tfoot>

      <legend id='jCskH'><style id='jCskH'><dir id='jCskH'><q id='jCskH'></q></dir></style></legend>

      1. 每个框架内的 module.modulemap 文件中的 export * 是什么?

        时间:2023-05-19
        <legend id='vSckC'><style id='vSckC'><dir id='vSckC'><q id='vSckC'></q></dir></style></legend>
            <tbody id='vSckC'></tbody>

            1. <small id='vSckC'></small><noframes id='vSckC'>

                  <bdo id='vSckC'></bdo><ul id='vSckC'></ul>
                • <tfoot id='vSckC'></tfoot>
                  <i id='vSckC'><tr id='vSckC'><dt id='vSckC'><q id='vSckC'><span id='vSckC'><b id='vSckC'><form id='vSckC'><ins id='vSckC'></ins><ul id='vSckC'></ul><sub id='vSckC'></sub></form><legend id='vSckC'></legend><bdo id='vSckC'><pre id='vSckC'><center id='vSckC'></center></pre></bdo></b><th id='vSckC'></th></span></q></dt></tr></i><div id='vSckC'><tfoot id='vSckC'></tfoot><dl id='vSckC'><fieldset id='vSckC'></fieldset></dl></div>

                  本文介绍了每个框架内的 module.modulemap 文件中的 export * 是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  我创建了一个名为Communication 的框架,在框架容器内有一个module.modulemap 文件.

                  module.modulemap

                  框架模块通讯{伞头Communication.h"出口 *模块 * { 导出 * }}

                  我可以理解该模块需要伞形标头才能将其公开给包含应用程序/目标.

                  但是另外两行代码是什么意思.

                   导出 *模块 * { 导出 * }

                  如果有人知道这行输出的是什么?

                  解决方案

                  Objective-C Module Map(.modulemap) for Objective-C and Swift

                  Objective-C 语言为 Objective-C 和 Swift 语言公开 API 思想 .modulemap

                  您应该手动创建和设置它

                • 创建框架时[示例]会自动设置
                • 即使你创建了 Swift 框架 Xcode 也会自动创建 modulemap

                  [在同一个应用程序中混合使用 Objective-C 和 Swift]

                  I have created one framework named Communication, inside framework container there is one module.modulemap file.

                  module.modulemap

                  framework module Communication {
                    umbrella header "Communication.h"
                  
                    export *
                    module * { export * }
                  }
                  

                  I can understand that module required umbrella header to expose it to containing application/target.

                  But what is meaning of other two lines of code.

                    export *
                    module * { export * }
                  

                  If any have idea what this lines exporting ?

                  解决方案

                  Objective-C Module Map(.modulemap) for Objective-C and Swift

                  Objective-C language exposes API thought .modulemap for Objective-C and Swift languages

                  [ObjC Module]

                  [Custom .modulemap]

                  It is about LLVM Modules and Module Map Language. Modulemap exposes C header files for external binaries. It is a bridge between module and headers. Modulemap helps to convert #include, #import -> @import because it has a mapping between module name and headers inside. Also modulemap helps to create standalone additional modules and submodules. Modulemap can contains a lot of modules(only one has to have the same name as product name) and a lot of submodules

                  //Objective-C exposes API thought .modulemap for Objective-C and Swift
                  
                  .h.m uses .h.m = Objective-C consumer, Objective-C producer = .modulemap
                  .swift uses .h.m = Swift consumer, Objective-C producer = .modulemap
                  

                  Framework which includes .modulemap is called Modular Framework. Path:

                  module_name.framework/Modules/module_name.modulemap
                  

                  Setup

                  • When you create a library[Example] you should create and setup it manually
                  • When you create a framework[Example] it is setup automatically

                  Even if you create Swift framework Xcode automatically creates modulemap

                  [Mixing Objective-C and Swift in the same Application]

                  这篇关于每个框架内的 module.modulemap 文件中的 export * 是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:iOS 静态与动态框架说明 下一篇:CocoaPod 将 Objective-C 框架导入 Swift 项目时,桥接头中出现“找不到文件"

                  相关文章

                • <small id='HR9Tk'></small><noframes id='HR9Tk'>

                  <i id='HR9Tk'><tr id='HR9Tk'><dt id='HR9Tk'><q id='HR9Tk'><span id='HR9Tk'><b id='HR9Tk'><form id='HR9Tk'><ins id='HR9Tk'></ins><ul id='HR9Tk'></ul><sub id='HR9Tk'></sub></form><legend id='HR9Tk'></legend><bdo id='HR9Tk'><pre id='HR9Tk'><center id='HR9Tk'></center></pre></bdo></b><th id='HR9Tk'></th></span></q></dt></tr></i><div id='HR9Tk'><tfoot id='HR9Tk'></tfoot><dl id='HR9Tk'><fieldset id='HR9Tk'></fieldset></dl></div>

                  • <bdo id='HR9Tk'></bdo><ul id='HR9Tk'></ul>
                  <legend id='HR9Tk'><style id='HR9Tk'><dir id='HR9Tk'><q id='HR9Tk'></q></dir></style></legend>
                • <tfoot id='HR9Tk'></tfoot>