
рдирдпрд╛ рдЦрд┐рд▓реМрдирд╛
рд╣рдо WWDC рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд Apple рдХреА рдирдИ рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдЗрд╕ рдмрд╛рд░,
рдореЗрдЯреНрд░рд┐рдХрд┐рдЯ рдкрд░ рд╡рд┐рдЪрд╛рд░
рдХрд░реЗрдВ , рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдпрд╛ рдврд╛рдВрдЪрд╛ рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рджрд░реНрд╢рди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЖрд╡реЗрджрди рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдирд╛ рдЖрд╕рд╛рди рд╣реИред Xcode рд░реИрдо рдХреА рдорд╛рддреНрд░рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЖрдк рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрдкрдХрд░рдг рднреА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ (рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдХрд╕реНрдЯрдо рдЯреВрд▓ рдкреИрдХреЗрдЬ рдкрд░ рд╣рдорд╛рд░реЗ рд▓реЗрдЦ рджреЗрдЦреЗрдВ:
рднрд╛рдЧ 1 /
рднрд╛рдЧ 2 )ред рдмрд╕ рдкреНрд░рджрд░реНрд╢рди рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рд╕рдордЭрдиреЗ рд╕реЗ рдЖрдкрдХреЛ рд▓рдЧрднрдЧ рд╣рд░ рдЪреАрдЬ рдХреЛ рдорд╛рдкрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ рдЬреЛ рдЖрд╡реЗрджрди рдХрд░рддрд╛ рд╣реИред рдЬрдм рд╣рдо AppStore рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЪреАрдЬреЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ, рдпрджрд┐ рд╡рд┐рдХрд╕рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣реИред рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рдХрд┐рддрдиреА рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдЖрд╢реНрдЪрд░реНрдп рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рдмреЗрд╢рдХ, рд╡рд┐рднрд┐рдиреНрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЙрдкрдХрд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢
iOS рдПрд╕рдбреАрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЖрд╡реЗрджрди рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рдЧрд░рд╛рдиреА рдХрд╛ рдкреНрд░рднрд╛рд╡ рд╣реИред
рдЗрд╕ рд╕рд╛рд▓, Apple рдиреЗ рдЗрд╕ рдЕрдВрддрд░ рдХреЛ рднрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдПрдХ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рджрд░реНрд╢рди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ
MetricKit рдХреА рдШреЛрд╖рдгрд╛ рдХреА (рдПрдХ рдврд╛рдВрдЪрд╛ рдЬреЛ OS
X 11 рдЖрдпреЛрдЬрдХ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЯреИрдм рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ OS рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ), рдЬрд╣рд╛рдВ рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо MetricKit рдореЗрдВ рд╡рд┐рд░рд╛рдо рджреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ Xcode рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХреЗрд╡рд▓ рдЙрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА AppStore рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реИрдВред

