框架的私有模块映射

2024-01-07

我在用着这个答案 https://stackoverflow.com/a/25250520/849645创建模块映射来为 CommonCrypto 创建模块,以便我可以在框架中使用它。

然而,这样做意味着我使用此框架的任何项目都可以通过以下方式访问 CommonCryptoimport CommonCrypto- 更糟糕的是,在另一个框架中声明 CommonCrypto 并将其导入到项目中会导致Redefinition of module 'CommonCrypto' errors.

IE。以下设置:

MainProject
    |--> import FrameworkA - module map for CommonCrypto
    |--> import FrameworkB - module map for CommonCrypto

有没有办法创建模块映射,但使其对其创建/使用的框架私有? (很像internalSwift 中框架的访问属性)。 这llvm Clang 文档 http://clang.llvm.org/docs/Modules.html show a private属性 http://clang.llvm.org/docs/Modules.html#private-module-map-files但我不知道将其放在模块映射中的何处,而且它甚至可能不是用于此目的! 还有一个export属性 http://clang.llvm.org/docs/Modules.html#export-declaration但我还是不完全确定如何使用这个......!

这是我用于 CommonCrypto 的模块映射 -$(SDKROOT)在构建阶段被交换到正确的位置(对于iphoneos or iphonesimulator SDKs):

module CommonCrypto [system] [extern_c] {
    umbrella header "$(SDKROOT)/usr/include/CommonCrypto/CommonCrypto.h"
    export *
}

这工作得很好(除了你不能“去定义”,但我不介意)用于FrameworkA / FrameworkB.


免责声明: 这个我还没试过CommonCrypto但它适用于我的情况libz

一个可能的解决方案是创建一个module.private.modulemap如中所述铿锵文档 http://clang.llvm.org/docs/Modules.html#private-module-map-files

例如在 FrameworkA 中你可以写一个module.modulemapFrameworkA 文件如下:

module FrameworkACommon {
}

然后你会创建一个module.private.modulemap像这样文件

explicit  FrameworkACommon.Crypto [system] [extern_c] {
   header "/Applications/Xcode6-Beta5.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.0.sdk/usr/include/CommonCrypto/CommonCrypto.h"
    link "CommonCrypto"
    export *
}

然后对 FrameworkB 重复此操作。

现在 CommonCrypto 是 FrameworkA 和 FrameworkB 中的私有模块,名称不会冲突。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

