- 浏览: 38974 次
- 性别:
- 来自: 北京
最新评论
雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/7283763
注意:首先确保你的XCODE4使用IOS5,否则请下载IOS5在继续阅读。
IOS程序是由Objective-c语言构成,而是Objective-c语言中每一个类又分成 .h .m 文件。静态库可以将这些程序的类封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。总的来说IOS静态库适合去制作第三方提供的SDK,废话不多说了我们直接进正题。
首先打开Xcode4创建一个静态库工程,如下图选择Framework&Library ->Cocoa Touch Static Library (创建静态库),点击右下角按钮“next”继续完成创建。
工程创建完毕后,我们开始编写代码。我们创建一个UIView类用来显示一张图片,并且点击该视图后打开一个网址。
创建视图类的.h文件
显示的图片资源为通过URL下载后谷歌的LOGO,点击该LOGO视图后程序将打开百度的主页。
- #import "MyView.h"
- @implementation MyView
- - (id)initWithFrame:(CGRect)frame
- {
- //初始化视图位置
- self = [super initWithFrame:frame];
- if (self) {
- }
- return self;
- }
- - (void)drawRect:(CGRect)rect
- {
- //这里创建一个图片视图
- UIImage *image=[[UIImage alloc]initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com.hk/intl/zh-CN/images/logo_cn.png"]]];
- [image drawInRect:CGRectMake(0, 0,self.frame.size.width , self.frame.size.height)];
- [image release];
- }
- -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
- {
- //点击视图后打开网页
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com"]];
- }
- @end
到这一步静态库中的代码我们已经写完,现在我们开始制作静态库。静态库的制作方法可分为两种:第一种为在真机上使用的静态库,第二种为在模拟器中使用的静态库。这两种方法制作起来有点小区别,请大家一定看好了,别眨眼睛喔, 我们开始从模拟器入手。
如图,先选择模拟器iPhone 5.0 Simulator,如果你的XCODE4不是IOS5版本那么你将没有这个选项,然后Build工程,构建工程完毕后libSDKLib.a静态库文件遍生成了出来, 选择该文件鼠标右键找到它。
找到文件以后,默认为Debug-iphoneos / libsdklib.a ,但是这个文件是不能在模拟器中使用的,并且它也不能在真机中使用。你需要选择下面Debug-iphoneosimulator / libsdklib.a这个文件,将libSDKLib.a与对应MyView.h头文件拖拽入使用它的工程当中。
接下来创建一个普通的IOS工程,先选择模拟器运行 iPhone5.0 Simulator ,然后将libSDKLib.a 与MyView.h拖拽添加至程序当中即可。
运行工程即可看到效果,本例中通过URL加载了一张谷歌的LOGO,触摸点击该视图后打开百度的首页。
调用静态库的方法如下:
- #import "ViewController.h"
- #import "MyView.h"
- @implementation ViewController
- - (void)didReceiveMemoryWarning
- {
- [super didReceiveMemoryWarning];
- // Release any cached data, images, etc that aren't in use.
- }
- #pragma mark - View lifecycle
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- //创建静态库视图
- MyView *myView = [[MyView alloc] initWithFrame: CGRectMake(0, 0, 120, 100)];
- //将静态库视图添加至窗口当中
- [self.view addSubview:myView];
- [myView release];
- }
- - (void)viewDidUnload
- {
- [super viewDidUnload];
- // Release any retained subviews of the main view.
- // e.g. self.myOutlet = nil;
- }
- @end
OK ,到这一步我们已经将静态库顺利的应用在模拟器当中,下面我们学习如何将静态库应用在真机当中。我们再次回到制作静态库的工程当中,如图打开工程后编译环境选择IOS Device,然后构建构成即可完成。
使用鼠标右键找到libSDKlib.a,这时候Debug-iphoneos / libSDKlib.a 就是可以在真机上编辑的静态库。
最后将libSDKLib.a 与MyView.h拖拽添加至程序当中,连接上真机运行工程即可在真机上看到效果了。值得注意的是模拟器和真机用的libSDKLib.a必需要严格的区分开,否则程序会报错。
最后欢迎各位盆友可以和MOMO一起讨论IOS软件开发,从今天开始继续维护博客,你懂的,哇咔咔~~如果你觉得看得不清楚,MOMO附带上本章的源码下载,希望大家可以一起学习 哈哈~。哇咔咔~ MOMO愿和 大家好好学习,大家一起进步哈~!!!
原文链接:http://blog.csdn.net/xys289187120/article/details/7283763
发表评论
-
IOS
2012-06-08 18:08 2186转自 http://site.douban.com/ ... -
iPhone4文件结构分析列表
2012-06-06 18:25 11、 【/Applications】 ... -
NSError code错误列表信息(NSFileManage、NSURL...)
2012-05-14 13:05 2613NSError codes in the Cocoa erro ... -
iOS4中Core Motion框架的介绍和使用
2012-04-18 20:47 937http://www.kunli.info/2010/07/3 ... -
iOS5新开发的API总述——WWDC 2011
2012-03-23 13:03 1838转自 http://alloc.sinaapp.com ... -
中文版多线程编程指南
2012-03-19 19:33 971转自http://www.cocoachina.com/iph ... -
iPhone 路径大全
2012-03-13 11:41 9761、【/Applications】 常用 ... -
App Store审核指南
2012-03-08 19:19 968前言 感谢您付出宝 ... -
iOS设备型号与产品名称的对应
2012-03-07 21:47 2369"iPhone1,1" => &qu ... -
gzip文件的解压缩
2012-03-07 10:21 1429to allow zlib compression/decom ... -
iOS平台开发者总结出的宝贵上架经验
2012-03-06 16:06 1113以下是许多iOS平台开发者总结出的宝贵上架经验: 基本 ... -
版本控制清除所有.svn目录
2012-02-29 18:04 1580删除这些目录是很简单的,命令如下find . -type d ... -
UIView的一些基本方法理解:loadView、viewDidLoad、viewDidUnload、viewWillAppear、viewWillDisapp
2012-02-29 15:51 1821对于其它几个基本方法就不那么常用了,为了更好地编程使用这些方法 ... -
iphone音乐播放
2012-02-28 14:20 1300在 iPhone 应用或者是游戏的开发过程中,对声音的支持是必 ... -
Zlib的deflate, z_stream结构的使用
2012-02-20 22:52 3694Zlib的deflate, z_stream结构的 ... -
iphone通讯录AddressBook.framework和AddressBookUI.framework的应用
2012-02-02 12:26 3200通讯录中联系人相关的应用iPhone提供了两个框架:Ad ...
相关推荐
在iOS开发中,静态库(Static Library)是一种重要的组件...通过这个教程,你可以学会如何在Xcode4中创建、管理和使用静态库,提升你的iOS开发效率。同时,理解静态库的工作原理有助于你在项目中做出更合理的架构决策。
总结来说,Xcode 4中创建静态库的过程主要包括:新建静态库项目、编写库代码、配置编译设置、编译生成静态库、检查和合并架构、以及在新项目中引入和使用静态库。了解这一过程对iOS开发者来说至关重要,因为它有助于...
### Xcode 制作静态库详解 #### 引言 在iOS开发中,静态库的创建与使用是一项基本但至关重要的技能。静态库允许开发者将常用功能或代码片段封装起来,便于在多个项目中重复利用,同时也有助于保护源代码不被他人...
在iOS开发中,Xcode制作静态库是一种常见的技术实践,它可以帮助开发者封装代码,提高代码重用性,减少项目体积,提升应用性能。本篇将详细介绍如何使用Xcode创建和使用静态库。 首先,理解静态库的概念至关重要。...
本篇文章将深入探讨如何使用Xcode编译静态库,这是iOS开发中常见的需求,尤其是在开发组件化或者第三方库时。 静态库是一种预先编译的代码集合,可以在编译时直接嵌入到应用中,使得应用包含了库的所有代码,不需要...
在iOS开发中,dylib(动态链接库)是一种共享代码的方式,可以被多个应用程序同时使用,从而节省设备的存储空间并提高代码复用性。Xcode是Apple官方提供的集成开发环境,用于创建iOS和macOS应用。下面我们将深入探讨...
在iOS应用开发中,Xcode是苹果官方提供的集成开发环境(IDE),用于编写、测试和发布iOS、iPadOS以及macOS平台的应用。本压缩包“iOS真机调试包(Xcode)”专为iOS 16.1至16.3系统设计,旨在帮助开发者在真实设备上...
使用这个压缩包,开发者可以直接在Xcode中配置对应的iOS 16开发环境,进行真机调试,从而高效地完成应用的适配工作。 总的来说,通过Xcode的真机调试包,开发者可以快速地为iOS 16做好准备,确保应用在新系统上的...
**iOS 15.3 Xcode 开发包详解** iOS 15.3是Apple针对其移动操作系统的一次重大更新,旨在提供更好的性能、增强的安全性以及一系列新特性和改进。Xcode作为苹果官方的集成开发环境(IDE),是开发者进行iOS应用开发...
本实例主要探讨如何制作包含Category的iOS静态库,解决静态库中对Category的使用问题。 首先,让我们了解Category在Objective-C中的作用。Category是Objective-C的一个强大特性,允许我们扩展已有类的功能,而无需...
在iOS开发中,使用静态库是一种常见的实践,尤其是在需要重用代码模块或多项目共享代码时。本文将详细介绍两种在Xcode中使用静态库的方法:一种是将库工程作为子项目的方式,另一种则是直接引用头文件和库二进制文件...
这表明该Xcode包可能包含了针对这个iOS构建版本的调试工具和库,以支持开发者进行相应的开发和调试工作。 知识点: 1. **Xcode**: Xcode不仅是代码编辑器,还包括了Interface Builder(界面设计工具)、...
在iOS应用开发中,微博应用的构建是一个典型的案例,它涉及到多个关键技术点,包括使用Xcode作为集成开发环境(IDE),Objective-C或Swift编程语言,以及Apple的UIKit框架。下面我们将详细探讨这些知识点。 首先,...
在iOS项目中使用GMSSL库,需要将库文件添加到Xcode项目中,并链接相应的静态库。然后,可以通过导入头文件,调用库中的函数来进行加密、解密以及建立SSL连接等操作。在实际应用中,可能还需要配置证书和密钥,以及...
**iOS 15.1 Xcode包详解** iOS 15.1是Apple在其iOS操作系统中的一个重要更新,它带来了多项新特性和改进,为开发者和用户提供了更好的体验。Xcode作为Apple官方的集成开发环境(IDE),是开发iOS、macOS、watchOS...
将Xcode适配可以调试、编译、运行、打包系统版本号为iOS 16.0 版本的设备,解决"Could not find Developer Disk Image"问题
《iPhone IOS 入门 开发 资料 pdf》这套资料涵盖了iPhone iOS应用开发的基础知识,主要通过三本书籍——《Objective-C+2.0程序设计(第二版)》、《Programming in Objective-C 2.0》以及《iPhone开发基础教程》来引导...
**Xcode iOS11.0配置包详解** Xcode是Apple官方推出的开发工具,用于构建、测试和发布iOS、iPadOS、macOS、watchOS以及tvOS的应用程序。在这个特定的场景中,我们讨论的是针对iOS 11.0版本的Xcode配置包。这个配置...