iphone开源项目列表扫描wifi信息:
http://code.google.com/p/uwecaugmentedrealityproj
http://code.google.com/p/iphone-wireless/
条形码扫描:
http://zbar.sourceforge.net/iphone/sdkdoc/install.html
tcp/ip的通讯协议:
http://code.google.com/p/cocoaasyncsocket/
voip/sip:
http://code.google.com/p/siphon/
http://code.google.com/p/asterisk-voicemail-for-iphone/
http://code.google.com/p/voiphone/
three20
https://github.com/facebook/three20
google gdata
http://code.google.com/p/gdata-objectivec-client/
720全景显示panoramagl
http://code.google.com/p/panoramagl/
jabber client
http://code.google.com/p/ichabber/
PLBlocks
http://code.google.com/p/plblocks/
image processing
http://code.google.com/p/simple-iphone-image-processing/
json编码解码:http://code.google.com/p/json-framework
base64编码解码:http://code.google.com/p/google-toolbox-for-ma
1'导入ImageIO.framework、QuartzCore.framework和MobileCoreServices.framework框架
2‘建立GifAnimationView.h文件
代码:
#import
#import
#import
@interfaceGifAnimationView:UIView {
}
@property (nonatomic,assign)int tag_Index;
-(id)initWithFrame:(CGRect)frame filePath:(NSString *)filePath;
@end;
3'建立GifAnimationView.m文件
#import"GifAnimationView.h"
@implementationGIfAnimationView
@synthesize tag_Index;
-(id)initWithFrame:(CGRect)frame filePath:(NSString *)_filePath{
本文转摘自:http://blog.csdn.net/jjj706/article/details/6943802
1.xml解析,xml解析的库可用的很多,我项目中用过比较顺手的就是GData,解析、构建xml都可以,很方便的实现。
http://www.raywenderlich.com/725/how-to-read-and-write-xml-documents-with-gdataxml
2.json库
json-framework
使用教程:http://blog.csdn.net/xiaoguan2008/article/details/6732683
JSONKit,根据他自己提供的数据它解析的时候比json-framework快4倍,比二进制的.plist 还快25%。
它是一个开源框架,基于BSD协议发布。由于json-framework是开放源代码的,当你需要使用它时你只需将json的源代码加入到你的工程中
3.HTTP 网络请求库
基本知道了ASIHttpRequest这个库之后绝大多数的含有http操作项目都使用了,很方便易用
ASIHttpRequest库极大的简化了网络通信,提供更先进的工具,例如文件上传工具,重定向处理工具、验证工具、等等。
4.
进度,警告之类的提示控件
5.
用起来非常方便,不是新的控件,使用代理实现了加载图片的方法
6.照片浏览器
PhotoViewer
MWPhotoBrowser
7.
8.ColorPicker 颜色选取器
9.kal——iPhone日历控件
10.NSAttributedString-Additions-for-HTML 可以将html解析
我在ios5sdk开发中,遇到asihttp因为arc的缘故,报了很多错,网上找了一上午,没找到一个具体解决办法。后来无意中发现,在target下面的buildphases下有一个compile source,下面有很多待编译文件。偶然看到一个compileflag,灵感一现,原来可以针对某些文件进行arc设置。这样,asihttp框架不能使用的问题不就解决了嘛。于是,在asihttp框架包含的所有.m文件后对应的compileflag处加上-fno-objc-arc,这样,我的asihttp就能成功在ios5项目下运行了。
此外,
在网上看到一篇关于arc下的asihttp框架,感觉思路不错,收藏了。
能在ARC下跑的ASIHTTPRequest框架(以及升了5.0,用了ARC后N多开源框架不能用的解决方案)
坑爹的ARC呀,用了ARC后几乎所有开源框架都不能用了
包括这个网络连接最常用的框架ASIHTTPRequest,于是我就傻乎乎的去改ASIHTTPRequest源代码
解决了什么release呀,类型转化呀,非本地对象不能回调呀,等等诸多问题后终于没见红了
结果程序一跑还是挂,郁闷啊。
忽然想到ARC不是编译级的吗?而且苹果提供那么多框架,不可能为了ARC全都改过吧
于是乎把ASIHTTPRequest源代码编译成framework,在ARC的项目中直接导入framework,果然可以用了
爽啊,这下不用担心以前的框架用不了了,都可以这么处理
下面放出ASIHTTPRequest.framework,
//初始化label
UILabel
//设置自动行数与字符换行
[label
label.lineBreakMode
//
CGSize
//计算实际frame大小,并将label的frame变成实际大小
引用原文地址:http://www.weste.net/2011/3-11/Xcode-PROJECT_DIR.html
最近使用Xcode做了一个简单的WebApps应用,就是使用UIWebview来调用一个页面,其中遇到几个问题,这里记录一下。其中一个就是编译的时候出现黄色感叹号的Warning,js文件都报错:warning:no rule to process file '$(PROJECT_DIR)/jquery-1.5.1.min.js' oftype sourcecode.javascript for architecture i386
明显是找不到js文件。这是什么原因呢?
其实是将js和html等资源文件加入到project的时候,Xcode错误的将js文件都放到了编译源代码(CompileSources)文件夹,以为js代码也需要“被编译”。
解决的办法:
只需要在XCode左侧的列表中Targets-> Compile Sources 中的js文件拖拽到Copy Bundle Resource中就可以了。
知识点:
Copy BundleResources:是指生成的product的.app内将包含哪些资源文件。通过Copy BundleResources中内容的不同设置, 我们可以让不同的product包含不同的资源, 包括程序的主图标等,而不是把XCode的工程中列出的资源一股脑的包含进去
CompileSources:是指将有哪些源代码被编译
Link Binary WithLibraries:是指编译过程中会引用哪些库文件
code 多了一个 ARC的新编译器特性,在使用模板创建一个项目的时候会自动启用这个特性( -fobjc-arc)。
可以在 Build Setting =>"Apple LLVM compiler 3.0-Auto Reference Counting“ => "Mugratecide from MRR to ARC" 设置为 "MIGRATE code to ARC after building withPRECHECK" 可以跳过预语法检查报错, 且自动转换成ARC。
禁用可以设置 Build Setting =>"Apple LLVM compiler 3.0-Code Generation“ => “Objective-Cautomatic Reference Counting" 置为NO。
原文引用地址:http://blog.sina.com.cn/s/blog_4c4c79950100t3uy.html
Automatic ReferenceCounting(ARC),自动引用计数,是开发Cocoa程序时的一个编译级别的特性,用于自动内存管理。
在XCode4.2中,使用模板新建一个工程,该工程将使用ARC特性。
如果你的iOSSDK是iOS5 seed release2,需要做如下修改,才能避免编译时的错误:
●在System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h中,将:
CFTypeRefCFMakeCollectab
修改成:
CFTypeRefCFMakeCollectab
●在System/Library/Frameworks/Foundation.framework/Headers/NSObject.h中,将:
return(__bridge_retainCFTypeRef)X;
修改成:
return(__bridge_retainedCFTypeRef)X;
使用ARC将让你远离烦人且容易遗漏的retain,release和autorelease等操作。
ARC的工作原理是,在你编译程序时,将内存操作的代码(retain,release或autorelease)自动添加到需要的位置。即底层上使用和ManualReferenceCounting(手工引用计数)一样的内存管理机制,但由于XCode自动帮你在编译时添加内存操作的代码,从而简化了编程的工作。
启用ARC,编译选项中需加上-fobjc-arc,不过这个由XCode在创建工程模板时帮你完成。
4.2以前版本的XCode都不支持ARC。
对操作系统也有要求:MacOS X v10.6或v10.7(6
在 网上看到一篇好文章转载自:http://www.cnblogs.com/zhw511006/archive/2011/03/31/2000954.html。在此复制一下,方便以后自己浏览!!
ASIHTTPRequest是一款极其强劲的HTTP访问开源项目。让简单的API完成复杂的功能,
如:
异步请求,队列请求,GZIP压缩,缓存,断点续传,进度跟踪,上传文件,HTTP认证
在新的版本中,还加入了Objective-C闭包Block的支持,让我们的代码更加轻简灵活。
下面就举例说明它的API用法。
发起一个同步请求
同步意为着线程阻塞,在主线程中使用此方法会使应用Hang住而不响应任何用户事件。所以,在应用程序设计时,大多被用在专门的子线程增加用户体验,或用异步请求代替(下面会讲到)。
-(IBAction)grabURL:(id)sender
{
NSURL *url = [NSURLURLWithString:@"http://allseeing-i.com"];
ASIHTTPRequest *request =[ASIHTTPRequest requestWithURL:url];
[requeststartSynchronous];
NSError *error = [requesterror];
if(!error) {
NSString *response = [requestresponseString];
}
}
a,用requestWithURL快捷方法获取ASIHTTPRequest的一个实例
b, startSynchronous方法启动同步访问,
c,由于是同步请求,没有基于事件的回调方法,所以从request的error属性获取错误信息。
d,responseString,为请求的返回NSString信息。
创建一个异步请求
异步请求
有A、B两个ViewController,假如A pushB;
UINavigationItem的3个属性有backBarButtonItem, leftBarButtonItem,
假如设置BViewController的leftBarButtonItem 和rightBarButtonItem.则采用
UIBarButtonItem*cancelBtnItem = [[UIBarButtonItemalloc]initWithTitle:"取消"
self.navigationItem.leftBarButtonItem = cancelBtnItem ;
[cancelBtnItem release];
因此,rightBarButtonItem也是如此采用此方式实现。
但假若想实现BViewController的backBarButtonItem,就要在AViewController的ViewDidLoad中设置backBarButtonItem.
UIBarButtonItem *backButton =[[UIBarButtonItem alloc] initWithTitle:"返回"
self.navigationItem.backBarButtonItem = backButton;
这样才可以在B中设置backBarButtonItem.此时,才会在B中有效果出现,显示返回字样。否则,则无设置效果。