IOS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЕрдиреБрдЧреНрд░рд╣ рдЕрд╡рдзрд┐ (рдмрд┐рд▓рд┐рдВрдЧ рдЕрдиреБрдЧреНрд░рд╣ рдЕрд╡рдзрд┐) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗрдВ?

рдЫрд╡рд┐


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


рдЕрдиреБрдЧреНрд░рд╣ рдЕрд╡рдзрд┐ рдХреА рдЕрд╡рдзрд┐ рд╕рджрд╕реНрдпрддрд╛ рдХреА рдЕрд╡рдзрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП, рдпрд╣ 6 рджрд┐рди рд╣реИ, рдЕрдиреНрдп рд╕рднреА рдХреЗ рд▓рд┐рдП - 16 рджрд┐рдиред


рдЖрдк рдРрдк рд╕реНрдЯреЛрд░ рдХрдиреЗрдХреНрдЯ рдореЗрдВ рдЧреНрд░реЗрд╕ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЗрди-рдРрдк рдЦрд░реАрджрд╛рд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдЖрд╡реЗрджрди рдореЗрдВ рдЕрдиреБрдЧреНрд░рд╣ рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рднреА рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рдореБрдЭреЗ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдЧреНрд░рд╣ рдЕрд╡рдзрд┐ рдореЗрдВ рд╣реИ?


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


рдорд╛рдиреНрдпрддрд╛ рдРрдк рд╕реНрдЯреЛрд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд╕рдорд░реНрдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред

рдпрджрд┐ рдЕрдиреБрдЧреНрд░рд╣ рдЕрд╡рдзрд┐ рд╣реЛрдиреЗ рдкрд░ рднреБрдЧрддрд╛рди рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ grace_period_expires_date JSON рдореЗрдВ рдПрдХ рдирдпрд╛ рдлрд╝реАрд▓реНрдб рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛: grace_period_expires_date ред рдЕрдВрддрд┐рдо рд▓реЗрди-рджреЗрди рдХреА рд╕рдорд╛рдкреНрддрд┐ рддрд┐рдерд┐ рдореЗрдВ 6 рдпрд╛ 16 рджрд┐рди рдЬреЛрдбрд╝рдХрд░ рдпрд╣ рддрд┐рдерд┐ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИред


рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рддрд┐рдерд┐ рдЕрдВрддрд┐рдо рд▓реЗрдирджреЗрди рдХреА рд╕рдорд╛рдкреНрддрд┐ рддрд┐рдерд┐ рдФрд░ рдЕрдиреБрдЧреНрд░рд╣ рдЕрд╡рдзрд┐ рдХреА рд╕рдорд╛рдкреНрддрд┐ рддрд┐рдерд┐ рдХреЗ рдмреАрдЪ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдЧреНрд░рд╣ рдЕрд╡рдзрд┐ рдореЗрдВ рд╣реИред expiration_intent рднреА 2 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


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


рдФрд░ рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЕрдиреБрдЧреНрд░рд╣ рдХреЗ рдмрд╛рдж рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░реАрдорд┐рдпрдо рд╕реБрд╡рд┐рдзрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рд░реЛрдХрдирд╛ рд╣реЛрдЧрд╛ред


рдЕрдиреБрдЧреНрд░рд╣ рдЕрд╡рдзрд┐ рдФрд░ is_in_billing_retry_period рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░


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


рдЧреНрд░реЗрд╕ рдкреАрд░рд┐рдпрдб рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдкрд░, Apple рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдкреНрд░реАрдорд┐рдпрдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рддрд╛ рд╣реИред


рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рднреБрдЧрддрд╛рди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВ


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


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


 // example of navigating user to account billing func handleOpenBilling(){ let urlString = "https://apps.apple.com/account/billing" if let url = URL(string: urlString), UIApplication.shared.canOpenURL(url){ UIApplication.shared.open(url) } 

рдЕрдкреНрд╣реБрдж рдЖрдкрдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд░ рдЪреБрдХрд╛ рд╣реИред


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


рдЫрд╡рд┐
рдмрд┐рд▓рд┐рдВрдЧ рдЕрдкрдбреЗрдЯ рд╕реНрдХреНрд░реАрди


рдФрд░ Apphud рднреА рдЕрдиреБрдЧреНрд░рд╣ рдЕрд╡рдзрд┐ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ рдФрд░ рд╕рджрд╕реНрдпрддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрд╡рдпрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ ред


рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдирд╛рдП рд░рдЦрдирд╛


рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░рдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЧрдпрд╛ рд╣реИред IOS 13 рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде, Apple рдиреЗ рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдореЗрдХреЗрдирд┐рдЬреНрдо рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛: рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдХреЛ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рддрдм рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реНрдХреНрд░реАрди рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕реБрд▓рдн рд╣реЛ рдЬрд╛рддреА рд╣реИ:


рдЫрд╡рд┐
IOS 13 рдореЗрдВ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕


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


Apphud рдирд┐рдпрдо


рднреБрдЧрддрд╛рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдпрд╛рдВрддреНрд░рд┐рдХреА рдХреЛ "рдирд┐рдпрдо" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдордиреЗ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рдпрдо рдХреА рдЬрд╛рдВрдЪ рдХреАред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдиреНрдп рдирд┐рдпрдо рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рд▓рд╛рдн рдмрдврд╝рд╛рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВред

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


All Articles