本文由 @lonelyrains 出品,转载请注明出处。 
文章链接: http://blog.csdn.net/lonelyrains/article/details/8748080

xcode有个framework工程模板,用来提取公共代码和资源,成为独立的工程文件。基本的用处很简单,但是用法配置却折腾了我几天。

新建一个framework工程F,建基本的窗口和按钮、按钮响应的文件,也可以尝试加载一下图片;配置Build Phases中的Copy Headers和Copy Bundle Resources两项,前者将Project中的头文件全部移交到Public中,后者将图片和nib文件全部添加进去。编译输出,就会生成需要的framework包供测试工程调用了。

新建一个测试工程T,基本的窗口和按钮、按钮响应的文件,在.m文件中添加framework工程中需要用到的头文件,使用其中的方法创建其中的窗口、调用其中的资源。

当framework中包含png和nib文件时,基本的响应流程:

①T工程中的按钮事件调用F工程中的打开窗口函数,例如:

<span style="font-size:14px;">        -(IBAction)btnCallF:(id)sender{OpenWindow(win_index,isblock,args);}
</span>

OpenWindow是framework中实现打开窗口的一个c函数,不属于任何接口。m文件内部再定义一个全局变量表示窗口控制视图指针NSWindowController *sp来记录当前win_index对应内部的哪个窗口,isblock表示是否是阻塞方式调用BOOL,args表示传入传出参数数组 NSmutabelArray *args。当然,framework内部会先初始化,在所有窗口的init函数中实现初始化窗口对应关系。最底下给出的例子中没有这样做,用一个window(single window/windowcontroller)+view(view/viewcontroller list)列表的形式,在window的初始化函数中初始化对应关系。

有关模态调用窗口和自适应view尺寸的详细代码见例子中的displayViewController和runModalWindow。

②调试

当framework中的内容很多,修改频繁时,就需要调试了。在F工程的edit scheme中设置Run XXX列表项的Info标签下的Executable下拉框中对应的app为测试工程生成的APP。就可以不用打log调试framework了

调试过程中需要注意的是,若Framework的nib文件有更新,需要重新生成framework和app,然后调试F工程时重新设置新对应的APP依赖。

代码整理一下,这周之内发吧。

xcode framework相关推荐

  1. Xcode framework 的编译及测试

    创建 Framework 工程 新建 Cocoa Touch Framework 编写 Podfile pod install 安装第三方依赖 打开 .xcworkspace 添加要公开的头文件到 B ...

  2. unity google admob ios 接入 聚合激励广告适配器

    下面说下躺坑 主要是接入google admob 聚合激励广告适配器 ,开启facebook ,unity,admob 广告 使用sdk框架接入 sdk下载地址:https://developers. ...

  3. Xcode 创建.a和framework静态库(转)

    最近因为项目中的聊天SDK,需要封装成静态库,所以实践了一下创建静态库的步骤,做下记录. 库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. iOS中的 ...

  4. 测试 ClownFish、CYQ、Entity Framework、Moon、MySoft、NHibernate、PDF、XCode数据访问组件性能...

    下期预告: 由于很多园友反馈,有的组件不应该缺席.测试复杂度不够.测试还缺乏一定的公平. 因此考虑在下一个版本中,确保在更加公平的前提下进行更高复杂度的测试 . 同时将分为2组测试,纯SQL组件及纯O ...

  5. Xcode制作动态及静态Framework

    2019独角兽企业重金招聘Python工程师标准>>> 有没有写SDK或者要将一些常用的工具类做成Framework的经历? 你或许自己写脚本完成了这项工作,相信也有很多的人使用 i ...

  6. Xcode 6制作动态及静态Framework

    有没有写SDK或者要将一些常用的工具类做成Framework的经历? 你或许自己写脚本完成了这项工作,相信也有很多的人使用 iOS-Universal-Framework ,随着Xcode 6的发布, ...

  7. XCode 6 制作framework

    在Xcode 6 发布之前 ,想建立一个动态的Framework 需要在很多设置 ,以前需要靠静态库来实现, 或者在github 上下载插件进行开发,但是在Xcode 6 出来之后 ,苹果就已经提供了 ...

  8. 运行Xcode时出现 Lazy loading NSBundle MobileCoreServices.framework和 Loaded MobileCoreServices.framework

    运行Xcode时出现 Lazy loading NSBundle MobileCoreServices.framework和 Loaded MobileCoreServices.framework 解 ...

  9. 【Wax】使用Wax (framework方式,XCode 4.6)

    前情提示:[Wax]使用Wax (非framework方式,XCode 4.6) 这次,将以framework的方式来使用Wax 那么,让我们开始吧!!! 准备工作: 下载wax.framework: ...

最新文章

  1. IN-我的生活in记 | 手摸手产品研究院
  2. Python加lxml实现图片解析下载功能
  3. engineering equation solver_欧洲留学|爱尔兰圣三一大学不可错过的高薪专业工程学Msc.Engineering|爱尔兰最佳工程课程!...
  4. HDU多校1 - 6959 zoto(莫队+树状数组/值域分块)
  5. 企业即时通讯规模将达7亿
  6. python获取窗口句柄_Python+selenium 获取浏览器窗口坐标、句柄的方法
  7. linux 解压安卓kernel,android kernel | 环境搭建 + 第一次尝试
  8. STEAM 自动安装时提示C++ 安装不了等问题
  9. linux+下数学公式文档,markdown 数学公式
  10. 华为策略路由,实现双线选路上网
  11. 外联css不生效,css外联样式不起作用的解决方法
  12. java 调度池_定时任务调度池 - 南郭先生Official的个人空间 - OSCHINA - 中文开源技术交流社区...
  13. Python jiba 分词
  14. Ant Design - Authorized
  15. Centos7安装gos脚本
  16. Kindle for Android打开本地mobi文件
  17. 失眠是怎么回事?睡眠障碍的诊断与治疗
  18. 30岁IT人裸辞,悔断肠!
  19. 从Carsim中获取轮胎侧偏刚度
  20. 云计算发展与BPaaS构建企业Private PaaS分析

热门文章

  1. linux自动网络对时
  2. python中同级目录下不同py文件之间的调用失败问题
  3. PHP建站集成软件包
  4. 电脑公司特别版8.5出现 fastfat.sys文件不正确及蓝屏错误的原因之一
  5. 音视频:12.FFmpeg-音乐播放器1
  6. 阿翔编程学-Axis日志服务类
  7. 2021年全球与中国手动微操纵器行业市场规模及发展前景分析
  8. 读取nas_最便宜的万兆NAS解决方案—威联通TS-532X
  9. ffmpeg开发之旅(4):MP3编码格式分析与lame库编译封装
  10. 前端题基础练习总结。。。。