`

Creating an iPhone Daemon – Part 2

    博客分类:
  • ios
 
阅读更多

Here is part two of the blog series “Creating an iPhone Daemon”, for part one please click this link

As I said in part 1, we will be creating the DLocationDelegate class.
With most daemons, you do a task like read a file, do something with that file, sleep for a certain amount of time, then check for file changes, and repeat the steps over again. Unfortunately, with GPS coordinates, we have to wait for the CoreLocation delegate to give us the coordinates. The thing about Objective-C and Apple’s Cocoa framework is that most of the classes depend heavily on delegates. This is also true when dealing with the CoreLocation APIs. So lets get coding.

So lets write the DLocationDelegate header file first, this will give us a good look at what is ahead

#import <CoreLocation/CoreLocation.h>
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
 
@interface DLocationDelegate : NSObject <CLLocationManagerDelegate>
{
	BOOL trackingGPS;
	CLLocationManager *locationManager;
}
 
@property (nonatomic, retain) CLLocationManager *locationManager;
 
- (void)locationManager:(CLLocationManager *)manager
	didUpdateToLocation:(CLLocation *)newLocation
		   fromLocation:(CLLocation *)oldLocation;
 
- (void)locationManager:(CLLocationManager *)manager
	   didFailWithError:(NSError *)error;
 
-(void) startIt:(NSTimer *) timer;
-(void) startItAgain:(NSTimer *)timer;
 
- (void)connectionDidFinishLoading:(NSURLConnection *)connection;
 
@end

So lets go through this line by line starting with our imports

#import <CoreLocation/CoreLocation.h>
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

The most important import we have here is the CoreLocation framework, this will let us use the CLLocationManager class.

@interface DLocationDelegate : NSObject <CLLocationManagerDelegate>

When you have a class name in <> symbols, Objective-C now knows that you are implementing methods from this class. In this case to receive the GPS coordinates we use the CLLocationManagerDelegate protocol

	BOOL trackingGPS;
	CLLocationManager *locationManager;

The Boolean trackingGPS will tell us if we are currently tracking the GPS, this will be used to tell if the CLLocationManager is currently looking for coordinates. The locationManager is the actual class that will get the GPS coordinates from either the GPS (iPhone 3G) or the cell towers (iPhone 2G).

- (void)locationManager:(CLLocationManager *)manager
	didUpdateToLocation:(CLLocation *)newLocation
		   fromLocation:(CLLocation *)oldLocation;
 
- (void)locationManager:(CLLocationManager *)manager
	   didFailWithError:(NSError *)error;

These are the delegate methods for the CLLocationManagerDelegate. The first one “didUpdateToLocation” will give us the coordinates using a CLLocation class which contains a longitude, latitude, and sometimes even a altitude. The second function will notify our DLocationDelegate of any errors with the GPS, maybe if your iPhone is inside a lead case :) .

-(void) startIt:(NSTimer *) timer;
-(void) startItAgain:(NSTimer *)timer;

We will use these functions to start the GPS after a certain amount of time.

- (void)connectionDidFinishLoading:(NSURLConnection *)connection;

This is for the NSURLConnection object that will send the GPS coordinates to our server.

In part three of this tutorial we will create the DLocationDelegate.m file (the implementation file)

-Chris

转自 :http://chrisalvares.com/blog/30/creating-an-iphone-daemon-part-2/

分享到:
评论

相关推荐

    Daemon_Tools Daemon_Tools

    Daemon Tools是一款著名的虚拟光驱软件,它在IT行业中被广泛使用,特别是在安装大型游戏或软件时,无需物理光驱即可运行CD/DVD镜像文件。该软件的主要功能是模拟光驱设备,允许用户加载ISO、BIN等镜像文件,极大地...

    daemon.rar daemon.rar

    2. 运行"daemon.exe",按照安装向导的提示进行操作。 3. 接受许可协议,选择安装路径,以及是否创建桌面快捷方式等选项。 4. 完成安装后,启动Daemon Tools软件。 5. 在软件界面中,添加需要的ISO文件,软件会自动...

    虚拟光驱 daemon_tools_347cn_eric

    虚拟光驱 daemon_tools_347cn_eric虚拟光驱 daemon_tools_347cn_eric虚拟光驱 daemon_tools_347cn_eric虚拟光驱 daemon_tools_347cn_eric虚拟光驱 daemon_tools_347cn_eric虚拟光驱 daemon_tools_347cn_eric虚拟光驱...

    daemontools 3.4.7简体中文

    2. **兼容性检查**: 确认你的操作系统版本与Daemon Tools 3.4.7相兼容,以保证正常运行。 3. **安装设置**: 在安装过程中,注意阅读每一项设置,避免不必要的第三方软件捆绑安装。 4. **许可证协议**: 阅读并接受...

    Daemon Tools 3.47 英文版

    Daemon Tools是一款广受欢迎的虚拟光驱软件,尤其在游戏爱好者和系统管理员中有着广泛的使用。它的3.47版本是一个经典的老版本,以其小巧的体积(不到500KB)和出色的性能赢得了用户的好评。这个版本可能在很多地方...

    Daemon Tools v4.0.9

    2. **光盘镜像管理**:用户可以通过 Daemon Tools 轻松创建、编辑、刻录和管理光盘镜像文件,提高工作效率。 3. **设备模拟**:它可以模拟多种光驱设备,包括CD-ROM、DVD-ROM、Blu-ray等,满足不同格式的光盘需求。...

    Daemon 虚拟光驱清除工具

    2. 通过资源管理器导航到Daemon Tools的安装目录(通常在C:\Program Files或C:\Program Files (x86)),然后手动删除整个Daemon Tools文件夹。 3. 检查“启动”文件夹(C:\Users\用户名\AppData\Roaming\Microsoft\...

    Daemon Tools 3.46 简体中文版.rar

    Daemon Tools是一款广受欢迎的虚拟光驱软件,尤其在3.46版本时,它已经拥有相当成熟的稳定性和功能。这个版本特别为中国用户提供了简体中文界面,使得国内用户能够更加方便地操作和理解软件的各项功能。 Daemon ...

    虚拟光驱-DAEMON Tools V3.46 简体中文版

    《虚拟光驱技术详解与DAEMON Tools V3.46简体中文版介绍》 在数字化时代,虚拟光驱作为一种高效、便捷的工具,已经逐渐成为计算机用户的重要辅助软件。虚拟光驱允许用户在没有物理光驱的情况下,通过创建虚拟光盘...

    DaemonTools4.09 虚拟光驱

    DaemonTools4.09是一款经典的虚拟光驱软件,它允许用户在计算机上模拟CD/DVD驱动器,无需物理光盘即可运行光盘映像文件。这个版本被特别提及为适用于Windows Server 2008操作系统,表明它兼容该服务器平台,但可能不...

    虚拟光驱daemon3.47版

    标题中的"daemon3.47版"指的是Daemon Tools这一知名虚拟光驱软件的特定版本,即3.47版。Daemon Tools是历史悠久且广受好评的虚拟光驱软件之一,它提供多种操作系统平台的支持,包括Windows系统。 Daemon Tools的...

    DAEMON5.2.0.0

    DAEMON Tools是一款知名的虚拟光驱软件,其最新版本为5.2.0.0。这款工具在IT领域中被广泛使用,特别是在游戏爱好者和系统管理员群体中,因其强大的功能和易用性而备受推崇。DAEMON Tools的主要作用是模拟硬盘驱动器...

    daemontool4.11中文完美版daemontool4.11中文完美版

    Daemontools是一款功能强大的系统工具,主要用于管理和监控持续运行的服务。版本4.11是其一个重要的更新,特别地,这里的"中文完美版"意味着它已经进行了汉化处理,适合中国用户使用,无需担心语言障碍。这个版本的...

    DAEMON Tools V4.08简繁体双语中文版

    DAEMON Tools是一款经典的虚拟光驱软件,其V4.08版本特别推出了简繁体双语中文版,方便中国用户使用。这款软件在全球范围内享有很高的知名度,尤其在IT专业人士和游戏玩家中间,因其强大的功能和易用性而备受青睐。 ...

    Daemon317 344 346 347

    Daemon Tools是一款著名的虚拟光驱软件,它在个人电脑系统中广泛使用,特别是在Windows操作系统环境下。这个压缩包包含的是Daemon Tools的四个旧版本:317、344、346和347,适用于Win9x/Me操作系统,这意味着它们...

    daemon-0.8.tar.gz

    "daemon-0.8.tar.gz" 是一个在IT领域常见的压缩文件格式,它包含了名为 "daemon-0.8" 的项目或软件的源代码或资源。这个文件的命名方式表明它是一个版本号为0.8的守护进程(daemon)相关的程序。在Linux和Unix系统中...

    DAEMON Tools 3.47 中文版

    DAEMON Tools Lite 可以制作简单光盘映像文件和模拟 CD/DVD 光驱的最流行软件产品 功能 加载 *.mdx, *.mds/*.mdf, *.iso, *.b5t, *.b6t, *.bwt, *.ccd, *.cdi, *.bin/*.cue, *.ape/*.cue, *.flac/*.cue, *.nrg, ...

    Daemon Tools v4.03 V4.03HE 汉化版

    Daemon Tools v4.03 V4.03HE 汉化版,相信经常使用虚拟光驱的人都应该记得,这是当年极其经典的一个版本。 现在的虚拟光驱越做越大,功能也越来越多,最新的版本Daemon Tools 安装后要占用硬盘50多M,然尔对一般的...

    start-stop-daemon

    linux系统命令start-stop-daemon的源码及二进制,其中也提供了一个服务启动脚本模板。 此程序能帮助你实现将命令行程序变成服务运行,比如将"java -jar xxx.jar" 放在后台执行。 ./start-stop-daemon --help start-...

    精灵虚拟光驱(Daemon Tools Lite) v4.47.1 官方中文版最详细的安装图解

    2. 多种虚拟磁盘格式支持:Daemon Tools Lite 支持多种虚拟磁盘格式,包括 ISO、BIN、CUE、MDF、MDX、Nero BurningROM(NRG)等。 3. 轻松安装:Daemon Tools Lite 的安装过程非常简单,用户只需按照安装向导的提示...

Global site tag (gtag.js) - Google Analytics