Archive for the Category: iOS

iOS中给WebView写入cookie

在混合模式的开发过程中,用户在NativeApp中进行了登陆,但打开WebApp的时候还需要登陆,这就会造成较差的用户体验。 如果WebApp支持使用从Cookie验证的话,可以通过在NativeApp往WebView写入cookie的方式来解决该问题。 代码如下: NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary]; [cookieProperties setObject:@”testCookie” forKey:NSHTTPCookieName]; [cookieProperties setObject:@”someValue123456″ forKey:NSHTTPCookieValue]; [cookieProperties setObject:@”www.example.com” forKey:NSHTTPCookieDomain]; [cookieProperties setObject:@”www.example.com” forKey:NSHTTPCookieOriginURL]; [cookieProperties setObject:@”/” forKey:NSHTTPCookiePath]; [cookieProperties setObject:@”0″ forKey:NSHTTPCookieVersion]; // set expiration to one month from now or any NSDate of your choosing // this makes the cookie sessionless and it will persist across web sessions and app […]

Leave a comment

苏梅岛中文离线地图App上线

下载地址:https://itunes.apple.com/us/app/su-mei-dao-zhong-wen-li-xian/id995196005?ls=1&mt=8 苏梅岛中文离线地图是一款支持中文地名和酒店标注的地图。所有数据全部打包在应用中,在离线环境在完全可用,是去苏梅岛旅游的必备工具。 主要特征包括: 1 地图数据完全离线 2 酒店全部中文标注,并提供酒店详细描述 3 景点、购物、美食、活动等重要地点中文标注 4 支持酒店查询,快速在地图上定位 5 支持景点、购物、美食、活动等信息在地图上的展示,并提供列表视图快速浏览 扫描二维码下载: 系统截图:

Also posted in ios app Leave a comment

Objective-C-HMTL-Parser解析乱码问题的解决

Objective-C-HMTL-Parser是Objective-c实现的一个Html杰解析库,地址为:https://github.com/zootreeves/Objective-C-HMTL-Parser 在使用Objective-C-HMTL-Parser解析中文网页的时候经常出现中文乱码的问题,主要问题是页面没有指定编码格式,通过下面代码指定编码格式即可解决乱码的问题: NSString * fileContent = [NSString stringWithContentsOfURL:[NSURL URLWithString:allUrl] encoding:(NSUTF8StringEncoding) error:&error]; fileContent = [fileContent stringByReplacingOccurrencesOfString:@”/><link” withString:@” charset=utf-8/><link”]; HTMLParser *parser = [[HTMLParser alloc] initWithString:fileContent error:&error];  

Leave a comment

判断NSString能否转换为数字

判断是否能够转成整形 – (BOOL)isPureInt:(NSString *)string{ if (!string) { return NO; } NSScanner *_scanner = [NSScanner scannerWithString:string]; int val; return [_scanner scanInt:&val] && [_scanner isAtEnd]; } 判断是否能转成浮点型 – (BOOL)isPureFloat:(NSString *)string{ if (!string) { return NO; } NSScanner* scan = [NSScanner scannerWithString:string]; float val; return [scan scanFloat:&val] && [scan isAtEnd]; }

Leave a comment

AFNetworking POST 请求失败问题解决

在使用AFNetworking 2.0 POST方式提交请求的时候,经常会报下面错误。 “Request failed: unacceptable content-type: text/html” using AFNetworking 2.0 这是由于服务器端返回的content-type为text/html,但客户端不认识造成的。解决方法如下: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; manager.requestSerializer = [AFHTTPRequestSerializer serializer]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@”text/html”];

Leave a comment

Baidu Geocoding API

如果要使用Baidu的Geocoding的API,需要引入百度官方的地图SDK,非常不方便,于是自己写了一个简单的只提供Geocoding的API。 github地址:https://github.com/barrycug/BaiduGeoCodingAPI 使用方法: self.baiduGeoCoding = [[BaiduGeoCoding alloc]initWithKey:@”key”]; [self.baiduGeoCoding geocoding:@”百度大厦” city:@”北京市” result:^(BaiduGeoCodingResult *result, NSError *error) { NSLog(@”x=%lf,y=%lf”,result.location.coordinate.longitude,result.location.coordinate.latitude); }]; CLLocation *loa = [[CLLocation alloc]initWithLatitude:39.983424 longitude:116.322987]; [self.baiduGeoCoding reverseGeocoding:loa result:^(BaiduReverseGeoCodingResult *result, NSError *error) { NSLog(@”%@”,result.formatted_address); }];

Leave a comment

“could not build module UIKit”问题的解决

在使用xcode5.1.1 编译代码的时候,偶尔会遇到”could not build module UIKit”的提示。 解决问题的方法是删除ModuleCache 文件夹: /Users/YOURUSERNAME/Library/Developer/Xcode/DerivedData/ModuleCache

Leave a comment

限制UITextView 只能输入数字

在有些情况下,需要限制UITextView只能限制输入数字,特别是在填写表格的时候,能够预防数据的错误录入,实现改功能比较简单,只需要实现 – (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString:@”0123456789″]; for (int i = 0; i < [ text length ]; i++) { unichar c = [ text characterAtIndex:i]; if ([myCharSet characterIsMember:c]) { return YES; } } return NO; }

Leave a comment

SpatialDBKit 介绍

SpatialDBKit 是一款iOS平台上开源得Spatial DB 工具,主要使用FMDB封装了spatialite,使用OC的方法访问sqlite,避免使用C的方式调用。 SpatialDBKit 项目地址:https://github.com/andreacremaschi/SpatialDBKit SpatialDBKit 的安装需要 automake autoconf libtool 的支持,可以使用homebrew安装 brew install automake autoconf libtool 在Pod中使用 platform :ios, ‘5.0’ pod ‘SpatialDBKit’ 如果和ArcGIS iOS SDK一起使用的话,请再编译的时候设置使用libc++,而不是libstdc++ 使用SpatialDBKit 非常简单,和FMDB类似,demo如下: SpatialDatabase *db = [SpatialDatabase databaseWithPath: [[NSBundle mainBundle] pathForResource:@”test” ofType:@”sqlite”]]; [db open]; FMResultSet *rs = [db executeQuery:@”select Name, geometry FROM Regions”]; while ([rs next]) { NSLog(@”%@”, [resultSet resultDictionary]); }

Leave a comment

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