рднрд╛рдЧ 1. рдЕрдкрдирд╛ рдХреЛрдХреЛрдкреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢

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

рдкрд░рд┐рдЪрдп


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

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреЗрдЬ рдкрд░, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ "рдкреЙрдб" рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдорд╣рддреНрд╡рд╣реАрди рд░реВрдк рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред "рдлрд▓реА" рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдИ рдЧрдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
. тФЬтФАтФА Classes тФФтФАтФА ios тФФтФАтФА osx тФЬтФАтФА Resources тФЬтФАтФА Project тФФтФАтФА Podfile тФЬтФАтФА LICENSE тФЬтФАтФА Readme.markdown тФФтФАтФА NAME.podspec 

рдХреНрдпрд╛ рд╣реИ:


"рдкреЙрдб" рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ


рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирдореВрдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ GitHub рдкрд░ рд╣реИ ред
MyCustomPod рдЬреИрд╕реЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛рдПрдВред
рдЖрдЗрдП рдЕрдкрдиреА "рдкреЙрдб" рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ:
 $ mkdir ~/Documents/PodSample $ cd ~/Documents/PodSample $ git init $ git remote add origin https://github.com/username/MyCustomPod.git $ touch LICENSE $ git add LICENSE && git commit -m "License file" $ git push -u origin master $ mkdir Classes 

рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдгред
рд╣рдо рдПрдХ рд╕реНрдерд╛рдиреАрдп рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕реЗ GitHub рдореЗрдВ рдмрд╛рдБрдзрддреЗ рд╣реИрдВ, рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рд╕реНрдХреАрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ GutHub рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рднреЗрдЬреЗрдВред рд╣рдо рдХрдХреНрд╖рд╛рдПрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ "рдкреЙрдб" рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реНрд╡рдпрдВ рдЭреВрда рд╣реЛрдЧрд╛ред рд╣рдо рд╡рд░реНрдЧ / ios рдФрд░ рд╡рд░реНрдЧ / osx рдХреА рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдБ рдирд╣реАрдВ рдмрдирд╛рдПрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЕрднреА рддрдХ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо - рдЖрдИрдУрдПрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдПрдХ "рдХрд▓реНрдкрдирд╛" рдмрдирд╛рдПрдБ


рдФрд░ рдлрд┐рд░ рд╕реЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ред рдкреНрд░рддреНрдпреЗрдХ "рдкреЙрдб" рдХреЗ рдЕрдкрдиреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╣реЛрддреЗ рд╣реИрдВ - "рдпреБрдХреНрддрд┐", рдЬреЛ рдЗрд╕рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ: рдирд╛рдо, рд╕рдВрд╕реНрдХрд░рдг, рд▓рд╛рдЗрд╕реЗрдВрд╕, рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдирд┐рд░реНрднрд░рддрд╛, рдкреНрд░рдпреБрдХреНрдд рдлреНрд░реЗрдорд╡рд░реНрдХ, рдЕрдиреНрдп "рдкреЙрдбреНрд╕", рд╕реНрд░реЛрдд рднрдВрдбрд╛рд░, рдПрдЖрд░рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ, рдЖрджрд┐ред рдпрд╣ рд╕рдм NAME.podspec рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
.Podspec рдлрд╝рд╛рдЗрд▓ рдбреЗрд╡рд▓рдкрд░ "рдкреЙрдб" рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдФрд░ "рд╡рд┐рд╢реЗрд╖" рдПрд╕ рдХреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рднрдВрдбрд╛рд░ рдореЗрдВ рд░рдЦреА рдЧрдИ рд╣реИред рдПрдХ рдореБрдЦреНрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИ рдЬрд╣рд╛рдВ рд╕рднреА "рдкреЙрдбреНрд╕" рд╣реИрдВ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ "рд▓рд╛рдЗрд╡" рджреНрд╡рд╛рд░рд╛ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЦреНрдпрд╛рдд AFNetworking ред рдЖрдкрдХрд╛ рдЙрдкрдпреЛрдЧреА "рдкреЙрдб" рднреА рд╡рд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ "рд╕реНрдкреЗрдХреНрд╕" рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рднреА рд╣реИ, рдЬрд┐рд╕ рддрдХ рдкрд╣реБрдВрдЪ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╡рд┐рдирд┐рдпрдорд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред
рд▓реЗрдХрд┐рди рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд╛рдкрд╕ред рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдЕрдкрдирд╛ .podspec рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ:
 $ pod spec create MyLibrary 

рдирддреАрдЬрддрди, рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣рдореЗрдВ MyLibrary.podspec рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ "рдпреБрдХреНрддрд┐" рдЯреЗрдореНрдкрд▓реЗрдЯ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рдХреА рдкреГрд╖реНрда рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред

рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╣рдореЗрд╢рд╛ рд╕реИрдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд "рд╕рд░рд▓ рд╕реЗ рдЬрдЯрд┐рд▓" рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдХреИрдирди рд╕реЗ рджреВрд░ рдирд╣реАрдВ рднрд╛рдЧреЗрдВрдЧреЗред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рд╣рдо рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдирд╛рдордорд╛рддреНрд░ рд╕реЗрдЯ рдХрд░реЗрдВ:
 Pod::Spec.new do |s| s.name = "MyLibrary" s.version = "0.0.1" s.summary = "Example of creating own pod." s.homepage = "https://github.com/username/MyCustomPod" s.license = { :type => 'MIT', :file => 'LICENSE' } s.author = { "Username" => "username@mail.domain" } s.platform = :ios, '7.0' s.source = { :git => "https://github.com/username/MyCustomPod.git", :tag => s.version.to_s } s.source_files = 'Classes/*.{h,m}' s.public_header_files = 'Classes/*.h' s.framework = 'Foundation' s.requires_arc = true end 

рдЖрдЗрдП рдЙрди рд░реЗрдЦрд╛рдУрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдЯреАрдХ рд╕рдордЭ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:

рдпрджрд┐ рдЖрдкрдХреЛ рдХрдИ рд▓реЗрдЦрдХреЛрдВ рдпрд╛ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо рдХреЛ рдмрд╣реБрд╡рдЪрди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЗрдЦрдХ рдФрд░ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВред
рдпрджрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рддреЛ рдХрдХреНрд╖рд╛рдПрдВ / рдЖрдИрдУрдПрд╕ рдФрд░ рдХрдХреНрд╖рд╛рдПрдВ / рдУрдПрд╕рдПрдХреНрд╕ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рдиреЛрдВ рдХреЛ рд╕рд╣реА рдХрд░реЗрдВ:
  s.source_files = 'Classes/**/*.{h,m}' s.public_header_files = 'Classes/**/*.h' 

рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рд╣рдЯрд╛рдПрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝реЗрдВ:
  s.ios.deployment_target = '7.0' s.osx.deployment_target = '10.8' 


рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡реГрдХреНрд╖ "рдХрд▓реНрдкрдирд╛"


рд▓рд┐рдВрдХрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ .podspec рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛, рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐, рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рдиреЛрдВ рдХреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдФрд░ рд╣рдорд╛рд░реЗ "рдкреЙрдб" рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдПрдХ рддрдерд╛рдХрдерд┐рдд "рддреЗрдЬ" рд▓рд┐рдВрдХ рд╣реИ, рдЬрд╣рд╛рдВ .podspec рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдмрд╕ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ "рдкреЙрдб" рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рд╣рдо рдкрд░рд┐рдгрд╛рдореА MyLibrary.specpod рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ --quick рд╕реНрд╡рд┐рдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ "рдХреНрд╡рд┐рдХ" рд▓рд┐рдВрдХ рдХрд░рддреЗ рд╣реИрдВ:
 $ pod spec lint ~/Documents/PodSample/MyLibrary.podspec --quick 

рдЖрджрд░реНрд╢ рд░реВрдк рдореЗрдВ, рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
 $ pod spec lint ~/Documents/PodSample/MyLibrary.podspec --quick -> MyLibrary (0.0.1) Analyzed 1 podspec. MyLibrary.podspec passed validation. 

рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рддреНрд░реБрдЯрд┐ рдХреЛ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╕реБрдзрд╛рд░ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред

рдЕрдЧрд▓рд╛, рд╣рдорд╛рд░реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░реЗрдВ:
 $ git add MyLibrary.podspec && git commit -m "Completed podspec file" 

рд╕рдлрд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреБрдЫ рдЦрд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗ (рдЕрдиреНрдпрдерд╛ рд╣рдо рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрдЦреЗрдВрдЧреЗ - " ERROR | [iOS] The` source_files 'рдкреИрдЯрд░реНрди рдХрд┐рд╕реА рднреА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рдерд╛ред "):
 $ touch Classes/AKClass.m $ touch Classes/AKClass.h $ git add Classes/AKClass.* && git commit -m "Empty files for successful lint" 

рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЯреИрдЧ рдХреЛ рдиреАрдЪреЗ рд░рдЦреЗрдВ рдФрд░ GitHub рдкрд░ рд╣рдорд╛рд░реЗ "рдкреЙрдб" рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ:
 $ git tag "0.0.1" && git push origin master --tags 

Lintuem:
 $ pod spec lint ~/Documents/PodSample/MyLibrary.podspec 

рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдПрдХ рд╕рдорд╛рди рдЪрд┐рддреНрд░ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 $ pod spec lint ~/Documents/PodSample/MyLibrary.podspec -> MyLibrary (0.0.1) Analyzed 1 podspec. MyLibrary.podspec passed validation. 


рд╣реБрд░реНрд░реЗ! рд╣рдорд╛рд░рд╛ "рдкреЙрдб" рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВред
рдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛рдПред

рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ:
рднрд╛рдЧ 2. рд╣рдо рдЕрдкрдиреЗ "рдкреЙрдб" рдХреЛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рджреЗрд╢реА "рдкреЙрдб" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рднрд╛рдЧ 3. рдЙрд╕рдХрд╛ "рдкреЙрдб" рдкреНрд░рдХрд╛рд╢рдиред рд╕рд╛рдЭрд╛ рднрдВрдбрд╛рд░ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрддред

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


All Articles