MXMetricManager
рдврд╛рдВрдЪреЗ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛рдлреА рд╕рд░рд▓ рдФрд░ рд╕реАрдзреА рд╣реИред рдордзреНрдп рднрд╛рдЧ рдореЗрдВ
MXMricricManager рд╡рд░реНрдЧ рдХрд╛ рдХрдмреНрдЬрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдПрдХрд▓-рддрддреНрд╡ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдкреАрдЖрдИ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ 3 рдореБрдЦреНрдп рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ:
- рдЖрдк MXMetricMnager рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдСрдмреНрдЬрд░реНрд╡рд░ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВред
- рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рд╕рд╛рдЗрдирдкреЛрд╕реНрдЯ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
- рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЕрдм рд╣рдо didReceivePayloads рд╡рд┐рдзрд┐ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдЖрдЧреЗ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдмреИрдХрдПрдВрдб рдкрд░ рднреЗрдЬреЗрдВред
рдкреИрд░рд╛рдореАрдЯрд░
MXMetricPayload рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рдкреЗрд▓реЛрдб рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕реЗрдЯ рдФрд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЛ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдореАрдЯреНрд░рд┐рдХ рдкреЗрд▓реЛрдб,
MXMetric рдХреЛ рдЙрдкрд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЖрд╡рд░рдг рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрд▓рдЧ рд╣реИред
рдРрдкреНрдкрд▓ рджреНрд╡рд╛рд░рд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдкреНрд░рдХрд╛рд░ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИрдВ, рддреЛ рдЪрд▓реЛ рдЗрд╕ рдкрд░ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд┐рд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдкрдХреЛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП - MXMetric рдЗрд╕реЗ NSDictionary рдпрд╛ JSON рдореЗрдВ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдереЛрдбрд╝рд╛ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИред
MetricKit рдХреЗ рдЖрдВрддрд░рд┐рдХ рдШрдЯрдХред
рдмрд╛рд╣рд░, рдореЗрдЯреНрд░рд┐рдХрд┐рдЯ рдмрд╣реБрдд рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдЕрдВрджрд░ рд╕реЗ рд╕рдм рдХреБрдЫ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рдЧрд╣рд░реЗ рдореЗрдВ рд╡рд┐рд╕рд░реНрдЬрди рд╣рдореЗрд╢рд╛ рдПрдХ рд╕рд╛рдЬрд╝рд┐рд╢ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдореАрдЯреНрд░рд┐рдХ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рднреА рд╕рдордп рдЕрдкрдбреЗрдЯреЗрдб рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдмреЗрд╢рдХ, рдЖрдк Xcode рдореЗрдВ `
Debug -> Simulate MetricKit Payloads` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдИрдбреА рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рд╕рдЪ рд╣реИ, рдпрд╣ рдПрдХ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдЯреАрдо рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╢реЛрдз рдореЗрдВ рджрд┐рд╢рд╛ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдордЬрд╝реЗрджрд╛рд░ рд▓рдЧрддрд╛ рд╣реИ;)
рдХрд╛рд░реНрдп рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЦреБрдж рдореЗрдЯреНрд░рд┐рдХреИрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Xcode рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╣реА рдЖрдк рдЗрд╕реЗ "рд▓рд┐рдВрдХ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ" рд▓рд┐рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрд╢рд╛рд╡рд╛рджреА рд╡рд┐рдЪрд╛рд░ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЖрдк
MetricKit.framework рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк
MetricKit.tbd рдлрд╝рд╛рдЗрд▓ рджреЗрдЦреЗрдВрдЧреЗред рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рдХреЗрд╡рд▓
4kb рд╣реИ ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдо рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?
TBD рдХрд╛ рдЕрд░реНрде рд╣реИ "рдЯреЗрдХреНрд╕реНрдЯ-рдЖрдзрд╛рд░рд┐рдд рдбрд╛рдЗрд▓рд┐рдм рд╕реНрдЯрдм" рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдбрд┐рдорд┐рд▓ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдбрд┐рд▓реЗрдм рдлрд╛рдЗрд▓ рд╣реИ рдЬреЛ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреИрд░реЗрдХреНрдЯрд░ рдФрд░ рдбрд╛рдЗрд▓рд┐рдм рдмрд╛рдЗрдирд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд╛рд╕реНрддрд╛ рд╣реИред Tbd рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рдмрд╛рдЗрдирд░реА рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред рдмрд╛рдж рдореЗрдВ, рд░рдирдЯрд╛рдЗрдо рдХреЗ рджреМрд░рд╛рди, рд╡рд╛рд╕реНрддрд╡рд┐рдХ dylib рдмрд╛рдЗрдирд░реА рдХреЛ tbd рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрде рдкрд░ OS рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬрдм рдЖрдк рдЗрд╕реЗ Xcode рдореЗрдВ рдЦреЛрд▓рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдлрд╛рдЗрд▓ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

Tbd рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдЖрдЧреЗ рдХреЗ рд╢реЛрдз рдХреЗ рд▓рд┐рдП MetricKit рдмрд╛рдЗрдирд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рднреА рд╕рд░рд▓ рд╡рд┐рдзрд┐ рд╣реИред
рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд╛рдЗрдирд░реА рдореЗрдВ рдорд╛рдЪ-рдУ рд╣реЗрдбрд░ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдорд╛рд░реНрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИред -L рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:
тЖТ otool -l ./Metrics | grep -i metrickit name /System/Library/Frameworks/MetricKit.framework/MetricKit (offset 24)
рдЖрдк рд╡рд╣реА рдкрде рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдордиреЗ рдкрд╣рд▓реЗ tbd рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджреЗрдЦрд╛ рдерд╛ред рдмрд╛рдЗрдирд░реА рдлреНрд░реЗрдорд╡рд░реНрдХ рдлрд╝рд╛рдЗрд▓ рд╣реЛрдиреЗ рдкрд░, рдЖрдк рдЖрдВрддрд░рд┐рдХ рддрддреНрд╡реЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдорддреМрд░ рдкрд░
рд╣реВрдкрд░ рдбрд┐рд╕рд╕рдореИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдпрд╣ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реИред
рдЬреИрд╕реЗ рд╣реА MetricKit рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рдЦреБрд▓рддреА рд╣реИ, 'рдкреНрд░реЛрдХ' рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░ 'рдЯреИрдЧ' рд╕реВрдЪреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВред рдпрд╣рд╛рдВ рдЖрдк рд╕рднреА рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рд╡рд░реНрдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, MXMricricManager), рд╣рдо рдЗрд╕рдХреА рд╕рднреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░, рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдкрд░, рд╣рдо рджрд╛рдИрдВ рдУрд░ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рджреЗрдЦреЗрдВрдЧреЗ:

MXMetricManager рд╡рд┐рдзрд┐ рд╕реВрдЪреА рдХреЛ рджреЗрдЦрдиреЗ рдкрд░ [
https://gist.github.com/deszip/88a258ae21d33dc75d7cbac9569c6ec1 ] рдпрд╣ _TheckAndDeliverMetricReports рд╡рд┐рдзрд┐ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдореАрдЯреНрд░рд┐рдХ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЙрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рд╕реЗ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡рд┐рдзрд┐ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рд╣рдо рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рддреЗрдВ рдиреЛрдЯ рдХрд░рддреЗ рд╣реИрдВ: рдпрд╣ / рд▓рд╛рдЗрдмреНрд░реЗрд░реА / рдХреИрд╢ / рдореЗрдЯреНрд░рд┐рдХрд┐рдЯ / рд░рд┐рдкреЛрд░реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
рдлрд┐рд░ рд╡рд╣ рдбрд┐рд╕реНрдХ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП MXMetricPayload рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЕрдирдЬрд╝рд┐рдк рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдкрдВрдЬреАрдХреГрдд рдЧреНрд░рд╛рд╣рдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде didReceive рдкрджреНрдзрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред
рд╕рдорд╕реНрдпрд╛ рд╢рд╛рдпрдж рдпрд╣ рд╣реИ рдХрд┐
/ Library / Caches / MetricKit / рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ MXMetricPayload рдХреЗ рдХреБрдЫ рд╕рдВрдЧреНрд░рд╣реАрдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддреЛ, рдЪрд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ '
_checkAndDeliverMetricReports ' рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбрд┐рд╕реНрдХ рдкрд░ рд░рдЦ рджреЗрддреЗ рд╣реИрдВред рджреЛрдмрд╛рд░рд╛, рдпреЛрдЬрдирд╛ MXMetricPayload рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдлрд┐рд░ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдФрд░ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ MXMetric рдХреЛ рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдлрд┐рд░ рдбреЗрдЯрд╛ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВред рд╕рдм рдХреЗ рдмрд╛рдж, '
_checkAndDeliverMetricReports ' рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ, рдЗрд╕рд╕реЗ рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯрдм рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреЗрд▓реЛрдб рдФрд░ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдкрд░ Apple рдбреЙрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрд░рдВрднреАрдХрд░рдг рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЧреБрдг рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВред рддреЛ, рдПрдХ рд╡рд░реНрдЧ рдХреЛ рддрддреНрдХрд╛рд▓ рдХреИрд╕реЗ рд╕рдВрднрд╡ рд╣реИ?
MXMetricPayload рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рд╣реВрдкрд░ рдкрд░
рдЬрд╛рдПрдВ :

рдпрд╣рд╛рдВ рдЖрдк рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд╢реБрд░реБрдЖрддреА рдФрд░ рддрд░реАрдХреЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рдХреА рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг
NSInvocation рд╡рд░реНрдЧ рдФрд░ 'PerformSelector' рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдЬреА рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рд╕реАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреЗрд▓реЛрдб рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред рдЗрд╕ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдкреВрд░рд╛ рдХреЛрдб рдЯреБрдХрдбрд╝рд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ: [
https://gist.github.com/deszip/a0cf877b07cc2877129e0aaef2fed1e4 ]ред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЙрд╕ рд╕рдм рдХреБрдЫ рдХреЛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдордиреЗ рдмрдирд╛рдпрд╛ рд╣реИ рдФрд░
/ рд▓рд╛рдЗрдмреНрд░реЗрд░реА / рдХреИрд╢ / рдореЗрдЯреНрд░рд┐рдХрд┐рдЯ / рд░рд┐рдкреЛрд░реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рдЕрдм '
_checkAndDeliverMetricReports ' рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ, рдЬреЛ рдЕрдВрдд рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдмрд╛рд░ рд╣рдо рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯрдмрд▓ рдкреЗ рд▓реЛрдб рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддреЗ рд╣реИрдВ
MetricKit рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рд╢рд╛рдпрдж рдпрд╣ рдЬрд╛рдирдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐
рдРрдк / рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХреИрд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВред рдпрд╣рд╛рдБ рд╣реИ рдХреИрд╕реЗред
MetricKit рдмрд╛рдЗрдирд░реА рдХреЗ рдЕрдВрджрд░ рдЦреБрджрд╛рдИ, рдореИрдВрдиреЗ рдЗрд╕ рдкрджреНрдзрддрд┐ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛: '_createXPCConnection'ред рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рд╕реЗ рд╕реНрдерд┐рддрд┐ рд╕реНрдкрд╖реНрдЯ рд╣реЛрддреА рд╣реИ - рдпрд╣
com.apple.metrickit.xpc рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ NSXPCConnection рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдкрдХреНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рджреЛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕
MXXPCServer рдФрд░
MXXPCClient рдмрдирд╛рддрд╛ рд╣реИ ред рдпрджрд┐ рдЖрдк рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд┐рд╡рд░рдг рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:

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

рдпрд╣ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рдЕрдЧрд▓реЗ рд╕реНрддрд░ рддрдХ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдореВрд▓реНрдп рдЙрдкрдХрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдХрдореА рдЬреЛ рдореБрдЭреЗ рдЕрдм рдЗрд╕ рдЙрдкрдХрд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ, рд╡рд╣ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рдХрдореА рд╣реИ: рдХреЗрд╡рд▓ рдкреГрдердХреНрдХрд░рдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдФрд░ рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдореВрд╣ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ / OS рд╕рдВрд╕реНрдХрд░рдгреЛрдВ / рдХреНрд╖реЗрддреНрд░реЛрдВ, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдмрдЧ рдЯреНрд░реИрдХрд░ рдФрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
AppSpector рдореЗрдВ, рд╣рдорд╛рд░реА рдЯреАрдо
MetricKit рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдирд┐рдЧрд░рд╛рдиреА рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░
рд░рд╣реА рд╣реИ ред
рддрд╛рд░реАрдЦ рддрдХ рд░рд╣реЗрдВ!