iOS extension app 问题总结


extension app 中使用 主项目中文件中的函数

场景: 当开发一个项目的时候建了很多一些全局的helper类,然后项目需要支持类似wiget的扩展app,然后开开心心的执行 File -> New -> Target 建立了一个扩展app之后,发现之前的很多方法这里用不了??很明显因为这是两个app!!

解决办法: 把之前通用的方法封装成一个framework

创建framework

a. File -> New -> Target -> Cocoa Touch Framework 创建一个framework, 把之前的文件链接进来

b. 之后在你的扩展app中添加这个framework

c. 最后在你需要的地方 import 进来就可以使用了

当然简单的方法也有: 直接选择需要的文件在右侧界面中的 Target Membership 中选中你需要的target即可,但是弊端也很明显: 需要一个就要这么操作一次,而且功能划分不清楚,不利于维护和理解。

extension app 中使用cocoapods的第三方库问题

不能直接像主项目中一样直接 import, 会报一个 no such module 的错误。

解决办法

a. 选择target 下的 extension app(就是你建的扩展app),选择 Build Settings 然后在 Objective-c Bridging Header 中添加桥接文件,没有的话就建一个(一般以your_project_name-Bridging-Header.h命名)

b. 选择 project (主项目) 在info中的configurations中设置如下:

展开debug和release找到扩展app项目选择 Pods-xxx.debug和 Pods-xxx.release, 没有选择之前为none。

c. 清理工程 command + b 编译一下

d. 还有错误基本清理下Xcode的缓存数据重复c步骤即可

最后

今后遇到问题会接着更新这篇博文。

App瘦身

Post Author: menglingfeng

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You may also like

iOS OC语言copy修饰符实现原理

前言 在经过频繁的业

Label尺寸自适应与AutoLayout问题小结

水平布局与垂直布局L

iOS7之后的导航栏与控制器原点坐标问题

简单记录关于iOS7

%d bloggers like this: