iOS中bundle的应用

iOS中的bundle用来保存图片、plist文件、nib文件、国际化文件等资源文件的,根据其应用分为OS X下的bundle工程[1]或target、bundle文件。

bundle工程的创建参考文献1和文献2,使用bundle工程注意要先创建Workspace,然后再创建主工程,然后再创建bundle工程。文献1注意的地方1:我们需要修改scheme:Edit Scheme-》Build-》Add this bundle(点击左下角的+按钮,然后选中要加入的bundle)。需要注意的地方2:这样在编译其他target的时候就会自动编译此bundle了,但是这个bundle却不会打包到app中。【感觉没必要使用bundle工程,直接使用简单的bundle文件即可。bundle文件中删除一个文件,和在工程中删除其他文件夹下的文件一样,并不会导致整个bundle文件需要更新。】

我们还需要添加run script到build parses中(点击导航栏的主工程,然后点击TARGETS-Build Phases):Build Phases-》add run script(点+号)

bundle文件可以直接将一个文件夹的后缀改为.bundle,然后拖入到工程中即可,参考文献[3];也可以通过File-New-File-iOS-Resource-Setting Bundle路径创建,参考文献[4]。

目前bundle工程

随着应用变得越来越复杂,分团队及分工程开发变得不可避免,如美团这样的大型应用。如果需要分工程开发,iOS中可以在一个Workspace下管理多个工程。如果不需要分工程开发,也可以在一个工程下管理多个Target。

参考文献:

1.《iOS工程 与 资源文件 和 Bundle》http://my.oschina.net/u/811205/blog/294278

2.《iOS-生成Bundle包-引入bundle-使用bundle》http://blog.sina.com.cn/s/blog_7b9d64af0101jmj2.html

3.ios开发之使用bundle来管理资源文件

4.《iOS8正确访问mainBundle和自定义Bundle中子文件夹资源文件NSBundle》http://www.cocoachina.com/bbs/read.php?tid-319712.html

时间: 2024-08-19 11:07:31

iOS中bundle的应用的相关文章

iOS中bundle的意义

什么是bundle? bundle就是一个文件夹,按照一定标准组织的目录结构.每个iOS APP至少有一个main bundle,这个main bundle包含了app的二进制代码及任何你用到的资源,如图片,声音,HTML文件等.换句话说,主bundle包含了所有资源,这些资源会被编译成二进制代码提交到App Store上. bundle与普通的文件夹有什么区别? 1.cocoa touch框架提供了一个接口,可以很方便的访问bundle及其内部资源. 2.如果将bundle加入了Xcode中,

iOS开发:iOS中的多控制器管理

iOS中的控制器有三种创建方式: 1.通过storyboard创建 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Apply" bundle:nil]; SchemeViewController *schemeVC = [storyboard instantiateViewControllerWithIdentifier:@"SchemeViewController"]; 2.指定xib文

深入了解iOS中的VC切换的传值方式

由于上次面试中有提到相关内容,所以这次我专门深入研究了iOS的几种方式: 首先把所有的传值方式都列出来,如果有遗漏,请指正 首先列出iOS中使用的传值方式: init 传值(即在创建VC的时候就对响应的参数进行设置) property 传值(即属性赋值) Router 传值(这个在OC中被使用,因为作者没有写Swift版本,所以先开个坑,估计我会填坑) Delegate 传值(通过协议和代理传值) 闭包(block)传值 (通过swift中的闭包,类似于OC中的block传值) Notifica

iOS中UIView之间布局及跳转的几种方式

UIView是iOS开发中所有视图的基类, 表示屏幕上的一块矩形区域, 同时可以处理该区域的绘制和触摸事件. UIViewController是视图控制器的基类, 用来处理屏幕之间的切换等操作, 提供视图管理模型. 一个UIViewController管理一个层级的UIView. 而RootViewController就是iOS应用启动时被载入的第一个视图控制器(可在main.storyboard中指定), 展示APP启动成功后的第一个界面. 因此, iOS中在各个UIViewControlle

ios中创建控制器的几种方式

1.通过storyboard创建: (1)先加载storyboard文件: UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"Test"  bundle:nil]; (2) 初始化storyboard中的控制器: ①初始化"初始控制器":HLViewController * hl = [storyboard instantiateInitialViewController]; ②通过标识初始

IOS中调用系统的电话、短信、邮件、浏览功能

iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评论, 收藏, 编辑 --系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: 调用系统应用 使用系统服务目 录 短信与邮件 通讯录

ios中的索引查询

// // YCViewController.h // 分组查询一 // // Created by 余超 on 14-5-19. // Copyright (c) 2014年 余超. All rights reserved. // #import <UIKit/UIKit.h> @interface YCViewController : UIViewController<UITableViewDataSource,UITableViewDelegate,UISearchBarDeleg

iOS中的NSBundle常用方法

1.获取app的info.plist详细信息 版本号:Bundle version NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 应用标识:Bundle identifier NSString *bundleId = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBun

iOS中的NSTimer 和 Android 中的Timer

首先看iOS的, Scheduling Timers in Run Loops A timer object can be registered in only one run loop at a time, although it can be added to multiple run loop modes within that run loop. There are three ways to create a timer: Use the scheduledTimerWithTimeI