アプリケーションのNSTimerがバックグラウンドで起動している間にローカル通知を取得する方法を知りたいと思います。私のNSTimerは、バックグラウンドで毎秒1秒間ファイルの特定のフォルダをチェックします。ファイルが見つかった場合、どのようにローカル通知を受け取るのですか?フォルダが空ではないと判断されたらローカル通知を受け取るにはどうすればよいですか?
EDIT:コード:
- (void) createTimeThread: (float) pIntervalTime
{
[NSThread detachNewThreadSelector:@selector(startTimerThread)
toTarget:self withObject:nil];
}
- (void) startTimerThread
{
UIBackgroundTaskIdentifier bgTask = [[UIApplication sharedApplication]
beginBackgroundTaskWithExpirationHandler:^{}];
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSRunLoop* runLoop = [NSRunLoop currentRunLoop];
myTimer = [NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(conditionChecking:)
userInfo:nil
repeats:YES];
[runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
[pool release];
[[UIApplication sharedApplication] endBackgroundTask:bgTask];
}
- (void)conditionChecking:(NSIndexPath *)indexPath
{
NSString *pathForFile = @"/User/Library/Logs/CrashReporter";
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:pathForFile]) { // Directory exists
NSArray *listOfFiles = [fileManager contentsOfDirectoryAtPath:pathForFile error:nil];
if (!listOfFiles || !listOfFiles.count)
{
NSLog(@"No Core Dumps found.....");
}
else
{
NSLog(@"Core Dump(s) found! :%@", listOfFiles);
}
}
}
あなたのタグが質問と矛盾しています - プッシュ通知またはローカル通知を要求していますか? – BoltClock
あなたの質問が何であるか分かりません。あなたは 'NSTimer'への代替手段を探していますか、単にファイルが見つかったかどうかを通知する方法を知りたいですか? – Saphrosit
私はバックグラウンドで通知を受け取る方法を知りたいだけです。 –