PushMeBaby does not work !

2019-04-14 06:59发布

问题:

I am trying to send push notification via PushMeBaby app according to [this tutorial ,][1] but I don't know why it does not work ! I install iPusher App from itunes and worked fine ! here is my code :

- (id)init {
    self = [super init];

    if(self != nil) {
        self.deviceToken = @"5ce090e5 78d38a8a 149dbe46 cbe87e2e dc6c6d2a 4b97e3b7 a5d3f4c2 b09faad2";

        self.payload = @"{\"aps\":{\"alert\":\"You got a new message!\",\"badge\":5,\"sound\":\"beep.wav\"},\"acme1\":\"bar\",\"acme2\":42}";

        self.certificate = [[NSBundle mainBundle] 
                            pathForResource:@"aps_developer_identity" ofType:@"cer"];
    }
    return self;

}

URBan AirShip code :

 (void)application:(UIApplication*)application  
didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken  
{  
    // TODO: Pass the token to our server  
    // Convert the token to a hex string and make sure it's all caps  
    NSMutableString *tokenString = [NSMutableString stringWithString:[[deviceToken description] uppercaseString]];  
    [tokenString replaceOccurrencesOfString:@"<" withString:@"" options:0 range:NSMakeRange(0, tokenString.length)];  
    [tokenString replaceOccurrencesOfString:@">" withString:@"" options:0 range:NSMakeRange(0, tokenString.length)];  
    [tokenString replaceOccurrencesOfString:@" " withString:@"" options:0 range:NSMakeRange(0, tokenString.length)];  

    // Create the NSURL for the request  
    NSString *urlFormat = @"https://go.urbanairship.com/api/device_tokens/%@";  
    NSURL *registrationURL = [NSURL URLWithString:[NSString stringWithFormat:  
                                                   urlFormat, tokenString]];  
    // Create the registration request  
    NSMutableURLRequest *registrationRequest = [[NSMutableURLRequest alloc]  
                                                initWithURL:registrationURL];  
    [registrationRequest setHTTPMethod:@"PUT"];  

    // And fire it off  
    NSURLConnection *connection = [NSURLConnection connectionWithRequest:registrationRequest  
                                                                delegate:self];  
    [connection start];  




    NSLog(@"We successfully registered for push notifications");  
}  

- (void)application:(UIApplication*)application  didFailToRegisterForRemoteNotificationsWithError:(NSError*)error  
{  
    // Inform the user that registration failed  
    NSString* failureMessage = @"There was an error while trying to / register for push notifications.";  
    UIAlertView* failureAlert = [[UIAlertView alloc] initWithTitle:@"Error"  
                                                           message:failureMessage  
                                                          delegate:nil  
                                                 cancelButtonTitle:@"OK"  
                                                 otherButtonTitles:nil];  
    [failureAlert show];  
    [failureAlert release];  
}  






- (void)connection:(NSURLConnection *)connection  
didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge  
{  
    // Check for previous failures  
    if ([challenge previousFailureCount] > 0)  
    {  
        // We've already tried - something is wrong with our credentials  
        NSLog(@"Urban Airship credentials invalid");  
        return;  
    }  

    // Send our Urban Airship credentials  
    NSURLCredential *airshipCredentials = [NSURLCredential credentialWithUser:@"<GY__T8X4Rg6onkJSO8o0Bg>"  
                                                                     password:@"<Z_fhEasrQ6emwFcWMyiKrA>"  
                                                                  persistence:NSURLCredentialPersistenceNone];  
    [[challenge sender] useCredential:airshipCredentials  
           forAuthenticationChallenge:challenge];  
} 

回答1:

I have read through the tutorial you've followed on mobiforge and it is wrong on so many levels!

If you want to use Push Notifications, then there really is no better way than to use Urban Airship

Here are a pair of tutorials which will get you up and running using Urban Airship: Part 1 & Part 2 (I can also verify these work properly as I have followed them many times)

If you would like avoid using a third party and instead have access to your own PHP capable server then here is another pair of tutorials which will help you get setup: Part 1 & Part 2