框架的私有模块映射 的相关文章

  • 导航栏隐藏在 SwiftUI 中不起作用

    我有三观 我想隐藏第三个视图中的导航栏 即使我给 navigationBarHidden true 导航栏正在显示 我找不到我哪里做错了 我已在下面附上我的代码和生成的屏幕截图 Xcode 版本 11 1 struct ContentVie
  • Swift 和 inout 参数中闭包的变量捕获

    我注意到 当 Swift 中的闭包捕获变量时 闭包实际上可以修改该值 这对我来说似乎很疯狂 也是一种获得可怕错误的绝佳方法 特别是当同一个 var 被多个闭包捕获时 var capture Hello captured func g thi
  • 在 swift 中发送自定义 HTTP 标头

    我设法从服务器获取 json 但现在我想通过 http 标头添加额外的安全性 这就是我的代码现在的样子 let urlPath http www xxxxxxxx com let url NSURL string urlPath let s
  • 依赖于 pod 的 Swift 通用框架

    我正在开发一个依赖于 Alamofire 的小型 Swift 框架 我将它用作属于同一工作区的应用程序的嵌入式框架 并且它运行良好 当我想构建一个具有总体目标的通用框架时 问题就出现了 然后 当执行脚本生成框架时 它失败并显示消息No su
  • 访问 UserDefault 数组 URL 以填充 CollectionView

    这是上一篇文章的后续内容here https stackoverflow com questions 48142238 save and append an array in userdefaults from imagepickercon
  • 如何在谷歌地图中绘制多个点之间的路线?

    我已经在我的应用程序中实现了谷歌地图 并且我需要在地图上标记几个点 我能够用标记标记它们 但我面临的问题是尝试绘制所有这些点之间的路径 我尝试使用折线 但它只是在 A 点和 B 点之间绘制一条直线 我还尝试了谷歌地图 DirectionsA
  • 在 WidgetKit 中每分钟更新时间文本标签

    是否可以在小部件中创建显示当前时间并实时更新的文本标签 尝试创建时钟小部件 但小部件每 5 分钟仅更新 1 次 创建时间表没有帮助 使小部件保持最新 不适用于当前时间 仅适用于计时器等 一个可能的解决方案是使用time日期样式 A styl
  • iOS 9 中可滑动的表格视图单元格

    我希望我的表格列表具有像 iOS 8 中那样的可滑动菜单 首次在 iOS 7 中引入 我找到了清晰的 Ray Wenderlich 指南 http www raywenderlich com 62435 make swipeable tab
  • iOS模型层通知Controller对象

    https developer apple com library archive documentation General Conceptual DevPedia CocoaCore MVC html https developer a
  • 如何跟踪 SwiftUI 应用程序中的所有触摸

    我正在尝试在 SwiftUI 应用程序中实现锁屏 我需要跟踪每个事件才能重新启动锁定计时器 在 UIKit 应用程序中 我使用了这种方法 重写 UIApplication 它允许了解应用程序中的任何事件 override func send
  • Swift :基于 nsdate() 解析、查询日期字段

    我正在尝试检索今天添加的记录进行解析 但查询不返回任何结果 我怎样才能让查询返回基于今天日期的结果 let now NSDate var query PFQuery className userBids query whereKey dat
  • Swift 1.2 可选外部变量?

    由于 Swift 无法访问编译变量 因此我创建了一个指向编译变量的 Objective C extern 变量 编译变量转换器 h extern NSString const NetworkApiBasicAuthUsername 编译变量
  • 在 Safari 中快速打开链接

    我目前正在我的应用程序中打开链接WebView 但我正在寻找一个打开链接的选项Safari反而 它不是 融入 Swift 但你可以使用标准UIKit方法来做到这一点 看看 UIApplication 的openUrl https devel
  • CSS 网格/布局框架,专注于固定元素和单页全屏布局

    经验法则 如果您在布局中过多地使用 CSS 请切换到框架 我已经研究了数十个网格 布局框架 其中大多数都专注于传统的文档网格布局 我的页面更像是一个 SPA 单页应用程序 它类似于桌面应用程序使用的布局 显然 HTML 不能很好地处理这个问
  • 如何在 Swift 中使用 deltaTime 正确计算 1 秒

    我正在尝试计算经过的秒数deltaTime但我不知道该怎么做 因为我的deltaTime不断打印 0 0166 或 0 0167 这是我的代码 override func update currentTime CFTimeInterval
  • UINavigationBar 滑开而不是留在原处

    我创建了演示项目来展示问题 我们在 UINavigationController 中有两个视图控制器 MainViewController这是根 class MainViewController UIViewController lazy
  • 如何将 SCNPlane 颜色更改为透明颜色

    我正在开发一个 ARKit 项目 在水平面上点击时需要波纹动画效果 为此 我采用了 UIView 对象并将其作为 SCNPlane 对象材料的内容传递 我已将波纹动画添加到 UIView 对象 一切正常 但我无法将 SCNPlane 颜色更
  • UNTimeIntervalNotificationTrigger nextTriggerDate() 是否给出了错误的日期?

    我正在更新本地通知以与 iOS 10 配合使用 但遇到了一个问题 我认为 nextTrigger 函数返回的不是 满足触发条件的下一个日期 而是返回当前日期时间加上您最初设置 UNTimeInvervalNotificationTrigge
  • 在 Swift 中,如何为具有自动布局的 UIView 制作动画,就像页面滑入一样?

    我尝试创建一个 UIView 来表示一个大小与设备屏幕相同的页面 由于该应用程序支持方向 因此我使用 AutoLayout 来构建它 它工作正常 直到我尝试将页面动画化以从右侧滑入 经过一番研究后 我能想到的最好的办法是 myView UI
  • 共享扩展程序未出现在能够在 iPhone 上共享照片的应用程序列表中

    我正在尝试创建一个共享应用程序扩展 并按照以下来源的教程进行操作 http www technetexperts com mobile share extension in ios application overview with exa

