рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ CoreBluaxy

рдкрд░рд┐рдзреАрдп рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ CoreBluaxy


рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдмреНрд▓реВрдЯреВрде рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдпрд╣ рд▓реЗрдЦ рдорд┐рд▓рд╛, рдЬрд┐рд╕рдиреЗ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдмрд╣реБрдд рдорджрдж рдХреА рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдПрдХ "рд╢реБрд░реБрдЖрддреА" рдмрд┐рдВрджреБ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдПред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдореЗрдВ рдЖрддрд╛ рд╣реИред

рд▓реЗрдЦрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдпреЛрд╡ рд╢реНрд╡рд╛рд░реНрдЯреНрдЬ рдбреЛрдирдХреА рд░рд┐рдкрдмреНрд▓рд┐рдХ рдореЗрдВ рдПрдХ рдкреНрд░рдореБрдЦ iOS рдбреЗрд╡рд▓рдкрд░ рд╣реИ, рдЬреЛ рдХреЛрдкреЗрдирд╣реЗрдЧрди рдореЗрдВ рдмрд╛рдЗрдХрд░ рд╢реЗрдпрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИ, рдЬреЛ рд╕рд╛рдЗрдХреНрд▓рд┐рдВрдЧ рдХреЗ рдкреНрд░рддрд┐ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рд▓реЗрдЦрдХ рдХреА рдУрд░ рд╕реЗ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ CoreBluaxy рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рддрдХрдиреАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдмреНрд▓реВрдЯреВрде рдХрдо рдКрд░реНрдЬрд╛ (рдмреАрдПрд▓рдИ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕ рддрдХрдиреАрдХ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рдХреЛрд░рдмреНрд▓реВрдЯреВрде, рдПрдкреНрдкрд▓ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рд╣рдореЗрдВ рдмреАрдПрд▓рдИ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдХреБрдЫ рдРрд╕реЗ рд╡рд┐рдХрд╛рд╕ рд╕рдВрдмрдВрдзреА рддрд░рдХреАрдмреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрддрд╛рдКрдВрдЧрд╛ рдЬреЛ рдореИрдВрдиреЗ рдЦреБрдж рдЕрдкрдиреЗ рд╕рд┐рд░ рд╕реЗ рдмрд╛рд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ, рд░реЛрдиреЗ рдФрд░ рдмрд╛рд▓ рдлрд╛рдбрд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕реАрдЦреА рдереАрдВред

рдмреНрд▓реВрдЯреВрде рдХрдо рдКрд░реНрдЬрд╛


рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, BLE рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рдмреНрд▓реВрдЯреВрде рдХреА рддрд░рд╣ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рд╕рднреА рд╕реНрдкреАрдХрд░, рд╣реЗрдбрд╕реЗрдЯ рдЖрджрд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрдВрддрд░ рд╣реИ - рдпрд╣ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрд╣реБрдд рдХрдо рдмрд┐рдЬрд▓реА рдХреА рдЦрдкрдд рдХрд░рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдмреАрдПрд▓рдИ-рд╕рдХреНрд╖рдо рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рдмреИрдЯрд░реА рдЪрд╛рд░реНрдЬ рдорд╣реАрдиреЛрдВ рдпрд╛ рд╡рд░реНрд╖реЛрдВ рддрдХ (рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░) рддрдХ рд░рд╣ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ "рд╕рд╛рдорд╛рдиреНрдп" рдмреНрд▓реВрдЯреВрде рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрд▓рдмреНрдз рдЪреАрдЬреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдирдХ рдХреЛ рдмреНрд▓реВрдЯреВрде 4.0 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╕рдм рд╕реНрдорд╛рд░реНрдЯ рдмреНрд▓реВрдЯреВрде рдирд╛рдордХ рдПрдХ рддрдХрдиреАрдХ рд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ, рдЬреЛ рдмрд╛рдж рдореЗрдВ рдмреАрдПрд▓рдИ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖред рдПрдХ 200-рдкреЗрдЬ рдореИрдиреБрдЕрд▓ рд╣реИ , рдЖрдк рд╕реЛрддреЗ рд╕рдордп рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд░реЛрдорд╛рдВрдЪрдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдКрд░реНрдЬрд╛ рдХреА рдЦрдкрдд рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ BLE рдмрд╣реБрдд рдХрд┐рдлрд╛рдпрддреА рд╣реИ, рдФрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реА рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рддреЛ рдХреНрдпреЛрдВ рдЙрдбрд╝рд╛? рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдмрд╣реБрдд рдкрд╣рд▓реЗ рдФрд░ рд╕рдмрд╕реЗ рдЖрдо рдЙрджрд╛рд╣рд░рдг рдПрдХ рд╣реГрджрдп рдЧрддрд┐ рд╕рдВрд╡реЗрджрдХ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдЖрдкрдХреЗ рд╣реГрджрдп рдХреА рджрд░ рдХреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рдорд╛рдкрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реЗрдВрд╕рд░ рднреА рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдЖрдк BLE рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬреЛ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕реЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдВрдд рдореЗрдВ, рд╡рд╣рд╛рдБ iBeacons рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рд╕реНрдерд╛рди рдкрд░ "рдирд┐рдХрдЯрддрд╛" рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВред IPhones рдкрд░ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ рдХреНрдпреЛрдВрдХрд┐ Apple рдирд┐рдпрдорд┐рдд рдмреНрд▓реВрдЯреВрде рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ iBeacons рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ CoreLocation рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдЪреАрдЬреЛрдВ рдХрд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рд╣реИ: рдЖрдк рдПрдХ рдЯреАрд╡реА рдпрд╛ рдПрдпрд░ рдХрдВрдбреАрд╢рдирд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкреЗрд░рд┐рдлреЗрд░ рд╣реИ - рдпреЗ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИрдВ рдЬреЛ рдмреНрд▓реВрдЯреВрде рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдзреАрдп рдореЗрдВ рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред рдЖрдк рдПрдХ рд╕рд░реНрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рдЖрдЧрд╛рдореА рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде: рдХрднреА-рдХрднреА рдпрд╣ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдХрднреА-рдХрднреА рдпрд╣ рдбреЗрдЯрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реЗрд╡рд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдПрдХ рдореВрд▓реНрдп, рдкреНрд░рдХрд╛рд░, рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред CoreBluaxy рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдм рдХреБрдЫ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ, рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдореЗрдВ рдЗрд╕ рдбреЗрдЯрд╛ рдФрд░ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ BLE рдХрд╛ рддреНрд╡рд░рд┐рдд рдкрд░рд┐рдЪрдп рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдРрд╕реЗ рд╣рдЬрд╛рд░реЛрдВ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ рдЬреЛ рддрдХрдиреАрдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдореБрдЭрд╕реЗ рдмреЗрд╣рддрд░ рдмрддрд╛рддреЗ рд╣реИрдВред

рдХреЛрд░ рдмреНрд▓реВрдЯреВрде


рдХреЛрд░ рдмреНрд▓реВрдЯреВрде рдХреЛ Apple рджреНрд╡рд╛рд░рд╛ рдХрд╛рдлреА рд╕рдордп рдкрд╣рд▓реЗ iOS 5 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред Apple рдиреЗ рдЕрдкрдиреЗ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ BLE рдХреЛ Android рдФрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреА рдмрдврд╝рддреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╕реЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ, рдмрдбрд╝реЗ рдФрд░ - рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЖрд╡рд░рдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреАрдПрд▓рдИ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрд╡рдпрдВ рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЛ, рдпрд╣ рдРрд╕реА рдЪреАрдЬ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╣рд░ рджрд┐рди рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдХрдИ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреА рддрд░рд╣, рдРрдкреНрдкрд▓ рдиреЗ рдЗрд╕реЗ рдПрдХ рд╕реБрдВрджрд░ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреИрдХреЗрдЬ рдореЗрдВ рд▓рдкреЗрдЯ рджрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдЙрди рд╢рдмреНрджреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рд╕рднреА рдмреЗрд╡рдХреВрдл рдбреЗрд╡рд▓рдкрд░ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдмрд╛рд░реА рд╣реИ рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рдореБрдЦреНрдп рдЕрднрд┐рдиреЗрддрд╛ CBCentralManager рд╣реИ, рдЗрд╕реЗ рдмрдирд╛рдПрдВ:

manager = CBCentralManager(delegate:self, queue:nil, options: nil) 

рдКрдкрд░, рд╣рдордиреЗ рдПрдХ рдирдпрд╛ рдкреНрд░рдмрдВрдзрдХ рдмрдирд╛рдпрд╛, рдЬреЛ рдЙрд╕рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗред рд╣рдо рдХрддрд╛рд░ рдХреЛ рднреА рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕рдВрдЪрд╛рд░ рдореБрдЦреНрдп рдХрддрд╛рд░ рдореЗрдВ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ - рдПрдХ рдЕрд▓рдЧ рдХрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рдЖрдк рд╕рд┐рд░реНрдл рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдореБрдЦреНрдп рдХрддрд╛рд░ рдХреЛ рдкрд░реЗрд╢рд╛рди рдФрд░ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдХрддрд╛рд░ рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдерд╛рди рдкрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЦреНрдп рдПрдХ рдкрд░ рд▓реМрдЯрдирд╛ рди рднреВрд▓реЗрдВред

рд╡рд┐рдХрд▓реНрдкред рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ, рд╢рд╛рдпрдж рдореБрдЦреНрдп рдмрд╛рдд - рдЬрдм рдЖрдк рдПрдХ рдкреНрд░рдмрдВрдзрдХ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдмреНрд▓реВрдЯреВрде рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рддреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ рд╣рд░ рдХреЛрдИ "рдУрдХреЗ" (рдЬрд┐рд╕рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреНрд▓реВрдЯреВрде рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ) рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рднреА рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдореИрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ред

рдкреНрд░рдмрдВрдзрдХ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ:

 func centralManagerDidUpdateState(_ central: CBCentralManager) 

рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИ - рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдмреНрд▓реВрдЯреВрде рд╕рдХреНрд╖рдо рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдкрд╣рд▓рд╛ рдЯрд┐рдк: рдкреНрд░рдмрдВрдзрдХ рддрдм рддрдХ рдмреЗрдХрд╛рд░ рд╣реИ рдЬрдм рддрдХ рд╣рдореЗрдВ рдЬрд╡рд╛рдм рдирд╣реАрдВ рдорд┐рд▓ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдмреНрд▓реВрдЯреВрде рдЪрд╛рд▓реВ рд╣реИ, рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИред рдЕрдиреНрдп рд░рд╛рдЬреНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмреНрд▓реВрдЯреВрде рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдбрд┐рд╡рд╛рдЗрд╕ рдЦреЛрдЬ


рдЕрдм рдЬрдм рд╣рдорд╛рд░рд╛ рдкреНрд░рдмрдВрдзрдХ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ,
рд╣рдорд╛рд░реЗ рдЖрд╕-рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ (.PoweredOn рд░рд╛рдЬреНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж - рд╣рдо рд╕реНрдХреИрдирдлреЛрд░рдкрд┐рд░рд┐рдлреЗрд░рд▓реНрд╕рд╡рд┐рде рд╕реЗрд╡рд╛ рд╕рдорд╛рд░реЛрд╣ рдХрд╣рддреЗ рд╣реИрдВ :)

 manager.scanForPeripheralsWithServices([CBUUID], options: nil) 

рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ CBUUIDs рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ (рдПрдХ рд╡рд░реНрдЧ рдЬреЛ рдмреНрд▓реВрдЯреВрде рд▓реЛ рдПрдирд░реНрдЬреА рд▓рдЧрднрдЧред рдкреНрд░рддрд┐) рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ 128-рдмрд┐рдЯ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдпреВрдЖрдИрдбреА рдХреЗ рдХреЗрд╡рд▓ рдЗрд╕ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ CoreBlu рдмреНрд▓реВрдЯреВрде рдореЗрдВ рдПрдХ рдЖрдо рдмрд╛рдд рд╣реИред ред

рдпрджрд┐ рдЖрдк рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реВрдиреНрдп рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЪрд╛рд░реЛрдВ рдУрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рдЖрдк рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рд╢реВрдиреНрдп рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдИ рднреА рднрдпрд╛рдирдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕реЗ рд░реЛрдХрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдпрдерд╛, рдЦреЛрдЬ рдЬрд╛рд░реА рд░рд╣реЗрдЧреА рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдмреИрдЯрд░реА рдХреЛ рддрдм рддрдХ рд▓реИрдВрдб рдХрд░реЗрдЧреА рдЬрдм рддрдХ рд╣рдо рдЙрд╕реЗ рд░реЛрдХ рдирд╣реАрдВ рджреЗрддреЗред рдЬреИрд╕реЗ рд╣реА рд╣рдореЗрдВ рд╕рд╣реА рдЙрдкрдХрд░рдг рдорд┐рд▓ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдЦреЛрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИ, рд╣рдо рд░реБрдХ рдЬрд╛рдПрдВрдЧреЗ:

 manager.stopScan() 

рд╣рд░ рдмрд╛рд░ рдЬрдм рдХреЛрдИ рдирдпрд╛ рдЙрдкрдХрд░рдг рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░рдмрдВрдзрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдЙрд╕ рдХрддрд╛рд░ рдореЗрдВ didDiscoverPeripheral рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдерд╛ рдЬрдм рдЗрд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдлрд╝рдВрдХреНрд╢рди рд╣рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ (рдкрд░рд┐рдзреАрдп), рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА (adsData - рдРрд╕рд╛ рдХреБрдЫ рдЬрд┐рд╕реЗ рдЪрд┐рдк рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╣рд░ рдмрд╛рд░ рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛) рдФрд░ рдбреЗрд╕реАрдмрд▓ рдореЗрдВ рд░рд┐рд╢реНрддреЗрджрд╛рд░ RSSI рд╕рд┐рдЧреНрдирд▓ рд╕реНрддрд░ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

 func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) 

