0

iPhoneアプリでローカル通知を作成しようとしています。1日1回午前9時に発売したいです。

しかし、シミュレーターでもiPodでも何も起きていません。

これが私のappdelegate.mファイルのxcodeからの完全なコードです。
このアプリはphonegapを使用してdreamweaverで作成されました...それは問題ですか?コードを適切な場所に配置することもできますか?

    //
//  assignmentAppDelegate.m
//  assignment
//
//  Created by Noel Chenier on 23 December, 2011.
//  Copyright  2011. All rights reserved.
//

#import "assignmentAppDelegate.h"
#import "PhoneGapViewController.h"

@implementation assignmentAppDelegate


- (id) init
{   
    /** If you need to do any extra app-specific initialization, you can do it here
     *  -jm
     **/
    return [super init];
}

/**
 * This is main kick off after the app inits, the views and Settings are setup here.
 */
- (void)applicationDidFinishLaunching:(UIApplication *)application
{   
    [ super applicationDidFinishLaunching:application ];
}

-(id) getCommandInstance:(NSString*)className
{
    /** You can catch your own commands here, if you wanted to extend the gap: protocol, or add your
     *  own app specific protocol to it. -jm
     **/
    return [super getCommandInstance:className];
}

/**
 Called when the webview finishes loading.  This stops the activity view and closes the imageview
 */
- (void)webViewDidFinishLoad:(UIWebView *)theWebView 
{
    return [ super webViewDidFinishLoad:theWebView ];
}

- (void)webViewDidStartLoad:(UIWebView *)theWebView 
{
    return [ super webViewDidStartLoad:theWebView ];
}

/**
 * Fail Loading With Error
 * Error - If the webpage failed to load display an error with the reson.
 */
- (void)webView:(UIWebView *)theWebView didFailLoadWithError:(NSError *)error 
{
    return [ super webView:theWebView didFailLoadWithError:error ];
}

/**
 * Start Loading Request
 * This is where most of the magic happens... We take the request(s) and process the response.
 * From here we can re direct links and other protocalls to different internal methods.
 */
- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    return [ super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType ];
}


- (BOOL) execute:(InvokedUrlCommand*)command
{
    return [ super execute:command];
}


- (void)scheduleNotification{

    NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar];
    NSDate *today = [NSDate date];
    NSDateComponents *dateComponents = [calendar components:(NSYearCalendarUnit |    NSMonthCalendarUnit   |NSMinuteCalendarUnit ) fromDate:today];
    NSDateComponents *dateComps = [[NSDateComponents alloc] init];
    [dateComps setDay:dateComponents.day];
    [dateComps setMonth:dateComponents.month];
    [dateComps setYear:dateComponents.year];
    [dateComps setHour:9];
    [dateComps setMinute:00];
    NSDate *fireDate = [calendar dateFromComponents:dateComps];

    UILocalNotification *localNotif = [[UILocalNotification alloc] init];
    if (localNotif == nil)
        return;
    localNotif.fireDate = fireDate;
    localNotif.timeZone = [NSTimeZone defaultTimeZone];
    localNotif.repeatInterval = NSMinuteCalendarUnit;

    localNotif.alertBody = @"Don't forget your 365 Day Photo Challenge Assignment";
    localNotif.alertAction = @"LAUNCH";



    localNotif.soundName = UILocalNotificationDefaultSoundName;
    localNotif.applicationIconBadgeNumber = 1;

    [[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
    [localNotif release];
}


- (void)dealloc
{
    [ super dealloc ];
}

@end
4

1 に答える 1

0

私はそれを解決しました。私は後にコードを配置しました:

/**
 * This is main kick off after the app inits, the views and Settings are setup here.
 */
- (void)applicationDidFinishLaunching:(UIApplication *)application
{   
于 2012-08-23T19:40:41.043 に答える