nap*_*aza 10 macos frameworks objective-c ios swift
所以我开始将Swift添加到现有的Objective-C框架中.
坏消息是它做起来相当简单,看起来好像在起作用.这意味着我获得了Swift代码来查看obj-c类,甚至可以轻松地构建它们.我设置了一个桥接头添加了我需要它,更改了模块名称等,基本上一切都工作正常.
后来我意识到了一些事情.
首先,你不应该在框架中有一个桥接头.事实上,我试过一个测试项目,它不会让我.但是在我的实际项目中有人允许它.
它肯定会开始蠢蠢欲动.我认为因为它似乎包含了Swift生成的头文件中的桥接头,或者可能包含了如何导入伞头的其他内容.我得到了swift自动使用Umbrella标头的简单性,除了我需要另一个标头,原因有几个.
我在这种情况下面临几个问题.
外部目标无法使用加载此框架@import
.我也无法直接导入框架的桥接头.这意味着我无法从另一个目标访问Swift代码.我写了一个访问者类,在这种情况下,这不是什么大问题.直到我意识到包含一个测试用例目标,所以如果没有在框架目标中的某种测试实现,我就无法有效地测试这些代码.即使我的测试目标中的快速测试也无法访问Swift.
有没有办法做到这一点?TL:DR"我可以拥有一个混合的Swift/Obj-c框架,它可以在外部访问Swift + Obj-c并保持其部分对象的私有性吗?"
归档时间: |
|
查看次数: |
1496 次 |
最近记录: |