рджреВрд╕рд░рд╛ рдЯрд┐рдк: рд╣рдореЗрд╢рд╛ рдкрд╣рдЪрд╛рдиреЗ рдЧрдП рдкрд░рд┐рдзреАрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдордЬрдмреВрдд рд▓рд┐рдВрдХ рд░рдЦреЗрдВред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдпрд╣ рддрдп рдХрд░реЗрдЧрд╛ рдХрд┐ рд╣рдореЗрдВ рдорд┐рд▓реА рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╡рд╣ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред рд╡рд╣ рдЙрд╕реЗ рдпрд╛рдж рдХрд░реЗрдЧреА, рд▓реЗрдХрд┐рди рд╣рдо рдЕрдм рдЙрд╕рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗрдВрдЧреЗред рдЕрдиреНрдпрдерд╛, рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

рдбрд┐рд╡рд╛рдЗрд╕ рдХрдиреЗрдХреНрд╢рди


рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдЬрд┐рд╕ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рд╣рдо рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ - рдпрд╣ рдПрдХ рдкрд╛рд░реНрдЯреА рдореЗрдВ рдЖрдиреЗ рдФрд░ рдПрдХ рд╕реБрдВрджрд░ рд▓рдбрд╝рдХреА рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реИред рд╣рдо рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╣рдо рдХрдиреЗрдХреНрдЯрдкреНрд░рд┐рдлреЗрд░рд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ - рд╣рдо "рдПрдХ рдкреЗрдп рдЦрд░реАрджрддреЗ рд╣реИрдВ" рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ (рдкрд░рд┐рдзреАрдп) рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╣рдореЗрдВ "рд╣рд╛рдВ" рдпрд╛ "рдирд╣реАрдВ" рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░рд╛ iPhone рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЬрд╡рд╛рдм рд╕реБрдиреЗрдВрдЧреЗред

 manager.connectPeripheral(peripheral, options: nil) 

