iOS开发之CocoaPods使用

2013年5月28日 没有评论

iOS开发中难免会遇到使用第三方库,当第三方库越来越多的时候,版本管理就相当麻烦,CocoaPods 就解决了这个问题

官方主页 有详细的安装教程(要翻墙

为方便不能翻墙的同学简单介绍一下安装使用

安装:

CocoaPods是使用

ruby gem
分发的,在mac下只需要运行简单的命令


$ [sudo] gem install cocoapods
$ pod setup

现在已经成功安装pod 查看更多pod命令可以使用

pod search

使用:

在工程目录下用你喜欢的工具新建一个文件Podfile 并输入一下内容


platform :ios, '5.0'
pod 'JSONKit',  '1.5pre'Í

在当前工程目录下运行命令

pod install
现在CocoaPods 会生成一个
App.xcworkspace
的工程文件,打开你就可以正常的使用刚才加入的
JSONKit

当然如果相应的第三方库升级了 只需要在修改

Podfile
中对应的版本好即可 修改完成后记得运行
pod update

Note

默认情况下 在你的工程掉

import
pod 中的第三方库是不提示的 需要设置一下 targets 中的
User header Search Paths

步骤:

  • 选中工程的targets(不是pod工程)
  • 选中
    Build Setting
    找到
    User header Search Paths
  • 新建一个path 设置为
    ${SRCROOT}
    后面路径选为
    recusive
    搞定
分类: iOS 相关 标签: ,

iOS Custom URL Scheme

2012年11月10日 没有评论

I’m making an app using a custom URL scheme, so I thought I’d share it with everyone else incase they were curious.

Step 1
Go into your app’s info.plst file.

Step 2
Add a Row to this and call it “URL types”

Step 3
Expand the first item in “URL types” and add a row called “URL identifier”, the value of this string should be the reverse domain for your app e.g. “com.yourcompany.myapp”.

Step 4
Again, add a row into the first item in “URL types” and call it “URL Schemes”

Step 5
Inside “URL Schemes” you can use each item as a different url you wish to use, so if you wanted to use “myapp://” you would create an item called “myapp”.

After all of this, your structure should look something like this:
Picture

Using the URL Scheme
Now you’ve registered the URL with the app, you can start the application by opening a url with the custom scheme.

Here are a few examples:


myapp:// myapp://a/random/path myapp://?foo=1&bar=2

This url will send a message to the UIApplicationDelegate so if you want to provide a custom handler for it, all you need to do is provide an implementation for it in your delegate.

Something like this:


- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { // Do something with the url here }

Most people will want to parse the URL and store it in the NSUserDefaults, here is a example of how you could do that:


- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { if (!url) { return NO; } NSString *URLString = [url absoluteString]; [[NSUserDefaults standardUserDefaults] setObject:URLString forKey:@"url"]; [[NSUserDefaults standardUserDefaults] synchronize]; return YES; }

Thats it!
I hope this may be useful for you!

分类: 大杂烩 标签: ,

#define与const

2012年5月2日 没有评论

联系:都可以用来定义常量

区别:

1. const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)。

2. 前者在堆栈分配了空间,而后者只是把具体数值直接传递到目标变量罢了。或者说,const的常量是一个Run-Time的概念,他在程序中确确实实的存在并可以被调用、传递。而#define常量则是一个Compile-Time概念,它的生命周期止于编译期:在实际程序中他只是一个常数、一个命令中的参数,没有实际的存在。
3.const常量存在于程序的数据段,#define常量存在于程序的代码段。

4. 有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。

建议:为了便于检查错误,建议避免使用#define

分类: iOS 相关 标签: ,

mac 下git命令补全

2012年1月12日 1 条评论

如果你用的是 Bash shell,可以试试看 Git 提供的自动完成脚本。下载 Git 的源代码,进入

contrib/completion

 目录,会看到一个 

git-completion.bash

 文件。将此文件复制到你自己的用户主目录中(译注:按照下面的示例,还应改名加上点:

cp git-completion.bash ~/.git-completion.bash

),并把下面一行内容添加到你的 

.bashrc

 文件中:(btw:默认情况下.bashrc是没有的这个时候需要手动创建一个 在~/ 目录下)


source ~/.git-completion.bash

也可以为系统上所有用户都设置默认使用此脚本。Mac 上将此脚本复制到

/opt/local/etc/bash_completion.d

 目录中,Linux 上则复制到 

/etc/bash_completion.d/

 目录中。这两处目录中的脚本,都会在 Bash 启动时自动加载

共享一个hosts列表 及时更新的

2011年12月27日 没有评论

代码托管再google code上 你懂得 地址放出 here

windows mac osx 手机 都可以使用 包括google twitter facebook youtube等 ip

 

分类: 原创 标签:

CCSpriteSheet在cocos2d-iphone 1.0改名

2011年8月2日 没有评论

如题CCSpriteSheet 在1.0中已经改名为CCSpriteBatchNode 特此mark

判断当前设备是否是ipad

2011年7月26日 没有评论

#define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

用来判断当前设备是否为ipad

UITableView 设置背景图片

2011年7月19日 没有评论

由于我的类是继承自UItableViewController的  所以不方便再加一个UIImageView 做背景 而UITableView又没有提供设置图片背景的方法  不过倒是有一个设置背景颜色的方法,如果代码可以达到我想要的效果

self.tableView.backgroundColor =[UIColor colorWithPatternImage:[UIImage imageNamed:@"××××.jpg"]];

Mac OS X下用于系统监控和管理的命令

2011年7月12日 没有评论

Mac OS X提供了Terminal,即“终端”程序作为命令行交互接口。命令行的工作方式确实给一些工作带来便利,比如一些系统的管理和监控,以及一些对配置文本的简单查看和处理等。很多用户可能有在Terminal使用一些基本命令的经历,如ls,rm,mkdir,rmdir,cp等等。本文介绍一些稍微进阶又不如ls普及的Terminal命令,主要用于系统的监控和管理。

在黑漆漆(或惨白)的终端程序里,你是否曾打错一行命令,然后按着退格键按到手指酸痛?或者还用左右箭头让那个闪烁的小光标来回地游走?命令行下控制光标的几个快捷键一定得掌握,绝对的易用方便。 阅读全文…

EXC_BAD_ACCESS错误的查找方法

2011年7月3日 没有评论

相信没有个做iphone开发的人都会遇到EXC_BAD_ACCESS吧,解释下EXC_BAD_ACCESS,当你向已经释放的对象发送消息时就会出现这种错误。我们可以通过设置NSZombieEnabled变量来查找错误的根源

至于NSZombieEnabled,就是当设置NSZombieEnabled环境变量后,一个对象销毁时会被转化为_NSZombie,个人感 觉和线程的那几个状态有些相似,设置NSZombieEnabled后,当你向一个已经释放的对象发送消息,这个对象就不会向之前那样Crash或者产生 一个难以理解的行为,而是放出一个错误消息,然后以一种可预测的可以产生debug断点的方式消失(原文是die),因此我们就可以找到具体或者大概是哪 个对象被错误的释放了。

设置NSZombieEnabled的方法如下

  1. 在XCode左边那个Groups & Files栏中找到Executables,双击其中的一项,或者右键Get Info;
  2. 切换到Arguments
  3. 这里一共有两个框,在下面那个Variables to be set in the environment:点+号添加一项,Name里填NSZombieEnabled,Value填Yes,要保证前面的钩是选中的。

去试一下吧 看看能不能找到你的错误

分类: 大杂烩 标签:
分享到... 
 Powered by patent-cn.com