рд╢реБрдн рджреЛрдкрд╣рд░, рдЕрднрд┐рднрд╛рд╡рдХред
рд╣рд░ рдХреЛрдИ рд╢рд╛рдпрдж рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЖрдИрдУрдПрд╕ рдореЗрдВ рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдЬреИрд╕реА рдЙрдкрдпреЛрдЧреА рд╕реЗрд╡рд╛ рд╣реИред рдореБрдЭреЗ рднреА рдкрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдореИрдВ рдЗрд╕рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛, рддрдм рддрдХ рдореБрдЭреЗ рдпрд╣ рднреА рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реА рдмрд╛рд░реАрдХрд┐рдпрд╛рдБ рдереАрдВред рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ, рдЖрдк рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЛ рдкрд╣рд▓реБрдУрдВ рдХреЛ рдЬрд╛рдиреЗрдВрдЧреЗ: рдЖрдкрдХреЛ xCode рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ php рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреБрдж рдХреЛ рдкреБрд╢ рд╕рдВрджреЗрд╢ рдХреИрд╕реЗ рднреЗрдЬреЗрдВред
рдХрдЯ рдХреЗ рддрд╣рдд рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкреБрд╢ рдореЗрдВ рдЖрдпрд╛ рдерд╛ рдЬрдм рдореИрдВ рдЕрдкрдирд╛ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛ -
рдкрд╛рд░рд┐рд╡рд╛рд░рд┐рдХ рд╡реНрдпрдп ред рд╡рд╣рд╛рдБ рдореИрдВ рдПрдХ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдЕрдиреБрд░реЛрдз рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛ред
рдкреБрд╢ рд╕реВрдЪрдирд╛рдПрдВ рджреЛ рд░реВрдкреЛрдВ рдореЗрдВ рдЖрддреА рд╣реИрдВ: рд╕реНрдерд╛рдиреАрдп рдФрд░ рджреВрд░рд╕реНрдеред рд╣рдо рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд▓реЛрдЧреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдЙрдирдХреЗ рдкрд╛рд╕ рдХрд╛рдлреА рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддрдВрддреНрд░ рд╣реИ рдФрд░ рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИред
рд░рд┐рдореЛрдЯ рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдореИрдХреЗрдирд┐рдЬреНрдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИред
- рдЬрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, didRegisterForRemoteNotificationsWithDeviceToken рд╡рд┐рдзрд┐ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдХреЛрдИ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рд╣реИ, рддреЛ 64 рд╡рд░реНрдг рдЯреЛрдХрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рдПрдХ рдЕрддрд┐ рд╕реВрдХреНрд╖реНрдо рдЕрдВрддрд░ рд╣реИ: рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдпрд╣ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ рдФрд░ рдмреАрдЪ рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди "<" рдФрд░ ">" рдЕрдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрди рдкрд╛рддреНрд░реЛрдВ рд╕реЗ рд▓рд╛рдЗрди рдХреА рд╕рдлрд╛рдИ рдХрд░рдирд╛ рд▓рд╛рдпрдХ рд╣реИред
- рдЯреЛрдХрди рдХреЛ рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдЗрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЕрджреНрд╡рд┐рддреАрдп рдкрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдлрд┐рд░ рдкреБрд╢ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдкреИрд░рд╛рдЧреНрд░рд╛рдл 1 рдФрд░ 2 рдореЗрдВ рд╡рд░реНрдгрд┐рдд рддрдВрддреНрд░ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken { 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)]; NSLog(@"Token: %@", tokenString); if (tokenString) { [[NSUserDefaults standardUserDefaults] setObject:tokenString forKey:@"token"]; } NSString *urlFormat = @"http://your.domain.com/regDevice.php?deviceToken=%@"; NSURL *registrationURL = [NSURL URLWithString:[NSString stringWithFormat: urlFormat, tokenString]; NSMutableURLRequest *registrationRequest = [[NSMutableURLRequest alloc] initWithURL:registrationURL]; [registrationRequest setHTTPMethod:@"PUT"]; NSURLConnection *connection = [NSURLConnection connectionWithRequest:registrationRequest delegate:self]; [connection start]; [registrationRequest release]; }
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдУрд░, рдпрд╣ рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рд╣реИ, рдПрдХ рдЗрдирдХрдорд┐рдВрдЧ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛ред - рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░, рд╣рдорд╛рд░рд╛ рд╕рд░реНрд╡рд░ рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рднреЗрдЬрдиреЗ рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХрд╛ рдкрддрд╛ рдЬрд┐рд╕рдореЗрдВ рдЯреЛрдХрди рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рдХреЗ рдкрд╛рд╕ рдПрдХ рдкреБрд╢ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд┐ рдкреНрд░реЛрд╡рд┐рдЬрдирд┐рдВрдЧ рдкреЛрд░реНрдЯрд▓ рдореЗрдВ developer.apple.com рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ -> рдРрдк рдЖрдИрдбреА -> рдЕрдкрдиреА рдРрдк рдЖрдИрдбреА рдХреЗ рд╡рд┐рдкрд░реАрдд рдЕрдиреБрднрд╛рдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдореИрдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢ рд╣реИред
рд▓реЗрдХрд┐рди рд╡рд╣ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рднреА рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЖрдкрдХреЗ рдбреЗрд╡рд▓рдкрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡рд┐рд╕реНрддреГрдд рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ ред
рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ PHP рдХреЗ рд╕рд╛рде рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ, рдЖрдкрдХреЛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдореЗрдВ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред
рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░, рдореИрдВрдиреЗ Apple рдкреБрд╢ рд╕реВрдЪрдирд╛ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдХреНрд▓рд╛рд╕ ApnsPHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдпрд╣ рдПрдХ рдЖрдзрд╛ рдХрд┐рдХ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
code.google.com/p/apns-phpрдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╢ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдХреЗ рд╕рд╛рде xCode рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рднреА рд╣реИред
рдпрджрд┐ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ - рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рднреА рд╣реИред
рдЕрдм рдЬреЛ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛редApple рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╕рд░реНрд╡рд░ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдП рдЧрдП:
ssl://gateway.push.apple.com:2195
ssl://gateway.sandbox.push.apple.com:2195
рдкрд╣рд▓рд╛ рдкреВрд░рд╛ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╕реИрдВрдбрдмреЙрдХреНрд╕ред
рдпрджрд┐ рдЖрдк рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдкреНрд░рд╛рд╡рдзрд╛рди рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЖрд╡реЗрджрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдРрдб рд╣реЙрдХ рд░рд┐рд▓реАрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рд╡рд┐рддрд░рдг рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд╕рд╛рде рдЖрд╡реЗрджрди рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЦреБрдж рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдкрддреЗ рд╕реЗ рдЯреЛрдХрди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдлрд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрдВрддреНрд░ рднреА рд╣реИ рдЬреЛ рдЕрдм рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк ApnsPHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рднреА рд╣реИрдВред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рддрдВрддреНрд░ рдХрд╛ рдХрд╛рдлреА рд╕рд░рд▓рддрд╛ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИред
рдпреБрдкреАрдбреАредрдЕрднреА рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЯреЛрдХрди рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдПред рдХреНрдпреЛрдВрдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрдВрдбрд▓ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдПрдХ рд╣реА рдЯреЛрдХрди рдорд┐рд▓рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрд┐рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рднреЗрдЬрдирд╛ рд╣реИ - рдпрд╣ рд╕рд░реНрд╡рд░ рдкрд░ рдореМрдЬреВрдж рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред