Xcode 10.2, macOS Mojave 10.14.4, iOS 12.1 рдФрд░ рдЕрдиреНрдп рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг



Xcode, macOS Mojave, рдФрд░ iOS рдХреЗ рд▓рд┐рдП рдирдП рдмреАрдЯрд╛ рдХреЛрдб рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рд╣реИрдВ - рдФрд░ рдпрд╣рд╛рдВ рд╡реЗ рдкреНрд░рдореБрдЦ рдмрд┐рдВрджреБ рд╣реИрдВ рдЬреЛ рдореИрдВрдиреЗ рд╕реАрдЦрд╛ рд╣реИред

Xcode 10.2 рдмреАрдЯрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдлреНрдЯ 5


рддреАрд╡реНрд░


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, Xcode рдХрд╛ рдирд╡реАрдирддрдо рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрд╡рд┐рдлреНрдЯ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓ рдореЗрдВ рдЖрддрд╛ рд╣реИ:

Apple Swift 5.0 (swiftlang-1001.0.45.7 clang-1001.0.37.7)
Target: x86_64-apple-darwin18.2.0
ABI version: 0.6


рдЖрдЗрдП рд╕рдмрд╕реЗ рд░реЛрдорд╛рдВрдЪрдХ рд╕рдорд╛рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ:
рд╕реНрд╡рд┐рдлреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЕрдм рд╕реНрд╡рд┐рдлреНрдЯ рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП DLL рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ iOS 12.2, рд╡реЙрдЪрдУрдПрд╕ 5.2 рдФрд░ рдЯреАрд╡реАрдУрдПрд╕ 12.2 рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реНрд╡рд┐рдлреНрдЯ рдПрд╕рдбреАрдХреЗ рдУрд╡рд░рд▓реЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдирддреАрдЬрддрди, рд╕реНрд╡рд┐рдлреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдХрд╛рд░ рдореЗрдВ рдХрдо рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рдЯреЗрд╕реНрдЯрдлрд▓рд╛рдЗрдЯ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЬрдм рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдПрдмреАрдЖрдИ рдЖрдЦрд┐рд░рдХрд╛рд░ рд╕реНрдерд┐рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдЖрдЬ рдпрд╣ рд╕реНрд╡рд┐рдлреНрдЯ рдХреА рдкреНрд░рдореБрдЦ рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ - рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯреНрд╕ рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЕрдзреВрд░реЗ рд╡рд╛рджреЛрдВ рдХреЗ рдХрд╛рд░рдгред рдореЗрд░реЗ рдХреБрдЫ рджреЛрд╕реНрдд рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ (рд▓рдЧрднрдЧ 15 рдПрдордмреА рд╕реЗ 1 рдПрдордмреА рддрдХ) рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдкрд░ рдРрдкреНрдкрд▓ рд╡реЙрдЪ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рднреА рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдЖрдк рд▓рд┐рдВрдХ рдкрд░ рдПрдмреАрдЖрдИ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ: рд╕реНрд╡рд┐рдлреНрдЯ рдПрдмреАрдЖрдИ рдбреИрд╢рдмреЛрд░реНрдб рдФрд░ рд╕реНрд╡рд┐рдлреНрдЯ рдПрдмреАрдЖрдИ рдореИрдирд┐рдлреЗрд╕реНрдЯреЛ рдСрдл рд╕реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА ред

@DynamicCallable рд╡рд┐рд╢реЗрд╖рддрд╛ рдЖрдкрдХреЛ рд╕рд░рд▓ рд╕рд┐рдВрдЯреИрдХреНрдЯрд┐рдХ рд╢реБрдЧрд░ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рддрд░рд╣ рд╣реА рдирд╛рдорд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдЧрддрд┐рд╢реАрд▓ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИред ( рдПрд╕рдИ -0216 )

рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 @dynamicCallable struct ToyCallable {   func dynamicallyCall(withArguments: [Int]) {}   func dynamicallyCall(withKeywordArguments: KeyValuePairs<String, Int>) {} } let x = ToyCallable() x(1, 2, 3) // Desugars to `x.dynamicallyCall(withArguments: [1, 2, 3])` x(label: 1, 2) // Desugars to `x.dynamicallyCall(withKeywordArguments: ["label": 1, "": 2]) 

рдпрд╣ рд╡рд┐рд╖рдп рдХрд╛рдлреА рд╡реНрдпрд╛рдкрдХ рд╣реИ, рдФрд░ рдирд╡рд╛рдЪрд╛рд░ рдореБрдЭреЗ рдорд┐рд╢реНрд░рд┐рдд рднрд╛рд╡рдирд╛рдПрдВ рдмрдирд╛рддрд╛ рд╣реИред рдкреЙрд▓ рд╣рдбрд╕рди " рд╕реНрд╡рд┐рдлреНрдЯ 5.0 рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ " рд▓реЗрдЦ рдореЗрдВ рддрдЯрд╕реНрде рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред
рд╕реНрд╡рд┐рдлреНрдЯ 3 рд╕рдВрдЧрддрддрд╛ рдореЛрдб рдХреЛ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред -swift-version рдлреНрд▓реИрдЧ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рдорд╛рди 4, 4.2 рдФрд░ 5 рд╣реИрдВред

рдпреБрдЧ рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ: рд╕реНрд╡рд┐рдлреНрдЯ 3 рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд-рд╕реНрддрд░реАрдп рд╕рдВрдЧрддрддрд╛ рдХреЛрдИ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдХрджрдо рдХреА рдЙрдореНрдореАрдж рдереА, рдпрд╣ рд╕реНрд╡рд┐рдлреНрдЯ 5 рд░реЛрдбрдореИрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЕрднреА рддрдХред рдореИрдВ рдЕрддреНрдпрдзрд┐рдХ рд╕реНрд╡рд┐рдлреНрдЯ 5.0 рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкрдврд╝рдХрд░ рдЖрдкрдХреА рд╕реНрдореГрддрд┐ рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рд╕реНрд╡рд┐рдлреНрдЯ 5 рдпрд╣рд╛рдВ рд╣реИ - рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдУред
рд╕реНрд╡рд┐рдлреНрдЯ 5 рдореЛрдб рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдореЗрдВ рдШреЛрд╖рд┐рдд рдПрдиреНрдпреВрдорд░реЗрд╢рдВрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдЬреНрдЮрд╛рдд рдорд╛рдиреЛрдВ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рдЕрд░реНрдерд╛рддреН, рдЬрд┐рдиреНрд╣реЗрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рд╕реНрд╡рд┐рдлреНрдЯ 4 рдФрд░ 4.2 рдореЛрдб рдореЗрдВ, рдЖрдк @unknown default рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡рд┐рдЪ рдореЗрдВ рдХреЛрдИ рдЕрдЬреНрдЮрд╛рдд рдорд╛рди рдЫреВрдЯ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрд╛рдзрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ - рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдЬреИрд╕реЗ рдХрд┐ рд╕реНрд╡рд┐рдлреНрдЯ 4.2 рдФрд░ рдПрдХреНрд╕рдХреЛрдб 10.1 рдореЗрдВ рдерд╛ ( рдПрд╕рдИ -0192 )

рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЪрд▓реА рдЖ рд░рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рдЕрднреА рднреА рдЕрд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рд╕реНрд╡рд┐рдЪ рдореЗрдВ default рд╕реНрд╡рд┐рдЪ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдореИрдВ .provisional рд╡рд┐рдХрд▓реНрдк рд╕реЗ рдХрд┐рддрдирд╛ рдкреАрдбрд╝рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рдерд╛ рдЬреЛ .provisional 12 рдореЗрдВ UNAuthorizationOptions рдкреНрд░рдХрд╛рд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдерд╛ред рдЕрдм, рдорд╛рдорд▓рд╛ unknown , рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред

рд╕реНрд╡рд┐рдлреНрдЯ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░


рдкреИрдХреЗрдЬ 5 рдЕрдм Apple рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (macOS, iOS) рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕реНрдХрд░рдг рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред Swift 5 рд╕реЗ Package.swift рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдкреИрдХреЗрдЬ рдЕрд╕реЗрдВрдмрд▓реА рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рдХрдо рд╕реЗ рдХрдо рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдкрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛред ( рдПрд╕рдИ -0236 )

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

рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:

  • рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ рдкрд┐рдЫрд▓реЗ рд░рд┐рд▓реАрдЬрд╝ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рдВрдХрд▓рди рд╕рдордп рдХрд╛ рдкреНрд░рддрд┐рдЧрдорди рджрд┐рдЦрд╛рддреА рд╣реИрдВ;
  • рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреНрд░реИрд╢ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕, dyld: Library not loaded рддреНрд░реБрдЯрд┐ dyld: Library not loaded
    (рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЛрдб рдирд╣реАрдВ)ред SWIFT_FORCE_STATIC_LINK_STDLIB=YES : рдХрд╕реНрдЯрдо рдЕрд╕реЗрдВрдмрд▓реА SWIFT_FORCE_STATIC_LINK_STDLIB=YES рдирд┐рд░реНрдорд╛рдг SWIFT_FORCE_STATIC_LINK_STDLIB=YES ред

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

Xcode 10.2 рдмреАрдЯрд╛


рдХреНрд▓реИрдВрдЧ рдХрдВрдкрд╛рдЗрд▓рд░


рдХреНрд▓реИрдВрдЧ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдХрдИ рдирдП рдЕрд▓рд░реНрдЯ рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рдпрд╣ рддрдереНрдп рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ ( рд╕рдВрднрд╡рддрдГ ) рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡рд┐рдлреНрдЯ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рдПрдХреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ:
  • рдирдП рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реЗрдбрд░ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╢реИрд▓реА рдХреЗ рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреЗ рдмрдЬрд╛рдп рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ -Wquoted-include-in-framework-header рд╡рд┐рдХрд▓реНрдк рдкрд╛рд╕ рдХрд░рдХреЗ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ -Wquoted-include-in-framework-header ;
  • рдврд╛рдВрдЪреЗ рдХреЗ рдЦреБрд▓реЗ рд╣реЗрдбрд░ рдЧрд▓рддреА рд╕реЗ #import рдпрд╛ #include рдмрдВрдж рд╣реЗрдбрд░ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рд╡реНрдпрд╡рдзрд╛рди рдФрд░ рдХрднреА-рдХрднреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЪрдХреНрд░реАрдп рдЖрдпрд╛рдд рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрд▓реНрд▓рдВрдШрди рдХреЛ рдПрдХ рдирдП рдирд┐рджрд╛рди рджреНрд╡рд╛рд░рд╛ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ -Wframework-include-private-from-public рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ -Wframework-include-private-from-public рдзреНрд╡рдЬ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╣реЗрдбрд░ рдореЗрдВ @import рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдиреНрд╣реЗрдВ рдмрд┐рдирд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ @import рд╣реИред рдирдП рдирд┐рджрд╛рдиреЛрдВ рдХреЛ рд╣реЗрдбрд░ рдореЗрдВ @import рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм тАФfmodules рдзреНрд╡рдЬ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЗрд╕реЗ -Watimport-in-framework-header рдлреНрд▓реИрдЧ рджреНрд╡рд╛рд░рд╛ рдЕрдХреНрд╖рдо рдФрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, framework рдХреАрд╡рд░реНрдб рдХрд╛ рдиреБрдХрд╕рд╛рди рдЬрдм framework рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рдВрдХрд▓рди рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рд╣реЛрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЪреБрдкрдЪрд╛рдк рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рдерд╛ред рдирдпрд╛ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ -Wincomplete-framework-module-declaration рдФрд░ рдПрдХ рдирдпрд╛ рдлрд┐рдХреНрд╕ рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдХреБрдВрдЬреА рдЬреЛрдбрд╝рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм тАФfmodules рдзреНрд╡рдЬ рдХреЛ тАФfmodules ред


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



рдореИрдВрдиреЗ рдПрдХ рдкреБрд░рд╛рдиреА рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдлреНрд░реЗрдо рдХреЗ рдЦреБрд▓реЗ рд╣реЗрдбрд░ рдореЗрдВ рдирд┐рдЬреА рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдкрд╛рдИрдВ:



рдврд╛рдВрдЪреЗ рдХреЗ рдЕрдВрджрд░ рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдБ рднреА рдереАрдВ:



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

рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдПрдВ


рдХреЛрдб рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрдкрдбреЗрдЯ рднреА рд╣реИред
рдирд┐рд╣рд┐рдд рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреА рдЦреЛрдЬ рдЕрдм рд╕рдВрдмрдВрдзрд┐рдд рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ -framework, -weak_framework, -reexport_framework, -lazy_framework, -weak-l, -reexport-l, -lazy-l тАФl. рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рд╕рдВрдмрдВрдзрд┐рдд рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЗ рдЕрдиреНрдп рдЦрдВрдбреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИ -framework, -weak_framework, -reexport_framework, -lazy_framework, -weak-l, -reexport-l, -lazy-l тАФl.

