在原始iOS应用和应用扩展之间共享代码

在iOS应用和扩展程序之间共享课程

我想在我的应用程序和扩展应用程序中使用自定义类。 如果我只是在主要的应用程序文件夹中的类,扩展不会拿起它。 我试着把它复制到扩展文件夹中,但我当然得到了invalid redeclaration of [my class]错误的invalid redeclaration of [my class] 。 什么是最好的解决scheme? 这只是一个类,不是多个资源。

什么都不应该被复制。 只需添加所需的文件来编译您的扩展的源代码:

在这里输入图像说明

只要确保要共享的文件在目标成员资格部分中打勾即可。

select你的文件,打开位于右侧的右侧的Utility面板并勾选。

在这里输入图像说明

embedded式框架是在应用程序和扩展之间重用代码的好方法。 将代码移植到embedded式框架将为我们提供一个很好的机会来编写一些unit testing。

请参阅使用embedded式框架共享代码一节 https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW1