Foo 1.1.3

Foo 1.1.3

Deepesh维护。



Foo 1.1.3

  • 作者:
  • Deepesh

mixedFramework

这是一个iOS框架示例cocoa pod,包含Objective C和Swift代码。框架使用模块来处理在Swift生态系统中访问私有的Objective C文件,同时保持这些Objective C文件在框架内私有,不对最终用户暴露。

以下是一些已知问题和已使用此POD/仓库解决的问题。

  1. 在框架内调试Swift代码:通过使用规范名称命名模块并从框架代码中删除所有警告来解决。
  2. 在修复问题1后进行POD安装时找不到模块的问题:在将POD重命名为规范形式并修复问题1后,使用该POD的客户应用程序将出现“找不到模块”的错误。但在这种情况下正确重命名
    1. Foo.private.modulemap应该将模块名称作为Foo_Privates
    2. module.modulemap应该将模块名称作为Foo_Private
    3. 注意:Foo_Privates和Foo_Private是不同的名称,使用下划线来抑制警告“期望私用模块的规范名称”,从而允许根据预期调试Swift代码。
  3. 测试目标按预期工作,并且无法访问Swift或Objective C代码,反之亦然
  4. 现在,混合iOS框架具有以Swift编写的测试目标,这意味着您现在可以在混合框架环境中编写Swift测试用例。

注意:通常,上述提到的任何问题都应默认在Apple生态系统内正常工作,但遗憾的是,在iOS框架中,事情比预期的要复杂一些。使用模块并遵循一些正确的命名约定,所有这些都可以成功工作。

注意:示例应用程序始终应使用传统构建系统来使用此POD构建应用程序。