рдпрд╣ рдирд╡рд╛рдЪрд╛рд░ рдмрд╣реБрдд рдкреЗрдЪреАрджрд╛ рднреА рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдм рдЖрдк .xcconfig рдореЗрдВ рд▓рд┐рдВрдХ / рдПрдореНрдмреЗрдб рдЪрд░рдгреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП .xcconfig рдпрд╛ xcodebuild рд╕рд╛рде рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдбрд┐рдмрдЧрд┐рдВрдЧ


рдбрд┐рдмрдЧрд░ рдирд╡рд╛рдЪрд╛рд░:
UIStackView рдЧреБрдг рдЕрдм рджреГрд╢реНрдп рдбреАрдмрдЧрд░ рдирд┐рд░реАрдХреНрд╖рдХ рдореЗрдВ рджрд┐рдЦрд╛рдП UIStackView рд╣реИрдВред рджреГрд╢реНрдп рдбреАрдмрдЧрд░ рдХреЛ рдПрдХ рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдереНрд░реА-рдбрд╛рдпрдореЗрдВрд╢рдирд▓ рд▓реБрдХ рдорд┐рд▓рд╛ред




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

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




рд▓рд╛рд▓ рд░реЗрдЦрд╛ рджреЗрдЦреЗрдВ? рдЬрдм рдпрд╣ рдкрд╣реБрдБрдЪ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реЙрдЪрдбреЙрдЧ рдХреЛ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ applicationDidReceiveMemoryWarning рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред DidReceiveMemoryWarningред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдЕрдкрдбреЗрдЯ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЫреЛрдЯрд╛ рдкреНрд▓рд╕ рд╣реИред

рдПрд▓рдПрд▓рдбреАрдмреА рдбреАрдмрдЧрд░


LLDB рдореЗрдВ рдирдП рдмрдиреНрд╕ рджрд┐рдЦрд╛рдИ рджрд┐рдП:
  • рдЕрдм рдЖрдк рдХреНрд▓реЛрдЬрд╝рд░ рдХреЗ рдЕрдВрджрд░ рднрд╛рд╡реЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддреЗ рд╕рдордп $ 0, $ 1 рдФрд░ рдЕрдиреНрдп рд╕рдВрдХреНрд╖рд┐рдкреНрддрд╛рдХреНрд╖рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдПрд▓рдПрд▓рдбреАрдмреА рдореЗрдВ рдЕрдм рдлреНрд░реЗрдо рд╡реЗрд░рд┐рдПрдмрд▓ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЙрдкрдирд╛рдо рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд░реНрддрдорд╛рди рдлреНрд░реЗрдо рд╕реНрдЯреИрдХ рдореЗрдВ рдЪрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП po , p рдпрд╛ po рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИред


рдореБрдЭреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ v рдмреЗрд╣рддрд░ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдпрд╣ po рд▓рд┐рдП рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рдлреНрд░реЗрдо рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг:



рдЦреЗрд▓ рдХреЗ рдореИрджрд╛рди


рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рдЕрдиреБрднрд╛рдЧ! рдЖрдЗрдП рдмрдЧреНрд╕ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ:
рдЦреЗрд▓ рдХрд╛ рдореИрджрд╛рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

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

рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░


рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж:
рд╕рд┐рд░реА рд╡реЙрдЪрдУрдПрд╕ рдФрд░ рдЖрдИрдУрдПрд╕ рд╕рд┐рдореБрд▓реЗрдЯрд░ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

MacOS рдФрд░ рд╕рд┐рдореНрдпреБрд▓реЗрдЯреЗрдб iOS рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдкреЗрд╕реНрдЯрдмреЛрд░реНрдб рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛ рдЧрдпрд╛ рд╣реИред


рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИред

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


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

