iOS,Xcode7 制作Framework,含资源和界面
Xcode7 制作Framework
本文通过Demo方式介绍1)将含bundle和存代码编写界面打包进framework;2)将storyboard +assets.xcassets打包。
(一)创建一个Framework工程;
本文创建的是动态库,如果需要改成静态库,只需要在设置中Mach-O Type 改为"Static Library"
1,打开Xcode,点击File\New\Project,选择iOS\Framework and Library\Cocoa Touch Framework新建一个静态库工程.

2,因为含界面,需要导入UIKit的头文件;
点击BuildPhases,展开Link Binary with Libraries这一部分,点击+添加一个新的framework,找到UIKit.framework,点击add添加进来。

3,编写界面;完成接口;
我这边只是写了个简单的小界面,通过在这个小界面上放一个UIImageView,其图片取自bundle;
ViviSDKVC作为公用接口;需要将其头文件放入public header中。
方法是在Xcode的Build Phases界面,选择Editor\Add Build Phase\Add Copy Headers Build Phase。
Note:如果你发现按上面找到的菜单项是灰色的(不可点击的),点击下方Build Phases界面的白色区域来获取Xcode的应用焦点,然后重新试一下。

4,建立宿主工程;将Framework 和bundle都copy至项目中,把Framework同时添加到‘Embedded Binaries’中;
使用静态库的话,就可以把Framework从‘Embedded Binaries’中删除了。

5,运行; 初步的小 Demo 如下;

(二)建立工程依赖
新建workspace ,通过 Add Files to "workspace name"将宿主和framework工程的XXX.xcodeproj 文件加入worksapce中;

(三)Storyboard++Assets.xcassets 打包
1,将已经写好的storyboard和图片管理器Assets.xcassets加入工程中;

2,添加并设置bundle
1)点击图片中位置添加bundle;
2)选择OS X 的Bundle;
3)修改并选择 Build Settings -> Architectures -> Base SDK 改为Latest iOS

4)将资源文件加入bundle中;

5,将ViviResources bundle编译,加入宿主工程,并运行;

参考在:
http://www.cnblogs.com/developer-qin/p/5691008.html
iOS,Xcode7 制作Framework,含资源和界面的更多相关文章
- iOS XCode7制作.Framework动态库和.a静态库的总结
一.开发SDK时的支持情况: OC语言制作动态库时,支持iOS8+:OC语言制作静态库,支持iOS7+. Swift语言制作动态库时,支持iOS8+;Swift不支持静态库. 对于SDK来说,支持情况 ...
- iOS 在制作framework时候对aggregate的配置
# Sets the target folders and the final framework product.# 如果工程名称和Framework的Target名称不一样的话,要自定义FMKNA ...
- iOS:Xcode7下创建 .a静态库 和 .framework静态库
Xcode7 中创建静态库:.a 和 .framework 一.简单介绍 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的分类 根据源代码的公开情况,库可以分为2种类型 (1)开 ...
- Xamarin.iOS - 利用Settings插件与EAIntroView制作App的欢迎界面
Xamarin.iOS - 利用Settings插件与EAIntroView制作App的欢迎界面 关于欢迎界面 很多App第一次启动都会有一个欢迎界面,欢迎界面往往决定这用户对App的第一映像,所以欢 ...
- IOS7开发~Xcode5制作framework
一.Framework 简介(Introduction to Framework Programming Guide) Mac OS X 扩展了 framework 的功能,让我们能够利用它来共享代码 ...
- IOS7 ~ Xcode5 制作 framework
一.Framework 简介(Introduction to Framework Programming Guide) Mac OS X 扩展了 framework 的功能,让我们能够利用它来共享代码 ...
- iOS使用Security.framework进行RSA 加密解密签名和验证签名
iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...
- 利用Bootstrap框架制作查询页面的界面
UI设计实战篇——利用Bootstrap框架制作查询页面的界面 Bootstrap框架是一个前端UI设计的框架,它提供了统一的UI界面,简化了设计界面UI的过程(缺点是定制了界面,调整的余地不是太 ...
- 制作framework&静态库
http://blog.csdn.net/justinjing0612/article/details/7880712 (制作framework) http://blog.sina.com.c ...
随机推荐
- iOS CUICatalog: Invalid asset name supplied: (null)
iOS开发出现CUICatalog: Invalid asset name supplied: (null), or invalid scale factor: 2.000000 原因: 你用了这个方 ...
- 重新启动 Apache 以加载上面安装的模块
尽管Ubuntu 是一种新兴的Linux分支,但Ubuntu 组织却为Apache提供了丰富的支持软件,这些软件都可以从发行版的光盘获取,也可以从官方站点轻松下载.所以,Ubuntu非常适合作为Web ...
- Android课程---寄存器与存储器的区别
存储器在CPU外,一般指硬盘,U盘等可以在切断电源后保存资料的设备,容量一般比较大,缺点是读写速度都很慢,普通的机械硬盘读写速度一般是50MB/S左右.内存和寄存器就是为了解决存储器读写速度慢而产生的 ...
- JS-确认框
if(confirm("Sure to xxxxxx?")){ xxxxxx; xxxxxx; }
- java基础学习总结——基础语法1
一.标识符
- C# DataGrid合并单元格
1.栏位枚举 private enum DataGridColumn { ROWNUM = , EMPID, EMPNAME, SEX, SALARY, ADRRESS, PHONE, TEL, PO ...
- zepto源码--核心方法6(显示隐藏)--学习笔记
在不引入zepto插件模块fx_metho其他ds的情况下,zepto默认的显示隐藏的函数只有show, hide, toggle,这里解释有个前提条件,就是没有引入zepto的fx_methods插 ...
- iOS应用架构谈 网络层设计方案
网络层在一个App中也是一个不可缺少的部分,工程师们在网络层能够发挥的空间也比较大.另外,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用.其它的ASIHttpRequ ...
- Android的onMeasure和onLayout And MeasureSpec揭秘
Android中自定义ViewGroup最重要的就是onMeasure和onLayout方法,都需要重写这两个方法,ViewGroup绘制 的过程是这样的:onMeasure → onLayout → ...
- .NET中string[]数组和List<string>泛型的相互转换以及Array类的Sort()方法(转)
从string[]转List<string>: " }; List<string> list = new List<string>(str); 从List ...