рдпрд╣рд╛рдВ рд╣рдордиреЗ рдЙрд╕ рдкреНрд░рдмрдВрдзрдХ рдХреА рдУрд░ рд░реБрдЦ рдХрд┐рдпрд╛, рдЬреЛ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рд╣рдо рдЙрд╕реЗ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрд┐рд╕ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдХрд░рдг рд╕реЗ рдЬреБрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╕реЗ рд╣рдо рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╢реВрдиреНрдп рджреЗрддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдореЗрдВ рдмрд╣реБрдд рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкрдврд╝реЗрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЖрдорддреМрд░ рдкрд░ рдЙрдирдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЬрдм рдЖрдк рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдареАрдХ рд╣реИ, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╕реБрдмрд╣ - рдХреИрдВрд╕рдкреЗрд░реАрдлреЗрд░рд▓ рдХрдиреЗрдХреНрд╢рди:

 //called to cancel and/or disconnect manager.cancelPeripheralConnection(peripheral) 

рдХрдиреЗрдХреНрдЯ рдпрд╛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреА рд╕реВрдЪрдирд╛ рджреЗрдЧрд╛:

 //didConnect func centralManager(central: CBCentralManager!, didConnectPeripheral peripheral: CBPeripheral!) //didDisconnect func centralManager(central: CBCentralManager!, didDisconnectPeripheral peripheral: CBPeripheral!, error: NSError!) 