рдкрд░реАрдХреНрд╖рдг


  • xccov рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд░рд┐рдкреЛрд░реНрдЯ рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдХрдИ рдХреЛрдб рдХрд╡рд░реЗрдЬ рд░рд┐рдкреЛрд░реНрдЯ (рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░) рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдореА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдЧрд▓рддрд┐рдпрд╛рдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдХреНрд╖рдгреЛрдВ рдХреЗ рдмреАрдЪ, рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рддреЛ рд░рд┐рдкреЛрд░реНрдЯ рд╕рд╣реА рд╣реЛрдЧреАред
  • xccov рдЕрдм рд╡рд┐рднрд┐рдиреНрди Xcode рдХрд╡рд░реЗрдЬ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╡рд░реЗрдЬ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, before.xccovreport рдФрд░ after.xccovreport рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, xccov рдХрдорд╛рдВрдб рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреЙрд▓ рдХрд░реЗрдВ: xccov diff --json before.xccovreport after.xccovreport ред
  • рд╕реНрдереИрддрд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рдХреНрд╖реНрдп рдЕрдм рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╡рд░реЗрдЬ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ - рдХрд╡рд░реЗрдЬ рд╕рдВрдХреЗрддрдХреЛрдВ рдХреЗ рдЧреНрд░рд╛рдлрд╝ рд╕рднреА рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХрддреНрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдпрд╛ рдврд╛рдВрдЪрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рдЬрдм рд╕реНрдЯреИрдЯрд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдпрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рдХреНрд╖реНрдп рдХреА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рднреА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рддреА рд╣реИ, рднрд▓реЗ рд╣реА рд▓рдХреНрд╖реНрдп рдЖрд░реЗрдЦ рдореЗрдВ рдХреЛрдб рдХрд╡рд░реЗрдЬ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред


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

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░рдХрд░рдг рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХрдИ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ:

  • рд╕рдордиреНтАНрд╡рдпрди рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдХреНрд▓реЛрди рдкрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ;
  • Xcode рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ, рдкрд░реАрдХреНрд╖рдг рд╕рдорд╛рдВрддрд░ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЧрд▓рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред


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

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

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

рд╕рдорд╕реНрдпрд╛рдУрдВ


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

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

 $ xcrun simctl list devices --json | grep -A16 12.1   "com.apple.CoreSimulator.SimRuntime.iOS-12-1" : [     {       "availability" : "(unavailable, runtime profile not found)",       "state" : "Shutdown",       "isAvailable" : false,       "name" : "iPhone 5s",       "udid" : "DDD36346-A76F-42E8-80F4-6F11E1EE4BEB",       "availabilityError" : "runtime profile not found"     },     {       "availability" : "(unavailable, runtime profile not found)",       "state" : "Shutdown",       "isAvailable" : false,       "name" : "iPhone 6",       "udid" : "21794717-BC89-45E4-9F57-8CF9D14A87D1",       "availabilityError" : "runtime profile not found"     }, -- 

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

iOS 12.2 рдмреАрдЯрд╛


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


рдФрд░ Apple рдиреНрдпреВрдЬрд╝ рдЕрдм рдХрдирд╛рдбрд╛ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред

рд╕реНрд╡рд┐рдЪ рди рдХрд░реЗрдВред

macOS Mojave 10.14.4 рдмреАрдЯрд╛


рдпрд╣рд╛рдВ рдПрдХрдорд╛рддреНрд░ рдЕрджреНрдпрддрди рд╕рдлрд╛рд░реА 10.1.1 рд╕реЗ рдЙрдиреНрдирдпрди рдХреЗ рдмрд╛рдж рд╕рдлрд╛рд░реА 12.1 рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдореБрджреНрджрд╛ рд╣реИред
рд╕рдлрд╛рд░реА 10.1 рд╕реЗ рд╕рдлрд╛рд░реА 12.1 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╡реЗрдм рдкреЗрдЬ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред (47335741)

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб: рдЯрд╛рдЗрдк defaults delete com.apple.Safari рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ defaults delete com.apple.Safari рдХреЛ defaults delete com.apple.Safari ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде, рдЖрдк рдкрд┐рдЫрд▓реА рд╕рднреА рд╕рдлрд╛рд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЦреЛ рджреЗрдВрдЧреЗред

рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ


рд▓реЗрдЦ рдореЗрд░реА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдирд┐рдХрд▓рд╛ред рдЖрдкрдХреЛ рдореЗрд░реЗ рд╕рднреА рдирд┐рд╖реНрдХрд░реНрд╖ рдКрдкрд░ рдорд┐рд▓реЗрдВрдЧреЗред рдФрд░ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ - рд╕реНрд╡рд┐рдлреНрдЯ 5 рдЖ рдЧрдпрд╛ рд╣реИ!

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

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


All Articles