【发布时间】:2018-02-18 01:21:27
【问题描述】:
我有自己的 Xcode 项目,其中包含一些控制器。我想制作它的 SDK,以便在另一个应用程序中使用它。在父应用程序中,它作为子应用程序工作。父应用程序将与我的控制器共享一些数据,我的控制器对其进行处理并返回一些结果。所以请给我指导。示例是 - 支付网关 SDK。我也在找。
【问题讨论】:
标签: ios swift xcode sdk integration
我有自己的 Xcode 项目,其中包含一些控制器。我想制作它的 SDK,以便在另一个应用程序中使用它。在父应用程序中,它作为子应用程序工作。父应用程序将与我的控制器共享一些数据,我的控制器对其进行处理并返回一些结果。所以请给我指导。示例是 - 支付网关 SDK。我也在找。
【问题讨论】:
标签: ios swift xcode sdk integration
我可以看到你为 swift 添加标签。在 Swift 中,不支持静态库,因此在将应用程序链接到库时,您必须专门使用框架(也称为动态库)。框架类似于sdk。
步骤如下:
1)在IOS > Framework & Library下使用New > Project创建Framework,选择Cocoa Touch Framework
2)为了避免“ld:警告:找不到选项的目录...”,请转到您的目标的构建设置中的库搜索路径并删除路径。
3)您不能将 Objective-C 与 Swift 混合使用,因此甚至不要考虑在您的代码中添加 Swift-Header 桥接文件。
4) 在某些情况下,您需要从未公开的框架中导入代码。我已经成功使用框架内的模块映射来处理这些情况。
5)我还在构建设置中选择 CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES 来解决“在框架模块中包含非模块化头文件”。这似乎有效
6)我确保生成的头文件被标记为公共(不是项目)。单击该文件,您将在“目标成员”下的检查器中看到选择
您也可以按照本教程进行操作。由于您已经创建了项目。 创建一个框架目标,使所有源代码文件成为新目标的成员,将新目标作为目标添加到 podfile。对于其他所有内容,本教程都应该有效。它应该可以帮助您理解这些步骤。 Build framework
【讨论】: