惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LINUX DO - 热门话题
Stack Overflow Blog
Stack Overflow Blog
B
Blog
WordPress大学
WordPress大学
Project Zero
Project Zero
P
Palo Alto Networks Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - 司徒正美
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
T
Tailwind CSS Blog
Forbes - Security
Forbes - Security
F
Full Disclosure
SecWiki News
SecWiki News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hacker News: Ask HN
Hacker News: Ask HN
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
F
Fortinet All Blogs
Cisco Talos Blog
Cisco Talos Blog
G
Google Developers Blog
J
Java Code Geeks
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recorded Future
Recorded Future
O
OpenAI News
Spread Privacy
Spread Privacy
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Cybersecurity and Infrastructure Security Agency CISA
S
Securelist
V
Vulnerabilities – Threatpost
Y
Y Combinator Blog
IT之家
IT之家
U
Unit 42
腾讯CDC
S
Security Affairs
C
Cisco Blogs
Schneier on Security
Schneier on Security
The Last Watchdog
The Last Watchdog
B
Blog RSS Feed
宝玉的分享
宝玉的分享
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Security @ Cisco Blogs
Cyberwarzone
Cyberwarzone
T
The Blog of Author Tim Ferriss

博客园 - 张永存(Jerry)

POD 创建 Xcode 项目组 ReactiveCocoa RACObserve subscribeNext 时,只有值不一样时才响应 ReactiveCocoa 监听Enabled和添加Command出错的处理方法 Masonry + UIView Animations 注意事项 addObserver forKeyPath options 注意事项 ios中tabbar得title和navigationbar的title如何修改 tableview 分组显示返回footerviewt和headerView的高度不能为0的问题 UITableViewCell的选中时的颜色设置 ios 枚举 位移操作 设置UIButton 字体 颜色 ios NSString format 保留小数点 float double 屏幕自动旋转和调节大小 IOS影响Animiation动画的事件 类似9patch效果的iOS图片拉伸 CocoaPods安装 Mac OS X上安装 Ruby运行环境 XMPP 连续注册出现用户限制:500错误 处理方式 ejabberd 搭配的XMPP服务器注册失败 403 处理 XMPP ejabberd服务 Mac 安装
在framework中打包xib 【转】
张永存(Jerry) · 2015-09-14 · via 博客园 - 张永存(Jerry)

废话不多说,直接上图

1、Copy Bundle Resources 中加入相关xib

2、这里是重点,调用的时候不能直接写

  1. [[NSBundle mainBundle] loadNibNamed:@"yourXibName" owner:nil options:nil]  


而要加入framework中的路径,否则在调用的时候会报找不到xib文件(路径不同)的错,继而crash

  1. [[NSBundle mainBundle] loadNibNamed:@"yourframework.framework/yourXibName" owner:nil options:nil]  

3、编译完成后可以看到在framework目录下生成了对应的nib文件(xib编译之后生成nib,详情自己搜吧)

4、然后在项目配置的时候,需要把framework加入到Copy Bundle Resources 中,这一步也是重点

不过这样会增加整个包的大小

因此个人认为还是使用.a+bundle的形式更为妥当

另外如果在xib中直接加载了图片资源,则需要使用代码进行重新设置,因为无论是framework的形式还是.a+bundle的形式,资源目录都发生了改变,不再是从.app的根目录下去取资源,而是在.app目录下的bundle或者framework目录中取,因此加载资源的方式也需要进行更改

  1. + (NSString *)pathForResource:(NSString *)name ofType:(NSString *)type {  
  2.     NSBundle *bkBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:YOUR_BUNDLE_NAME ofType:@"bundle"]];  
  3.     NSString* path = [bkBundle pathForResource:name ofType:type];  
  4.     return path;  
  5. }  


还有一个蛋疼的地方需要注意,在xcode6下,combine_hidpi_images的默认设置项为yes,需要手动改为no,否则bundle中的png图片经过编译打包会变成tiff的文件,进而导致对应图片找不到

版权声明:本文为博主原创文章,未经博主允许不得转载。