随机推荐

  • 使用 bar 函数时如何在 x 轴上显示分类数据?

    我正在尝试模拟 MATLAB 官方网站上的代码 但无法获得相同的输出 这是代码 c categorical apples oranges pears prices 1 23 0 99 2 3 bar c prices 这是 MATLAB 网
  • 如何从Excel列字母中获取列号(或索引)

    我搜索过这个网站并用谷歌搜索了一个公式 我需要根据字母计算 Excel 列号 例如 A 1 B 2 AA 27 AZ 52 AAA 703 在字母表随机循环后 代码似乎少了 1 位数字 AZ gt BA 少数字 它看起来还会从两个不同的输入
  • 如何检测 JComboBox 是否为空?

    如何检测 JComboBox 是否为空 是不是类似 combobox isEmpty 出了什么问题JComboBox getItemCount http docs oracle com javase 7 docs api javax swi
  • 隐马尔可夫模型 (HMM) 中的三态电话模型

    我想问一下HMM中3态电话模型的含义 本案例基于语音识别系统中的HMM理论 因此 该示例基于 HMM 中语音的声学建模 我从期刊论文中得到了这张示例图片 http www intechopen com source html 41188 m
  • 如何在 Github Atom Editor 中同步多台计算机的包和设置

    我已经在我的个人电脑和办公室电脑上安装了 Github Atom Editor 我想将设置和软件包同步到我的 Dropbox 帐户 这样当我登录办公室电脑时 它会自动下载或更新所有软件包和设置到我的家庭电脑 您是否尝试过使用原子同步设置 h
  • CMU Sphinx 是否可以通过 Maven 获得?

    我有一个可能需要 CMU Sphinx 的应用程序的想法 它可以通过 Maven 获得 还是需要手动添加 更新 CMUSphinx 将在一周左右的时间内在 sonatype 中提供 Maven 支持已经提交到 sphinx4 trunk 中
  • go-git:创建本地分支的正确方法,模拟“git分支 ”的行为?

    正如标题所示 我试图弄清楚如何使用创建本地分支go git与 Git CLI 命令给出相同结果的方式git branch
  • 防止“冒泡”? [复制]

    这个问题在这里已经有答案了 我不确定这是否真的在冒泡 我会解释一下 我有这个 div div text here div div 如何绑定点击事件 使其仅影响所包含的 div 如果我这样设置 jQuery div bind click fu
  • 使用elasticsearch实施建议“类别中的xxx”

    我想对产品实施类似亚马逊的 类别内 建议 亚马逊建议在特定类别中搜索给定术语 而不是全局搜索 这允许更具体的搜索和结果 有没有办法使用elasticsearch提供的建议功能之一来实现这一点 目前我的想法是从elasticsearch获取建
  • mongoDB vs mySQL——为什么一个在某些方面比另一个更好[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 评估骰子滚动符号字符串

    Rules 编写一个接受字符串作为参数的函数 返回 表达式的评估值骰子记数法 http en wikipedia org wiki Dice notation 包括加法和乘法 为了澄清问题 这里是法律表达式的 EBNF 定义 roll po
  • 使用 Python 从文本中提取 IBAN

    我想用 Python 从文本中提取 IBAN 号码 这里的挑战是 IBAN 本身可以用多种方式编写 数字之间有空格 我发现很难将其转换为有用的正则表达式模式 我写了一个演示版 https regex101 com r PRDDaT 1它尝试
  • 使用 LINQ 进行编码是如何工作的?幕后发生了什么?

    例如 m lottTorqueTools From t In m lottTorqueTools Where Not t SlotNumber toolTuple SlotNumber And Not t StationIndex tool
  • java.lang.RuntimeException: android.database.sqlite.SQLiteException: 没有这样的表: media_store_extension (代码 1): ,

    我在 2021 年 10 月之后在 Play 商店上发布我的应用程序时遇到问题 错误表明该表media store extension不存在 问题是 我在项目中没有使用 SQLITE 所以我不知道是什么导致了这个异常 目标 sdk 是 30
  • 当单词不存在时,将 0 分配给某些单词

    这是我在 stackoverflow 上发表的第一篇文章 我对编码还比较陌生 所以 请耐心听我说 我正在做一个实验 有两组数据文档 文档1如下 TOPIC topic 0 5892 0 site 0 0371690427699 Intern
  • GLSL 着色器:在两个以上纹理之间进行插值

    我已经在 OpenGL 中实现了高度图 目前它只是一个正弦 余弦弯曲地形 目前我正在白色的 冰 和较暗的 石头 纹理之间进行插值 这是这样完成的 color mix texture2D ice layer tex texcoord text
  • 如何从给定的父节点获取所有子节点?

    我有一个父 子 ID 列表 并且希望获取给定父 ID 的所有子 ID 不存在空父级 顶级 ID 不会显示为子 ID 目前 父 子 ID 被记录为列表中的 KeyValuePair 但是如果更好的话 可以轻松更改为其他数据结构 List
  • aspnet 的最大值:MaxHttpCollectionKeys

    我有一个发布相当大数据的表单 但出现此错误 InvalidOperationException Operation is not valid due to the current state of the object System Web
  • JPanel 错误 - J 组件无法解析

    我有 JRE 系统库 JRE 1 8 x 库 我的线路出现错误 错误 无法解析类型 javax swing JComponent 它是从所需的 class 文件间接引用的 我怎样才能消除这个错误 这是屏幕截图 http i60 tinypi
  • 框架的私有模块映射

    我在用着这个答案 https stackoverflow com a 25250520 849645创建模块映射来为 CommonCrypto 创建模块 以便我可以在框架中使用它 然而 这样做意味着我使用此框架的任何项目都可以通过以下方式访