Archive for the Category: iOS

PonyDebugger 手动安装

PonyDebugger是Square开源的一款iOS调试工具,使用PonyDebugger可以方便调试iOS应用的页面继承关系,Coredata,以及网络请求,并且还可以输出日志。 PonyDebugger 的项目地址 :https://github.com/square/PonyDebugger 按照PonyDebugger 提供的安装文档大概率会出现问题,一般都会出现 Could not find any downloads that satisfy the requirement pybonjour (from ponydebugger)  出现上面的问题一般有两个原因,国内墙了code.google.com,造成无法下载到pybonjour。这个问题只能靠翻墙来解决,或者自己下载好pybonjour,然后修改PonyDebugger 的相关配置去解决(理论是可行的,没有去尝试) 另外一个原因就是Mac OSX 升级到10.9 以后,PonyDebugger的安装脚本没有同步升级,造成 pybonjour 安装出现问题。 那么如何修复呢,就需要我们手动安装PonyDebugger。 1 首先下载安装脚本 curl -O https://cloud.github.com/downloads/square/PonyDebugger/bootstrap-ponyd.py 2 安装 python bootstrap-ponyd.py –ponyd-symlink=/usr/local/bin/ponyd ~/Library/PonyDebugger 这时候同样会报上面的错误,不去管它. 3 修复更新,依次执行下面的脚本 source ~/Library/PonyDebugger/bin/activate pip install -U -e git+https://github.com/square/PonyDebugger.git#egg=ponydebugger –allow-external pybonjour –allow-unverified pybonjour ponyd update-devtools 4 执行完成之后,应该会打印出安装成功地消息 […]

1 Comment

iOS开发小技巧

1 打印NSObject对象的内存地址,使用%p [NSString stringWithFormat:@”%p”,object];  2 iOS7 中修改status bar 背景颜色 – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window.rootViewController =_ViewController; [self.window makeKeyAndVisible]; [application setStatusBarHidden:NO]; [application setStatusBarStyle:UIStatusBarStyleLightContent]; self.window.backgroundColor = [UIColor colorWithHexString:@”0079c1″]; return YES; }

Leave a comment

Objective-C中类动态添加方法

需求场景: 在某种条件触发下,该类才能响应某方法 实现方法: 使用class_addMethod方法添加 class_addMethod([self class], @selector(locationManager:didUpdateLocations:), (IMP)didUpdateLocations, “v@:@”); 然后实现didUpdateLocations方法 static void didUpdateLocations(id self, SEL _cmd, id manager,id locations) { [self ImpllocationManager:manager didUpdateLocations:locations]; }  

Leave a comment

VectorRiverMap

github:https://github.com/barrycug/VectorRiverMap Use ArcGIS iOS SDK to visit Vector Tiled Map Base on ArcGIS runtime for iOS v10.1.1 data from http://www.somebits.com:8001/rivers js version https://github.com/NelsonMinar/vector-river-map GeoJSON parser by GeoJSONKit https://github.com/barrycug/GeoJSONKit

Leave a comment

GeoJSONKit

GeoJSONKit -GeoJSON-iOS parser  SDK github:https://github.com/barrycug/GeoJSONKit GeoJSON is a format for encoding a variety of geographic data structures. A GeoJSON object may represent a geometry, a feature, or a collection of features. GeoJSON supports the following geometry types: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, and GeometryCollection. Features in GeoJSON contain a geometry object and additional properties, […]

Leave a comment

iOS6中的背景图片匹配

随着iphone5的推出,iOS家族又多了一个尺寸,320*568,这就意为着在iOS开发中我们要适配这个新的分辨率。 在老的iOS应用中,背景图片一般为320*480,在iphone5中会进行拉伸,特别是在背景图片和控件叠加使用的情况下,会造成控件位置和图片对应位置的偏移,那么我们只能通过提供320*568大小的图片来解决,但是ios6中不会识别-568h@2x后缀的图片。因此我们需要自己扩展UIImage方法,来实现系统自动识别a.png,a@2x.png ,a-568h@2x.png. @implementation UIImage (iPhone5extension) + (UIImage*)imageNamedForDevice:(NSString*)name { if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { if (([UIScreen mainScreen].bounds.size.height * [UIScreen mainScreen].scale) >= 1136.0f) { //Check if is there a path extension or not if (name.pathExtension.length) { name = [name stringByReplacingOccurrencesOfString: [NSString stringWithFormat:@”.%@”, name.pathExtension] withString: [NSString stringWithFormat:@”-568h@2x.%@”, name.pathExtension ] ]; } else { name = [name stringByAppendingString:@”-568h@2x”]; […]

Also posted in iphone5 Leave a comment

24个iOS 登陆界面

原文地址:http://favbulous.com/post/1001/24-unique-ios-login-screen-showcase glmps Eeve Evernote Food Recood Hipster Mingle! Flipboard Showyou Facebook Piictu Find Mt Friends Stamped Pinterest Kinotopic Headspace Square Square Card Case AIM Readability Style Station Simple Pocket Dabble Klout

Leave a comment

iOS中可排序的字典OrderedDictionary

分享一个可排序的字段,实现方法很简单,用数组来来保存key的插入顺序。 应用场景:当有些Rest API的参数严格按照顺序检查的时候,需要将Dictionary中元素按照插入顺序构造成参数列表。 cocoa中的NSDictionary本身是无序的,因此需要一个可排序的Dictionary来辅助。 原文地址: http://cocoawithlove.com/2008/12/ordereddictionary-subclassing-cocoa.html 需要翻墙才能看。 OrderedDictionary

Leave a comment

使用AppleDoc自动生成帮助文档

AppleDoc 是一个根据注释生成文档的工具,其生成的文档风格类似于iOS SDK的帮助文档,并能生成docset格式,安装到本机的帮助文档系统中。 AppleDoc还可以整合到Xcode编译环境中,通过runscript的方式调用,在编译的同时生成最新的帮助文档,从而保持文档和代码的一致性 AppleDoc是一个开源产品,目前托管在github上,项目地址:https://github.com/tomaz/appledoc AppleDoc 安装: 将项目复制到本地 git clone git://github.com/tomaz/appledoc.git 运行intall命令 sudo sh install-appledoc.sh 使用也比较简单,直接在命令行执行即可 appledoc –project-name appledoc –project-company “Gentle Bytes” –company-id com.gentlebytes –output ~/help . 最后生成的结果类似下面的链接展示的帮助文档: http://gabriel.github.com/gh-kit/

Leave a comment

在iOS中使用正则表达式

在iOS开发中,经常会遇到处理网页信息,或者验证用户名是否符合规则等情况,正则表达式则可以方便的处理这些问题。 在iOS的开发中使用NSPredicate 的字符串比较功能来进行正则表达式处理,其比较关键字为:<code><code><code><code>MATCHES 下面的代码定义了一个匹配6-15个由字母/数字组成的字符串的正则表达式 NSString * regex        = @”(^[A-Za-z0-9]{6,15}$)”; NSPredicate * pred      = [NSPredicate predicateWithFormat:@”SELF MATCHES %@”, regex]; BOOL isMatch            = [pred evaluateWithObject:@”123456ABCde”];

Leave a comment