рдЕрдм, рджреЛ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдЭрд╛рд╡ред рдмреНрд▓реВрдЯреВрде рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдЯрд╛рдЗрдордЖрдЙрдЯ рдорд╛рдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди Apple рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред iOS рдмрд╛рд░-рдмрд╛рд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ рдФрд░ рддрдм рддрдХ рдирд╣реАрдВ рд░реБрдХреЗрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рд░рджреНрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕рдордп рдкрд░ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдпрджрд┐, рдЕрдВрдд рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рд╕рдлрд▓ рдХрдиреЗрдХреНрд╢рди рд╕рдВрджреЗрд╢ (didConnectPeripheral) рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖ рдерд╛ред

рдпрджрд┐ рдЖрдк рдкрд░рд┐рдзреАрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдордЬрдмреВрдд рд▓рд┐рдВрдХ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ iOS рдмрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░ рджреЗрдЧрд╛ред рдЙрд╕рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦрдирд╛ рдмреИрдЯрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдКрд░реНрдЬрд╛-рдЧрд╣рди рдХрд╛рд░реНрдп рд╣реИ, рдФрд░ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдкреНрдкрд▓ рдКрд░реНрдЬрд╛ рдХреА рдЦрдкрдд рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рдЪрд▓рд┐рдП рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЙрдкрдпреЛрдЧреА рдмрдирд╛рддреЗ рд╣реИрдВ


рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ, рдЪрд▓реЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╡реЗ рдореВрд▓реНрдп рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ, рдпрд╣ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рд╣рдо рдкрд░рд┐рдзреАрдп.discoverServices рдкрд░ рдХреЙрд▓ рдХрд░рдХреЗ рдЗрд╕рдХреА рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 peripheral.discoverServices(nil) func peripheral(peripheral: CBPeripheral!, didDiscoverServices error: NSError!) peripheral.services 

рдЕрдм рдпрд╣ рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд▓рдЧреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЛ рдЙрд╕ рдереНрд░реЗрдб рдкрд░ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкреНрд░рдмрдВрдзрдХ рдмрдирд╛рддреЗ рд╕рдордп рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдпрд╣ рдкрд░рд┐рдзрд┐ рдХрд╛ рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╣реИред рдпрд╣реА рд╣реИ, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдпрд╛рдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рд╕рднреА рдмреНрд▓реВрдЯреВрде рд╕рдВрдЪрд╛рд░ рдЙрд╕ рд╕реНрдЯреНрд░реАрдо рдкрд░ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдореБрдЦреНрдп рдПрдХ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рд╣рдореЗрдВ рд╕реЗрд╡рд╛рдПрдВ рдорд┐рд▓реАрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдкреЗрд░рд┐рдлреЗрд░рд▓ .iscoverCharacteristics рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдбреЗрд▓рд┐рдЧреЗрдЯ рдиреЗ рд╣рдореЗрдВ doDoveroverCharacteristicsForService рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЙрдкрд▓рдмреНрдз рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рджреА рд╣реЛрдВрдЧреАред рдЕрдм рд╣рдо рдорд╛рди рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ,
рдЬреЛ рд╡рд╣рд╛рдВ рдореМрдЬреВрдж рд╣реИрдВ (readValueForCharacteristic) рдпрд╛ рд╣рдореЗрдВ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреИрд╕реЗ рд╣реА рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ - setNotifyValueред

 peripheral.discoverCharacteristics(nil, forService: (service as CBService)) func peripheral(peripheral: CBPeripheral!, didDiscoverCharacteristicsForService service: CBService!, error: NSError!) peripheral.readValueForCharacteristic(characteristic) peripheral.setNotifyValue(true, forCharacteristic: characteristic) func peripheral(peripheral: CBPeripheral!, didUpdateValueForCharacteristic characteristic: CBCharacteristic!, error: NSError!) 

рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд╡рд┐рдкрд░реАрдд, рдРрдкреНрдкрд▓ рдкрдврд╝рдиреЗ рдФрд░ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рд╣рдо рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ - рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдХреБрдЫ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рд╣рдореЗрдВ рдХреБрдЫ рдмрддрд╛ рд░рд╣реА рд╣реИред

рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ, рд╣рдо рдЗрд╕реЗ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкрдврд╝рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, - рд╕рд╛рдорд╛рдиреНрдп рдПрдирдПрд╕рдбрд╛рдЯрд╛ред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдХрд░рдг рд╣рдорд╕реЗ рдХреНрдпрд╛ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЕрдзрд┐рдХрд╛рдВрд╢ рдмреАрдПрд▓рдИ рдбрд┐рд╡рд╛рдЗрд╕ рдПрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ, рдПрдХ рддрд░рд╣ рдХрд╛ рдПрдкреАрдЖрдИ рдЬрд┐рд╕рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде "рд╕рдВрд╡рд╛рдж" рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЖрдк рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЕрдиреБрдорд╛рдирд┐рдд рд╡рд┐рдЪрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рдбреЗрдЯрд╛ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рд╣рдорд╕реЗ рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИред

рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рд╕реЗ рд╣рдо рд╕реАрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрд┐рди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ, рдФрд░ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рд╣рдо рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВ (isNotifying)ред рдЕрдзрд┐рдХ рдмрд╛рд░ рдирд╣реАрдВ, рдпрд╣рд╛рдВ рд╣рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рдорд┐рд▓реЗрдЧрд╛ рдЬреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред

 peripheral.writeValue(data: NSData!, forCharacteristic: CBCharacteristic!, type: CBCharacteristicWriteType) characteristic.properties - OptionSet type characteristic.isNotifying func peripheral(peripheral: CBPeripheral!, didWriteValueForCharacteristic characteristic: CBCharacteristic!, error: NSError!) 

рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╣рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЧрдпрд╛ (didWriteValueForCharacteristics), рдХрд┐ рд╡рд╛рдВрдЫрд┐рдд рдорд╛рди рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо Apple рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реБрдП рд╡рд┐рд╖рдп рдХреЛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рдВрдХреАрд░реНрдг рдЦрдВрдб рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдкрд░ рдмрд╣реБрдд рдордЬрдмреВрдд рдирд┐рд░реНрднрд░рддрд╛, рдЗрддрдирд╛ рдкреНрд░рд┐рдп Appleред

CBPeripheral рдХреА рд╡рд┐рд░рд╛рд╕рдд? рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдерд╛


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ, рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрддрд╛рдПрдЧрд╛ред рд╢рд╛рдпрдж рд╣рдо рд▓реЙрдХ, рдПрдпрд░ рдХрдВрдбреАрд╢рдирд┐рдВрдЧ рдпрд╛ рд╣рд╛рд░реНрдЯ рд░реЗрдЯ рд╕реЗрдВрд╕рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣ рд╡рд┐рд░рд╛рд╕рдд рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдо рдореЗрдВ рдХреБрдЫ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рд╣реИред рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ рдЬрдм рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреБрдЫ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдФрд░ рдЖрдкрдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдЖрдкрдХреЛ CBPeripheral рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рд▓реЗрдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдкреНрд░рддрд┐ рд╕рд╛рд╡рдзрд╛рди рдХрд░реВрдВрдЧрд╛ред рдХреНрдпрд╛ рдХрд░реЗрдВ?

рдореИрдВ рдЖрдкрдХреЛ рдЙрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ CBPeripheral рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЙрд╕реЗ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рдЕрдВрджрд░ рдХреВрдЯрдмрджреНрдз рдХрд░рддрд╛ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдордЬрдмреВрдд рд▓рд┐рдВрдХ рд░рдЦреЗрдВ рддрд╛рдХрд┐ рдЖрдИрдУрдПрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЛ рддреЛрдбрд╝ рди рдЬрд╛рдПред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЕрдиреНрдпрдерд╛ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛, рдЗрд╕рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЛ рдЦрддрд░рд╛ рд╣реЛрддрд╛ рд╣реИред

CBPeripheralDelegate рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рдирд╛ рдФрд░ рдХрд╛рдо рдХрд░рдирд╛


рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ CBPeripheralDelegate рдмрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдПрдХ рдФрд░ рдЕрддрд┐ рд╕реВрдХреНрд╖реНрдо рдЕрдВрддрд░ рд╣реИ: рдЬрдм рдЖрдк рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕рдХреА рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ "рдкреВрдЫрддрд╛рдЫ" рдХрд░реЗрдВ, рдЙрдиреНрд╣реЗрдВ рдкрдврд╝реЗрдВ рдФрд░ рд▓рд┐рдЦреЗрдВ, рд▓рдЧрднрдЧ рд╕рднреА рд╕рдВрдЪрд╛рд░ рдкрд░рд┐рдзреАрдп рдХреЗ рд╕рд╛рде рд╣реЛрддреЗ рд╣реИрдВред рдХрдиреЗрдХреНрд╢рди рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫред

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо рд╕рднреА рд╕рдВрдЪрд╛рд░ рдХреЛ рдПрдХ рд╕реНрдерд╛рди рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдЗрд╕ рдмрд╛рдд рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдФрд░ рдХрдард┐рдирд╛рдИ рд╕рдЪреНрдЪрд╛рдИ рдХрд╛ рдПрдХ рд╕реНрд░реЛрдд рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдХреЛ рд╕рдордп рдкрд░ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд░рд┐рдзреАрдп рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВрдЧреЗ - рдпрд╣ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ, рдХрдиреЗрдХреНрдЯ рдФрд░ рдХрдиреЗрдХреНрдЯ рд╕реЗ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реА рдирд┐рдпрдВрддреНрд░рдг рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рдПрдХ рд╕реНрдерд┐рддрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдмрд╛рдд рдХреА рдереА, рдЗрд╕рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЬрдЧрд╣ рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдирд┐рдХрдЯрддрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг


рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬ рдвреВрдВрдврдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред Apple рдФрд░ рдЙрдирдХреЗ iBeacons рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ, рд╡реЗ рд╣рдореЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдмреНрд▓реВрдЯреВрде рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдХрд┐рддрдиреЗ рдХрд░реАрдм рд╣реИрдВред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдореЗрдВ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдирд┐рдХрдЯрддрдо рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдпрд╣ рд╕рдордЭрдирд╛ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдЙрдкрд▓рдмреНрдз рд░реЗрдВрдЬ рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдХрднреА-рдХрднреА, рдЬрдм рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЦреЛрдЬ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЧрд╛рдпрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдлрд┐рд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдЕрд╕рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдЦреЛрдЬрдкреЗрд░рд┐рдлреЗрд░рд▓ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рддрд╛рд░реАрдЦ рдФрд░ рд╕рд┐рдЧреНрдирд▓ рдХреА рддрд╛рдХрдд (рдЖрд░рдПрд╕рдПрд╕рдЖрдИ) рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреИрдХ рдХреЛ рд╕рд╣реЗрдЬреЗрдВред рдпрджрд┐ рдХреЛрдИ рдХреЛрд░рд▓реЛрдХреЗрд╢рди рдореЗрдВ рдЖрдпрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░рд╛ рддрд░реАрдХрд╛ рдЙрд╕реА рддрд░рд╣ рд╣реИ рдЬреИрд╕реЗ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╡рд╣рд╛рдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рд╕рд┐рдЧреНрдирд▓ (RSSI) рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИ, рдбрд┐рд╡рд╛рдЗрд╕ рдЙрддрдирд╛ рд╣реА рдХрд░реАрдм рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╕рдордЭрдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИ рдХрд┐ рдХреЛрдИ рдЙрдкрдХрд░рдг рдПрдХ рд╕реБрд▓рдн рд╢реНрд░реЗрдгреА рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реНрд╡рдпрдВ рдХрд╛рдлреА рд▓рдЪреАрд▓реА рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рднрд╛рд░рд┐рдд рдФрд╕рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрдЯреЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕рд┐рдЧреНрдирд▓ рд╕реНрдЯреНрд░реЗрдВрде рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?


рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рдмрдирд╛ рджреЗрдЧрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рднреА рдкрдврд╝рддреЗ рд╣реИрдВред
рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЧрдпрд╛ - Apple рдХреЗ CoreBluaxy рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЧрд╛рдЗрдб рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдЧрд╛рдЗрдб рдмрд╣реБрдд рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред рдЕрднреА рднреА WWDC 2012 ( рдмреЗрд╕рд┐рдХ рдФрд░ рдПрдбрд╡рд╛рдВрд╕ ) рдФрд░ 2013 рдХреЗ рдкреНрд░рд╕рд╛рд░рдг рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪрд┐рдВрддрд╛ рдордд рдХрд░реЛ, рддрдм рд╕реЗ рдереЛрдбрд╝рд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред

Altmf 2015 рдХреЗ рдПрдХ рд╡реАрдбрд┐рдпреЛ рдХреЛ Realm рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдорд╣рд╛рди рд╡реНрдпрдХреНрддрд┐ рдФрд░ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдЬреЙрди рд╢реЗрд░ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИред

Source: https://habr.com/ru/post/hi425937/


All Articles