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 ...
随机推荐
- openstack-flat 网络问题
使用packstack安装,版本为M,默认为vxlan网络, 操作系统为centos7. 由于学习的需要修改为flat网络. 首先修改配置文件: /etc/neutron/plugins/ml2/ml ...
- 用GSON解析Json格式数据
GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...
- bringSubviewToFront和insertSubview: atIndex:
bring方法只能在当前SuperView中改变位置,insertSubview则可以脱离自己的superVIew,成为另个同级甚至高级的view的子view
- Visual C++ 中的重大更改
https://technet.microsoft.com/zh-cn/learning/bb531344.aspx 当你升级到 Visual C++ 编译器的新版本后,可能会在之前编译并正常运行 ...
- jquery中.attr('value')和.val()的区别
.val() 能够取到 针对text,hidden可输入的文本框的value值. 而 .attr('value') 可以取到html元素中所设置的属性 value的值,不能获取动态的如input ty ...
- SQL 的 ISNULL 与 NULLIF 运算符
1. ISNULL ISNULL(check_expression, replacement_value) 作用: 检查第一个参数是否为null. check_expression 与 replac ...
- centos 修改网卡名为eth0
centos7和centos6的命名规则不同,centos6网卡名由udev控制 网卡名以eth开头然后第一块网卡叫eth0第二块网卡叫eth1,然后centos7的网卡命名规则截然不同 centos ...
- LeetCode Kth Largest Element in an Array
原题链接在这里:https://leetcode.com/problems/kth-largest-element-in-an-array/ 题目: Find the kth largest elem ...
- Linux Samba服务器配置
Linux系统默认已经安装了Samba,但是没有安装Samba服务: 1,先查看安装情况:rpm -qa|grep samba 根据系统的安装情况选择下载或者通过光驱安装所缺的rpm包. 我的安装情况 ...
- Linux系统中“动态库”和“静态库”那点事儿 /etc/ld.so.conf 动态库的后缀为*.so 静态库的后缀为 libxxx.a ldconfig 目录名
Linux系统中“动态库”和“静态库”那点事儿 /etc/ld.so.conf 动态库的后缀为*.so 静态库的后缀为 libxxx.a ldconfig 目录名 转载自:http://b ...