问题标签 [module-map]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 如何解决 `Firebase/FirebaseCore.h not found` 与`Failed to build module "MyCustom" from its module interface`?
我尝试在我的(演示项目)中使用我生成的“MyCustom.xcframework”。“MyCustom.xcframework”有没有 Cocoapods 的 Firebase。我跟着这个。https://mokacoding.com/blog/setting-up-firebase-without-cocoapods/。
在我的(演示项目)中使用“MyCustom.xcframework”之前,我使用的是自 2018 年以来运行良好的“MyCustom.framework”。但从现在开始我需要使用 xcframework。
问题是我在(演示项目)中收到以下错误(请参见下面的屏幕截图)
我的模块图(库项目)如下。
根据https://bugs.swift.org/browse/SR-14195,我的问题是模块名称与类型相同。但我不知道如何正确更改模块名称。但我试图改变Product Module Name
构建设置。它不能解决问题。
任何帮助都会得到帮助。=)
笔记:
- 我只有 .xcodeproj,因为我不使用 Cocoapods。
- 我正在使用 Xcode 12.5(尝试过早期版本并且错误相同)
- 我使用了这个firebase 框架(尤其是 ML 工具包)
ios - 发布版本的 module.modulemap 中缺少 Foo-Swift.h
module Foo.Swift { header "Foo-Swift.h" 我得到 Header 'Foo-Swift.h' not found requires objc }
在 Xcode 12.5.1 中进行干净构建(第一次尝试)
该框架是用 Xcode 13 beta 愚蠢地创建的
如果除了在 Xcode 12 中重新创建框架之外还有什么事情要做,请提出建议。(我唯一要做的就是复制一个 info.plist 13 无法从我的另一个框架生成)
ios - 访问 Swift 静态库中的 ObjC/C++ 类
我正在构建这个Swift静态库:OxfordLibrary
我最终想使用 XCFramework 分发它。
我有一些想要从 Swift 访问的 ObjC/C++ 代码。由于我们不能在静态库中使用 ObjC 桥接头(创建 XCFramework 时抛出错误),所以我尝试使用模块映射文件。
所以想法是将 ObjC/C++ 代码库保持在库内部/私有,并且只通过 Swift 公开 API。
所以我创建了以下内容:
我已经设置并在构建设置中Defines Module: YES
设置了 swift 。Seach Path
现在在我的主要 Swift 文件中:
现在如果不导入OxfordLibrary_Private
,我将无法SomeObjcClass
快速访问。美好的。添加导入后它可以工作。
这甚至可以正确构建。
但是,当我从中创建 XCFramework 并将该 XCFramework 导入到客户端应用程序项目时,import OxfordLibrary
它会抛出错误OxfordLibrary_Private
模块未找到/未定义。
在做了一些研究之后,我发现我需要在 Modules 文件夹中或使用 -headers 标志将模块映射文件和头文件复制到 XCFramwork。如果我这样做,它会起作用。
但问题是:它的 private.modulemap 应该是私有的并且在库之外不可用?
因为现在我可以import OxfordLibrary_Private
在客户端应用程序中进行操作并在那里访问任何 ObjC 方法。
ios - 如何在swift静态库中将Objective C头文件公开给swift?
我想将目标 C 文件公开给 swift 静态库中的 swift 类
要创建 .xcframework,我将 Build libraries for Distribution 设置为 YES,因此在这种情况下我无法使用 Bridging Header 文件
我创建了一个 module.modulemap 文件并在其中添加了目标 C 标头,但是当我尝试导入时,我的 swift 类没有检测到该模块