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,含资源和界面的更多相关文章

  1. iOS XCode7制作.Framework动态库和.a静态库的总结

    一.开发SDK时的支持情况: OC语言制作动态库时,支持iOS8+:OC语言制作静态库,支持iOS7+. Swift语言制作动态库时,支持iOS8+;Swift不支持静态库. 对于SDK来说,支持情况 ...

  2. iOS 在制作framework时候对aggregate的配置

    # Sets the target folders and the final framework product.# 如果工程名称和Framework的Target名称不一样的话,要自定义FMKNA ...

  3. iOS:Xcode7下创建 .a静态库 和 .framework静态库

    Xcode7 中创建静态库:.a 和 .framework 一.简单介绍 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的分类 根据源代码的公开情况,库可以分为2种类型 (1)开 ...

  4. Xamarin.iOS - 利用Settings插件与EAIntroView制作App的欢迎界面

    Xamarin.iOS - 利用Settings插件与EAIntroView制作App的欢迎界面 关于欢迎界面 很多App第一次启动都会有一个欢迎界面,欢迎界面往往决定这用户对App的第一映像,所以欢 ...

  5. IOS7开发~Xcode5制作framework

    一.Framework 简介(Introduction to Framework Programming Guide) Mac OS X 扩展了 framework 的功能,让我们能够利用它来共享代码 ...

  6. IOS7 ~ Xcode5 制作 framework

    一.Framework 简介(Introduction to Framework Programming Guide) Mac OS X 扩展了 framework 的功能,让我们能够利用它来共享代码 ...

  7. iOS使用Security.framework进行RSA 加密解密签名和验证签名

    iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...

  8. 利用Bootstrap框架制作查询页面的界面

    UI设计实战篇——利用Bootstrap框架制作查询页面的界面   Bootstrap框架是一个前端UI设计的框架,它提供了统一的UI界面,简化了设计界面UI的过程(缺点是定制了界面,调整的余地不是太 ...

  9. 制作framework&静态库

    http://blog.csdn.net/justinjing0612/article/details/7880712     (制作framework) http://blog.sina.com.c ...

随机推荐

  1. openstack-flat 网络问题

    使用packstack安装,版本为M,默认为vxlan网络, 操作系统为centos7. 由于学习的需要修改为flat网络. 首先修改配置文件: /etc/neutron/plugins/ml2/ml ...

  2. 用GSON解析Json格式数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  3. bringSubviewToFront和insertSubview: atIndex:

    bring方法只能在当前SuperView中改变位置,insertSubview则可以脱离自己的superVIew,成为另个同级甚至高级的view的子view

  4. Visual C++ 中的重大更改

    https://technet.microsoft.com/zh-cn/learning/bb531344.aspx   当你升级到 Visual C++ 编译器的新版本后,可能会在之前编译并正常运行 ...

  5. jquery中.attr('value')和.val()的区别

    .val() 能够取到 针对text,hidden可输入的文本框的value值. 而 .attr('value') 可以取到html元素中所设置的属性 value的值,不能获取动态的如input ty ...

  6. SQL 的 ISNULL 与 NULLIF 运算符

    1.  ISNULL ISNULL(check_expression, replacement_value) 作用: 检查第一个参数是否为null. check_expression 与 replac ...

  7. centos 修改网卡名为eth0

    centos7和centos6的命名规则不同,centos6网卡名由udev控制 网卡名以eth开头然后第一块网卡叫eth0第二块网卡叫eth1,然后centos7的网卡命名规则截然不同 centos ...

  8. LeetCode Kth Largest Element in an Array

    原题链接在这里:https://leetcode.com/problems/kth-largest-element-in-an-array/ 题目: Find the kth largest elem ...

  9. Linux Samba服务器配置

    Linux系统默认已经安装了Samba,但是没有安装Samba服务: 1,先查看安装情况:rpm -qa|grep samba 根据系统的安装情况选择下载或者通过光驱安装所缺的rpm包. 我的安装情况 ...

  10. Linux系统中“动态库”和“静态库”那点事儿 /etc/ld.so.conf 动态库的后缀为*.so 静态库的后缀为 libxxx.a ldconfig 目录名

    Linux系统中“动态库”和“静态库”那点事儿 /etc/ld.so.conf  动态库的后缀为*.so  静态库的后缀为 libxxx.a   ldconfig   目录名 转载自:http://b ...