我有一个现有的应用程序,我想在新的应用程序目标中共享该应用程序中的大量类。我希望将现有应用保留原样,并将其视为一个模块(如框架),将其导入到将以Swift编写的新应用目标中。
请注意,这不是将Swift代码添加到现有Objective-C应用程序目标的简单文档。我想看一个使用Xcode中的模块功能重新使用新Swift目标/模块中现有目标的代码的示例。
现有应用程序是作为Objective-C应用程序(不是框架)构建的
我想在Swift中构建一个新的应用程序,但是使用Swift应用程序中旧应用程序的一些非gui代码。
我已多次尝试过查看是否有一种方法可以从旧的iOS-objc应用程序导入类但我在新的Swift应用程序目标中使用它时遇到困难,方法无法找到
我在此源应用中打开了模块。
A)我最好从项目中的现有App目标导入类,而不重构原始应用程序。
B)如果那是不可能的,我可能会将共同的类分解到一个单独的objective-c框架中。由于这个问题我可以开始工作(http://youtu.be/9us3uijFFpo),但我想看一个A)的例子,如果有人可以破解它。该用例未在Apple的文档中介绍。
但是我已经在网上搜索了,我找不到任何有关如何做到这一点的详细示例,而且我做了很多次尝试都没有成功。有很多引用将Swift文件添加到Obj-C应用程序中,但没有具体关于这种情况。
答案 0 :(得分:0)
你应该阅读"混合搭配"来自Apple的这本书: https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html
它向您展示了如何将目标类导入swift项目。 一般来说,你必须采取一些步骤:
- 添加" Bridging-Header.h"到您的项目名称:" YourProjectName-Bridging-Header.h"
- 将Obc标题放在某处,然后将ObjcClass.h导入到您的项目中。我建议使用"链接到文件"而不是"复制到 项目"
- 在您的桥接头文件中,添加#import" ObjcClass.h"将您的ObjcClass标头导入您的swift项目
- 您最终可能必须在"构建设置"
中指定标题位置