1

PHP と MySQL を使用して APNS サーバーを実装するためのビデオ チュートリアルのすべての手順に従いました。最後の手順で、DB の「apns-message」テーブルに「失敗」ステータスが表示されます。

pd。apns.php からフェッチ タスクを実行するたびに、ステータスがキューから失敗に変わります。

私は何を間違っていますか?

更新しました

    UIDevice *dev = [UIDevice currentDevice];
    NSString *deviceUuid;
    if ([dev respondsToSelector:@selector(uniqueIdentifier)])
        deviceUuid = dev.uniqueIdentifier;
    else {
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        id uuid = [defaults objectForKey:@"deviceUuid"];
        if (uuid)
            deviceUuid = (NSString *)uuid;
        else {
            CFStringRef cfUuid = CFUUIDCreateString(NULL, CFUUIDCreate(NULL));
            deviceUuid = (__bridge_transfer NSString *)cfUuid;
            CFRelease(cfUuid);
            [defaults setObject:deviceUuid forKey:@"deviceUuid"];
        }
    }
    NSString *deviceName = dev.name;
    NSString *deviceModel = dev.model;
    NSString *deviceSystemVersion = dev.systemVersion;

    // Prepare the Device Token for Registration (remove spaces and < >)
    NSString *deviceToken = [[[[devToken description]
                               stringByReplacingOccurrencesOfString:@"<"withString:@""]
                              stringByReplacingOccurrencesOfString:@">" withString:@""]
                             stringByReplacingOccurrencesOfString: @" " withString: @""];

    NSString *host = @"www.mywebsite.com/apns";

    NSString *urlString = [NSString stringWithFormat:@"/apns.php?task=%@&appname=%@&appversion=%@&deviceuid=%@&devicetoken=%@&devicename=%@&devicemodel=%@&deviceversion=%@&pushbadge=%@&pushalert=%@&pushsound=%@", @"register", appName,appVersion, deviceUuid, deviceToken, deviceName, deviceModel, deviceSystemVersion, pushBadge, pushAlert, pushSound];

    NSURL *url = [[NSURL alloc] initWithScheme:@"http" host:host path:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSLog(@"Register URL: %@", url);
    NSLog(@"Return Data: %@", returnData);

唯一の奇妙なステップは、Apple サーバー (サンドボックスおよび実稼働サーバー) に接続しようとするときです...次のフィードバックが得られます

Start Time: 1353239556
Timeout   : 300 (sec)
Verify return code: 20 (unable to get local issuer certificate)

あなたが私を助けてくれることを願っています!

4

0 に答える 0