iOS后台获取地理位置并且上传到服务器

0

有时候需要获取手机的地理位置,当程序关闭的时候,也可以获取地理位置并且上传到服务器端。苹果在后台可以运行的程序,只有三种,一个是声音,一个是获取地理位置。下面主要说一下在后台获取地理位置,并且定时发送到服务器端。

实现非常简单,首先在info.plist中添加属性:

通过下面的代码获取地理位置:

(更多…)

iOS App通过iTunes进行文件交换

0

最近一个项目要通过itunes同步数据,要让iOS程序支持iTunes文件交换其实很简单,只需要在程序的Info.plist里增加一个键:UIFileSharingEnabledApplication supports iTunes file sharing),赋值YES

程序运行,完了就可以通过itunes上传文件了。

上传完了,就可以通过下面代码获取文件了:

 NSFileManager *manager = [NSFileManager defaultManager];

NSString *dbPath = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@”download.db”];

NSLog(@”file=%@”,dbPath);

if ([manager fileExistsAtPath:dbPath]) {

NSLog(@”file is exists”);

}

 

源代码:http://easymorse-iphone.googlecode.com/svn/trunk/ShareApp/

判断ios中是否安装了某些软件

0

有时候我们想要获取到iphoen手机中安装了那些应用软件,苹果没有提供这方面的api,似乎也是不允许的。如果想要准确的通过程序控制和发现本地安装的应用,目前只能在破解版的ios上开始显示,但是我们可以通过一些其他的途径获取到手机是否安装过某些应用。

 

下面介绍根据应用的app的唯一number,通过

[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"321BoomHDFree://"]]这个方法判断手机中是否存在这个应用。

同时还要在info.plist中添加相应的配置:

如果返回YES则表示此应用在手机中安装过,反之则没有安装过.

 

还有一种,就是判断手机中有那些软件处于运行等待状态:

NSArray * processes = [[UIDevice currentDevice] runningProcesses];

for (NSDictionary * dict in processes){

NSLog(@”%@ – %@”, [dict objectForKey:@"ProcessID"], [dict objectForKey:@"ProcessName"]);

}

源代码:http://easymorse-iphone.googlecode.com/svn/trunk/locationTest/

旧项目在Xcode 4.1下不能正常编译

0

 自从系统换上了Lion下的xcode 4.1版本,有时候旧项目不能正常编译,一直报LLVM GCC sqlite数据库错误,错误信息如下:

/usr/include/sqlite3.h:4532: error: storage class specified for parameter ‘sqlite3_vtab’

/usr/include/sqlite3.h:4532: error: storage class specified for parameter ‘sqlite3_vtab’

 

in “sqlite.h” file, SQLITE_API int sqlite3_enable_shared_cache(int) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_7, __IPHONE_2_0, __IPHONE_5_0);

the error is;

   

做如下修改即可:用#import <sqlite3.h>替代#import "/usr/include/sqlite3.h"

ios5 JSON数据分析

0

Iphone利用JSON传递数据,展示在Table界面中,介绍过利用第三方库,实现JSON数据的解析,在ios5 新特性中,添加了JSON数据解析。下面详细介绍一下ios5中JSON数据怎么解析。

首先是获取数据:

    dispatch_async(kBgQueue, ^{
        NSData *data=[NSData dataWithContentsOfURL:kLatestKivaLoansURL];
        [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES];
    });

其中几个参数设置:

#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)

#define kLatestKivaLoansURL [NSURL URLWithString:@"http://api.kivaws.org/v1/loans/search.json?status=fundraising"]

最后数据分析:

-(void)fetchedData:(NSData *)responseData
{
   
    NSError *error;
    NSDictionary *json=[NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
    NSLog(@”==%@”,json);
}

(更多…)

Go to Top