我正在研究IOS/Swift的开发,我想构建一个IOS应用程序,将来它将有自己的“今天”扩展。我已经读到,最好将通用逻辑(例如访问Internet资源、对结果执行某些工作的逻辑)放在App及其扩展到自定义框架中。由于我认为在应用程序开发过程中需要同时更改框架和应用程序代码,所以我希望避免在单独的项目中构建框架,而不是使用Show函数定位框架包,然后在App项目中拖放它。因此,我想知道这是否是用App、它使用的框架以及应用程序的“今天”扩展来设置工作区的正确方法:
通过这种方式,我已经看到对framework源的更改不需要框架目标重新编译,也许是因为项目知道需要重新编译框架源,即使我只构建和运行使用该框架的IOS App目标?我做得对吗?我已经看到,以这种方式创建的“今日”扩展并没有列出构建阶段的框架->目标依赖项,而IOS则是这样,但是当我更新时,它们都正确地使用了框架的更新代码。
然后,我在编译项目时注意到了以下警告,但我不知道它是否与我设置项目的方式有关:
ld: warning: linking against dylib not safe for use in application extensions: /Users/gianni/Library/Developer/Xcode/DerivedData/TestFrameworkApp-dshihhfiuepeqzddbnpgnfwilhem/Build/Products/Debug-iphonesimulator/TestFramework.framework/TestFramework
顺便说一句,“产品”文件夹中的条目总是红色是正常的吗?这是因为我只为IOS模拟器构建,因为我没有一个允许我为IOS设备构建的付费开发人员帐户吗?这是否阻止了我构建一个可以导出到其他项目的框架,因为我无法通过右键单击框架产品并选择since (所以我不能拖放它到另一个项目)就可以找到框架包吗?
我希望我已经说得够清楚了,你会给我指明正确的方向,让我明白什么是开始我的新项目的建议方法:)
发布于 2015-07-13 19:59:46
听起来你好像要走我要走的那条路。
关于你看到的警告。我相信,为您的共享框架检查“只允许应用程序扩展API”将抑制这种情况,并在尝试使用扩展中不允许的API时导致构建失败。
https://stackoverflow.com/questions/31390683
复制相似问题