
рд╢реБрдн рджреЛрдкрд╣рд░, рд╣рдмреНрдмрд░ рдХреЗ рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ!
рдЖрдЬ рдореИрдВ рдЖрдкрдХреЛ рдкреНрд░рд╕рд┐рджреНрдз рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЗ рдЪреИрдЯ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЛ рдЕрдкрдиреЗ iOS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╣рдореЗрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдУрдкрди
рд╕реЙрдХреЗрдЯрд░рдХреЗрдЯ рд╕рдорд╛рдзрд╛рди рдХреА рдорджрдж рд╕реЗ рдЗрд╕рдХрд╛ рдПрд╣рд╕рд╛рд╕
рд╣реЛрддрд╛ рд╣реИред
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
- IOS рдХреЗ рд▓рд┐рдП рдореЛрдмрд╛рдЗрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдЪреИрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
- рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреИрдЯ рд╕реВрдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЗрдЪреНрдЫреБрдХ рдХреГрдкрдпрд╛ рдПрдХ рдХрдЯ рдХреЗ рд▓рд┐рдП рдкреВрдЫреЗрдВ!
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реЙрдХреЗрдЯрд░рдХреЗрдЯ рдЬреЛрдбрд╝реЗрдВ
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рдЧрд┐рдердм рдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ; рдореИрдВ рдЦреБрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
- рд╕реЙрдХреЗрдЯрд░реЙрдХреЗрдЯ рд╕рдореВрд╣ рд╕реЗ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
- рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдкрд░реЗрдЦрд╛рдПрдБ рдЬреЛрдбрд╝реЗрдВ:
- libicucore.dylib
- CFNetwork.framework
- Security.framework
- Foundation.framework
- Google рд╕реЗ HTML рдХреИрд░реЗрдХреНрдЯрд░ рдбрд┐рдХреЛрдбрд░ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ (рдмрд╛рдж рдореЗрдВ рдЖрдк рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рдХреНрдпреЛрдВ)
рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ! рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреА рдкреВрд░реА рд╢рдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реЙрдХреЗрдЯ
рд╕реВрдЪрдирд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ , рдХрдЯреМрддреА, рдФрд░ рдЙрддреНрддрд░рджрд╛рдпреА рд╡рд┐рдирд┐рдордп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдПрдХ рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдореЗрдВ рдЖрдпрд╛, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдореИрдВрдиреЗ рдЪреИрдЯ рд╕реЙрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рд╣реА URL рдирд┐рдХрд╛рд▓рд╛:
NSURL *url = [NSURL URLWithString:@"wss://ws.pusherapp.com/app/4e0ebd7a8b66fa3554a4?protocol=6&client=js&version=2.0.0&flash=false"];
рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рд╕реЙрдХреЗрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдЦреЛрд▓реЗрдВ рдФрд░ рдЦреБрдж рдХреЛ рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдмрдирд╛рдПрдВ:
NSURLRequest *request = [NSURLRequest requestWithURL:url]; SRWebSocket *rusSocket = [[SRWebSocket alloc] initWithURLRequest:request]; rusSocket.delegate = self; [rusSocket open];
рдкреВрд░рд╛ setupSockets рд╡рд┐рдзрд┐ рдХреЛрдб - (void)setupSockets { NSURL *url = [NSURL URLWithString:@"wss://ws.pusherapp.com/app/4e0ebd7a8b66fa3554a4?protocol=6&client=js&version=2.0.0&flash=false"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; SRWebSocket *rusSocket = [[SRWebSocket alloc] initWithURLRequest:request]; rusSocket.delegate = self; [rusSocket open]; }
SRWebSocketDelegate рддрд░реАрдХреЗ
рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдХреЗ рддрд╣рдд рд╣рд░ рд╕реНрд╡рд╛рднрд┐рдорд╛рдиреА рдврд╛рдВрдЪреЗ рдореЗрдВ, рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдореЗрдВ рднреАред рд╣рдо рджреЛ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ - рдкрд╣рд▓рд╛ рдЬреЛ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реЙрдХреЗрдЯ рдЦреЛрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдЬрд┐рд╕реЗ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
- (void)webSocketDidOpen:(SRWebSocket *)webSocket { NSString *helloMsg = @"{\"event\":\"pusher:subscribe\",\"data\":{\"channel\":\"chat_ru\"}}"; [webSocket send:helloMsg]; }
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдмреЗрд╣рдж рд╕рд░рд▓ рд╣реИ: рдЬреИрд╕реЗ рд╣реА рдХреБрд░реНрд╕рд┐рдпрд╛рдВ тАЛтАЛрдЦреБрд▓рддреА рд╣реИрдВ, рд╣рдо рд░реВрд╕реА рдЪреИрдЯ рд╕реЗ рд╕реВрдЪрдирд╛рдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╣реИрдВред рд╕рд╛рджреГрд╢реНрдп рд╕реЗ, рдЖрдк "chat_en" рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рд╣рдо рд╡реЗрдм рд╕реЙрдХреЗрдЯ рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ:
- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(id)message { message = [[message stringByReplacingOccurrencesOfString:@"///" withString:@""] stringByReplacingOccurrencesOfString:@"\\\\\\" withString:@""]; message = [message gtm_stringByUnescapingFromHTML]; }
рдлрд┐рд░, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рд╡рд┐рдзрд┐ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ, рд╣рдореЗрдВ рдХрдЪрд░реЗ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рдореЗрдВ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп HTML рд╡рд░реНрдгреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Google рд╕реЗ рд╢реНрд░реЗрдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╕рдВрджреЗрд╢ рд╣рдорд╛рд░рд╛ рд╕рдВрджреЗрд╢ рд╣реИ - рдЖрдЧреЗ рдпрд╣ рдЖрдкрдХреЗ рджрд┐рд▓ рдХреА рдЗрдЪреНрдЫрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдВрджреЗрд╢ рдЙрджрд╛рд╣рд░рдг{"рдШрдЯрдирд╛": "рд╕рдВрджреЗрд╢", "рдбреЗрдЯрд╛": "\" {"uid": "467754", "рд▓реЙрдЧрд┐рди": "BTCalexxx", "рд╕рдВрджреЗрд╢": "рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ ltc рдкрдВрдк 15 рдХреЗ рд▓рд┐рдП?"? "Msg_id": 12268748, "рджрд┐рдирд╛рдВрдХ": "03/04/14 07:37:50", "usr_clr": "# 8da0b9"} \ "", "рдЪреИрдирд▓": "chat_en"}
рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рдХрд░реЗрдВ
рд╣рдореЗрд╢рд╛ рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рдХрд░реЗрдВ рдЬрдм рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ! рдЖрдк рдирд┐рдореНрди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
[rusSocket close];
рдирд┐рд╖реНрдХрд░реНрд╖
рдЕрдВрдд рддрдХ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рд╕рд░рд▓ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде, рд╣рдорд╛рд░реА рд╣рдереЗрд▓реА рдореЗрдВ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рдПрдХреНрд╕рдЪреЗрдВрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗ рдЪреИрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдк-рдЯреВ-рдбреЗрдЯ рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред
рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ 4-5 рдШрдВрдЯреЗ рдХреЗ рдХрд╛рдо рдореЗрдВ рдЦреБрд▓реЗ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдирд╛ рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдмреЗрд╢рдХ, рдЕрдЧрд░ рдЖрдк, рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ, рд░реБрдЪрд┐ рд╣реЛрдЧреАред