±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚ²©¿Í,±¾ÎÄÖ÷Òª½éÉÜÁËCocoaPodsµÄʹÓ÷½Ê½ºÍ¹¤×÷ÔÀí£¬Ï£Íû¶ÔÄúµÄѧϰÓаïÖú¡£ |
|
CocoaPodsÔÚCocoa¿ª·¢ÈÕ³£¹¤×÷Öо³£Óõ½µÄ°ü¹ÜÀíÆ÷£¬¼´ÒÀÀµ¹ÜÀí¹¤¾ß¡£ÓеÄÏîĿҲÓÐÓÃCarthageµÄ£¬CarthageÊÇÒ»¸ö±È½ÏеÄÒÀÀµ¹ÜÀí¹¤¾ß£¬ÊÇʹÓÃSwiftÓïÑÔ¿ª·¢µÄ¡£
CocoaPodsÊǸöÀÏÉú³£Ì¸µÄ»°Ìâ¡£
Ò»¡¢What is CocoaPods
Ê×ÏÈÀ´¿´Ò»ÏÂʲôÊÇCocoaPods, Ï·½ÊÇCocoaPods¹ÙÍøÉ϶ÔCocoaPodsµÄ½âÊÍ¡£
CocoaPods
is a dependency manager for Swift and Objective-C
Cocoa projects. It has over 45 thousand libraries
and is used in over 3 million apps. CocoaPods
can help you scale your projects elegantly. |
ÉÏÃæ´ó¸ÅÒâ˼ÊÇCocoaPodsÊÇSwiftºÍObjective-CÓïÑÔÖÐCocoaÏîÄ¿ÖÐÒÀÀµµÄ¹ÜÀí¹¤¾ß¡£ÆäÖк¸ÇÁË4.5Íò¸ö¿â£¬±»300Íò¸öAppʹÓá£CocoaPods¿ÉÒÔ°ïÖúÄãÓÅÑŵÄÀ©´ÓÄãµÄÏîÄ¿¡£
¼òµ¥µã¶ù˵CocoaPods¾ÍÊÇCocoa¹¤³ÌÖб»¹ã·ºÊ¹Óõİü¹ÜÀíÆ÷¡£
¶þ¡¢Install CocoaPods
¿´Íê½éÉÜ£¬½ÓÏÂÀ´¼òµ¥¿´Ò»ÏÂCocoaPodsµÄ°²×°¡£CocoaPodsµÄ±àÒëºÍÔËÐÐÐèÒªRuby»·¾³µÄÖ§³Ö¡£ÔÚOS
XÉÏÒѾĬÈϰ²×°ÁËRuby»·¾³£¬¹Ù·½ÍƼöʹÓÃĬÈϵÄRuby»·¾³¡£
¿ÉÒÔͨ¹ýÏ·½µÄÃüÁîÀ´°²×°CocoaPods¡£ÔÚ°²×°Ê±ÐèÌí¼ÓÉÏsudo, ʹÓÃϵͳȨÏÞÀ´½øÐа²×°¡£Ï·½µÄÃüÁîÒ²¿ÉÒÔÓÃÀ´¸üÐÂCocoaPods
°´ÕÕÃüÁsudo
gem install cocoapods
Ð¶ÔØÃüÁgem uninstall cocoapods |
ÒòΪÎҵı¾µØÖ®Ç°ÒѾ°²×°¹ýCocoaPods, Ï·½ÊǽøÐеĸ²¸Ç°²×°£¬Ò²Ï൱ÓÚ¸üÐÂÁË¡£¾ßÌåÈçÏÂËùʾ
Èý¡¢Get Started
°²×°ÍêCocoaPodsºó£¬À´¿´Ò»ÏÂCocaPodsµÄ¼òµ¥Ê¹Óá£ËäÈ»ÔÚ֮ǰµÄ²©¿ÍÖв»Ö¹Ò»´ÎµÄÓõ½CocoaPods,
µ«ÊÇÔÚ±¾Æª²©¿Í°²×°ÍêCocoaPodsºó£¬½ÓÏÂÀ´ÎÒÃÇÀ´¼òµ¥µÄ¸ÐÊÜÒ»ÏÂCocoaPodsµÄ¾ßÌåʹÓá£
1¡¢Create Podfile
ÔÚCocoaPods¹ÜÀíµÄ¹¤³ÌÖÐͨ¹ýÃûΪPodfileµÄÎı¾ÎļþÀ´ÃèÊöÏà¹ØµÄÒÀÀµÐÅÏ¢¡£Ï·½¾ÍÊÇÔÚÎÒÃÇÒÑÓеŤ³ÌÖд´½¨ÁËÒ»¸öPodfileÎļþ£¬½«Ï·½µÄÄÚÈÝÊäÈëµ½ÎļþÖС£ÔÚ¸ÃÎļþÖÐͨ¹ýpodÀ´ÒýÈëÏà¹ØµÄ²Ö¿â£¬ºó·½¸úµÄÊDzֿâµÄ°æ±¾ºÅ¡£Ï·½µÄuse_frameworks!Ôò±íÃ÷ÒÀÀµµÄ¿â±àÒëÉú³É.frameworkdsµÄ°ü£¬¶ø²»ÊÇ.aµÄ°ü¡£
platform
:ios, '9.0'
use_frameworks!
target 'CocoaPodsTestProject' do
pod 'AFNetworking', '~> 2.6'
end |
Ï·½¾ÍÊÇ´´½¨PodfileÎļþ£¬È»ºó½«ÉÏÊöµÄÄÚÈÝÊäÈëµ½¸ÃÎļþÖС£
ÉÏÃæµÄplatformÖ¸¶¨µÄ°æ±¾ÊÇ²Ö¿â¼æÈݵÄ×îС°æ±¾¡£targetÔòÖ¸¶¨µÄÊÇ×÷ÓÃÓÚ¹¤³ÌÖеÄÄǸöÄ¿±ê¡£podÔòÓÃÀ´Ö¸¶¨Ïà¹ØµÄ²Ö¿â¼°²Ö¿â°æ±¾¡£Ï·½ÊÇÏà¹Ø²Ö¿â°æ±¾µÄ¼¸ÖÖ³£¼ûµÄÖ¸¶¨·½Ê½£º
pod 'xxxx' : ºó·½Ã»ÓÐÖ¸¶¨°æ±¾£¬Ôò±íʾʹÓòֿâµÄ×îа汾¡£
pod 'xxxx', '2.3' : ʹÓÃxxxx²Ö¿âµÄ2.3°æ±¾¡£
pod 'xxxx', '~>2.3': Ôò±íʾʹÓõİ汾·¶Î§ÊÇ 2.3 <= °æ±¾ <
3.0¡£Èç¹ûºó·½Ö¸¶¨°æ±¾ÊÇ~>2.3.1, ÄÇôÔò±íʾʹÓõİ汾·¶Î§ÊÇ 2.3.1 <=
°æ±¾ < 2.4.0¡£
pod 'xxxx', '>2.3': ʹÓôóÓÚ2.3µÄ°æ±¾¡£
pod 'xxxx', '>=2.3': ʹÓÃ2.3¼°ÒÔÉϵİ汾¡£
pod 'xxxx', '<2.3': ʹÓÃСÓÚ2.3µÄ°æ±¾¡£
pod 'xxxx', '<=2.3': ʹÓÃСÓÚµÈÓÚ2.3µÄ°æ±¾¡£
³ýÁËÉÏÊöµÄ°æ±¾Ö¸¶¨·½Ê½£¬ÎÒÃÇ»¹¿ÉÒÔͨ¹ýÖ¸¶¨Ïà¹Ø´úÂë²Ö¿âµÄ·¾¶À´Ö¸¶¨Ïà¹ØµÄÒÀÀµ£¬±ÈÈçʹÓÃpathÀ´Ö¸¶¨±¾µØµÄÏà¹Ø²Ö¿â£¬Ê¹ÓÃgitÀ´Ö¸¶¨Ô¶¶ËµÄgit²Ö¿â¡£Ï·½Êdz£Óõļ¸ÖÖ·½Ê½£º
pod 'xxx', :path => '±¾µØ´úÂë²Ö¿âµÄ·¾¶/xxx.podspec'
#ʹÓø÷½Ê½¿ÉÒÔÖ¸¶¨±¾µØ´æÔÚµÄÒÀÀµÂ·¾¶(podspecÎļþÉÔºó»á½á½éÉܵ½)¡£
pod 'xxx', :git => 'git²Ö¿âµØÖ·' #¿ÉÒÔͨ¹ýgit²Ö¿âµØÖ·À´¼ÓÔØÏà¹ØÒÀÀµ¡£
pod 'xxx', :git => '±¾µØ´úÂë²Ö¿âµÄ·¾¶',
:tag => '2.2.2' :#ºó·½¿ÉÒÔ¸ú:tag²ÎÊýÀ´Ö¸¶¨Ïà¹ØµÄtagºÅ¡£µ±È»ºó±ß»¹¿ÉÒÔͨ¹ý:branch
=> '·ÖÖ§ºÅ'À´Ö¸¶¨ÒÀÀµÓÚij¸ö·ÖÖ§£¬Í¨¹ý:commit => 'commitºÅ'À´Ö¸¶¨ÄǸöÌá½»¡£
2¡¢Pod Install
ÅäÖÃÍêPodfileÎļþ£¬½ÓÏÂÀ´¾ÍÊǸÃÔÚÏà¹ØµÄ¹¤³ÌÖа²×°Ïà¹ØµÄÒÀÀµÁË¡£Ï·½Ê¹ÓÃÁËpod installÀ´°²×°Ïà¹ØµÄÒÀÀµ£¬Ê¹ÓÃpod
updateÀ´¸üÐÂÏà¹ØµÄÒÀÀµ¡£ÔÚ°²×°ÒÀÀµÊ±»áÌáʾ°²×°ÁËÄÄЩÒÀÀµµÄ¿â¡£ÒòΪCocoaPodsÔÚ°²×°ºó»áÐÞ¸ÄÎÒÃǵÄXcode¹¤³Ì£¬Éú³ÉÒ»¸ö¹¤×÷¿Õ¼ä£¬Õâ¸ö¹¤×÷¿Õ¼äÓÉÎÒÃǵÄProject¹¤³ÌºÍPods¹¤³Ì×é³É£¬ÎÒÃÇËùÒÀÀµµÄ²Ö¿â¾ÍλÓÚÕâ¸öPods¹¤³ÌÖУ¬ËùÒÔ°²×°Íê±ÏºóÌáʾҪͨ¹ýxxxx.xcworkspaceÎļþÀ´´ò¿ªÕû¸ö¹¤³Ì¡£pod
installÍê±Ïºó£¬ÎÒÃǻᷢÏÖÕû¸ö¹¤³ÌÖжàÁËһЩÎļþ£¬±ÈÈçxxxx.xcworkspace¡¢Pods¡¢Podfile.lockµÈ¡£ÎÒÃǾÍͨxxxx.xcworkspaceÀ´´ò¿ªÏà¹ØÎļþ£¬ÆäËûÎļþÉÔºó»á½éÉܵ½¡£
Ï·½¾ÍÊÇÎÒÃÇͨ¹ýopen CocoaPodsTestProject.xcworkspace´ò¿ªµÄÏà¹Ø¹¤³Ì¡£Ï·½µÄPodsÖоͰüÀ¨Ïà¹ØÒÀÀµµÄ²Ö¿â¡£ÎÒÃǾͿÉÒÔÔÚÎÒÃǵŤ³ÌÖÐÖ±½ÓÒýÈëʹÓÃËùÒÀÀµµÄ²Ö¿âÁË¡£ÉÏÃæÒ²Ìáµ½ÁË£¬°²×°ºó»áÉú³ÉÒ»¸ö¹¤×÷¿Õ¼äworkspace¡£¸Ãworkspace¾ÍÓÉÎÒÃÇÔÓеŤ³ÌºÍÐÂÔöµÄPods¹¤³Ì×é³É¡£Í¨¹ýCocoaPods¹ÜÀíµÄÒÀÀµ¿â¶¼»á·ÅÔÚÕâ¸öPods¹¤³ÌÖС£¾ßÌåÈçÏÂËùʾ£º
3¡¢Ëø°æÎļþ podfile.lock
ÉÏÃæ¼òµ¥µÄÌáÁËÒ»ÏÂpodfile.lockÎļþ¡£Õ¦°²×°Ö®Ç°ÎÒÃÇ´´½¨ÁËÒ»¸ö½Ð×ö podfile µÄÒÀÀµÏà¹ØµÄÃèÊöÎļþ¡£ÔÚpod
installºó»áÉú³ÉÒ»¸ö½Ð×öpodfile.lockµÄÎļþ¡£Ï·½½ØÍ¼ÖÐÊǸÃÎļþÖеÄÏà¹ØÄÚÈÝ¡£ÆäÖмǼÁËĿǰÒÀÀµµÄһЩ²Ö¿âÒÔ¼°Ò»Ð©°æ±¾£¬¸ÃÎļþµÄÄ¿µÄ¾ÍÊÇËø¶¨ÒÀÀµ²Ö¿â°æ±¾µÄ¡£¸Ã
podfile.lock ±¾ÖÊÉÏÊÇÓÃÀ´Ëø°æ±¾µÄ£¬ÎªÁ˱ÜÃâ°æ±¾²»Ò»ÖµÄÇé¿ö·¢Éú¡£
ÎÒÃÇÀ´¿´Ò»ÏÂÈç¹ûûÓÐPodfile.lockÎļþ£¬»á·¢ÉúʲôÇé¿ö¡£µ±ÔÚ podfile ÖÐÌí¼ÓÁËÏà¹ØÒÀÀµ²Ö¿â£¬µ«ÊÇûÓÐÌí¼ÓÏà¹ØµÄÒÀÀµ²Ö¿âµÄ°æ±¾£¬ÄÇôÔÚÿ´Î
pod insall ʱ¶¼»á°²×°¸Ã²Ö¿â×îеİ汾¡£µ±Ò»¸ö¹¤³ÌÓжà¸öÈË¿ª·¢Ê±£¬Aͬѧ ÔÚ Bͬѧ ֮ǰ½øÐеÄpod
install, ¶øÔÚAͬѧ°²×°ºóһЩ²Ö¿â½øÐÐÁ˸üУ¬ÄÇôÔÚ Bͬѧ °²×°²Ö¿âʱ¾Í»áѰÕÒÕâ¸ö×îеİ汾¡£ÄÇôÕâÖÖÇé¿öϾͻá³öÏÖͬһ¸ö¹¤³ÌÖÐËùÒÀÀµµÄ²Ö¿â°æ±¾²»Ò»ÖµÄÎÊÌ⡣ΪÁ˽â¾öÕâ¸ö°æ±¾²»Ò»ÖµÄÎÊÌ⣬ÓÚÊǺõ¾ÍÒýÈëÁËPodfile.lockÕâ¸öËù°æ±¾ÓõÄÎļþ¡£µ±È»ÔÚ¿ò¼ÜÖеİü¹ÜÀíÆ÷ÖÐÒ²ÊÇ´æÔÚÀàËÆµÄlockÎļþµÄ£¬±ÈÈç
node.js ÖеÄnpm°ü¹ÜÀíÆ÷¡£
ÒýÈë podfile.lock Îļþºó£¬ÉÏÃæµÄ°æ±¾²»Ò»ÖµÄÎÊÌâ¾ÍºÜºÃµÄ½â¾öÁË¡£ÔÚÊ×´Î pod install
ºó£¬»áÉú³ÉÒ»¸ö podfile.lock Îļþ£¬¸ÃÎļþÖлá¼Ç¼´Ë´Î install Ëù°²×°µÄ°æ±¾¡£µ±ÔٴνøÐÐ
pod installʱ£¬¶ÔÄÇЩûÓÐÖ¸¶¨°æ±¾µÄÒÀÀµ²Ö¿â»áʹÓÃpodfile.lock ÎļþÖмǼµÄ°æ±¾¡£Èç¹ûÔÚ
podfile ÖÐÖ¸¶¨ÁËÏà¹Ø°æ±¾£¬ÄÇô¾ÍÖ±½ÓÒýÓà podfile ÖÐÖ¸¶¨µÄ°æ±¾È»ºóÔÚ¸üРpodfile.lockÖмǼµÄ°æ±¾¼´¿É¡£
½ÓÏÂÀ´ÎÒÃÇͨ¹ý¾ßÌåʾÀýÀ´¿´Ò»Ï¸Ãpodfile.lockÎļþµÄ×÷Óá£ÎÒÃǽ«podfileÖеÄAFNetworkingµÄ°æ±¾ºÅ¸øÉ¾µô£¬È»ºóÔٴνøÐÐpod
install¡£´Ë¿Ì²¢²»»á°²×°×îеÄAF°æ±¾£¬ÒòΪÔÚpodfile.lockÖÐÒѾ¼Ç¼ÏÂÁ˵±Ç°Ê¹ÓõÄAF°æ±¾ÁË£¬ËùÒÔÔٴνøÐÐ
pod install ʱÈÔÈ»»á¼ÓÔØ podfile.lockÖмǼµÄ°æ±¾¡£
µ±È»Äã¿ÉÒÔʹÓÃpod updateÃüÁîÀ´½øÐиüУ¬Ê¹podfile.lockÖмǼµÄ°æ±¾½øÐиüС£µ±È»Ò²¿ÉÒÔÔÚpodfileÎļþÖÐÖ¸¶¨Ïà¹ØÒÀÀµ²Ö¿âµÄ°æ±¾£¬È»ºóÔÙÖ´ÐÐpod
installÀ´¸üÐÂÏà¹ØµÄ°æ±¾¡£¾ßÌåÈçÏÂËùʾ £º
ËÄ¡¢´´½¨²¢·¢²¼×Ô¼ºµÄ¿ªÔ´¿â
ÉÏÃæÈý¸ö²¿·Ö½éÉÜÁËÈçºÎÔÚ×Ô¼ºµÄÏîÄ¿Öа²×°ºÍʹÓÃCocoaPods£¬½ÓÏÂÀ´Õⲿ·Ö¾ÍÀ´½éÉÜÒ»ÏÂÈç¹û½«×Ô¼ºµÄ¿ªÔ´µÄ¿â½ÓÈëµ½CocoaPodsÖУ¬¿ÉÒÔÈÃÆäËûÈËÖ±½ÓÔÚPodfileÖÐÖ±½ÓÅäÖúó£¬pod
install¾Í¿ÉÒÔʹÓá£Ï·½ÊÇÕâһϵÁеIJÙ×÷¡£
1¡¢´´½¨×Ô¼ºµÄ¿ªÔ´²Ö¿â
Ï·½ÒÔGithubΪÀý£¬Ê×ÏÈÎÒÃÇÔÚGithubÉÏ´´½¨ÁËÒ»¸öеIJֿâÓÃÀ´ÈÝÄÉÎÒÃÇÒª¿ªÔ´µÄ´úÂë¡£ÈçÏÂËùʾ£º
ÔÚNew Repositoryʱ£¬ Ñ¡Ôñ´´½¨¹«¹²²Ö¿â£¬È»ºó¹´Ñ¡ÉÏ´´½¨README£¬×îºó±ðÍüÁ˲¢Ñ¡Ôñ¿ªÔ´ÐÒé¡£´Ë´¦ÎÒÃÇÑ¡ÔñµÄÊÇMITÐÒ飬Ï·½»á¶ÔGithubÉÏÖ§³ÖµÄ¿ªÔ´ÐÒé½øÐнéÉÜ¡£
2¡¢Ö÷Á÷¿ªÔ´ÐÒé½éÉÜ
GithubÖÐÖ§³ÖÁËÖ÷Á÷µÄ¼¸ÖÖ¿ªÔ´ÐÒ飬È磺Apache¡¢GPL¡¢MIT¡¢BSD¡¢MozillaµÈÏ·½ÂÞÁÐÁËGithubÉÏÖ§³ÖµÄ¿ªÔ´ÐÒ飬¾ßÌå½éÉÜÈçÏ£º
Apache License 2.0 £ºApache LicenceÊÇÖøÃûµÄ·ÇÓ¯Àû¿ªÔ´×éÖ¯Apache²ÉÓõÄÐÒé¡£¼òµ¥µÄ˵£¬×ñѸÃÐÒé±êÖ¾×Å×Ô¼ºÏ£Íû×Ô¼ºµÄרÀûÄÜÔÚ¿ªÔ´Ãâ·ÑʹÓõÄͬʱ£¬±£Áô×Ô¼ºÔÚ¿ªÔ´²úÆ·ÖеÄרÀûÈ¨Òæ¡£Í¬Ñù£¬¸ÃÐÒéÒªÇóʹÓÃÕß±ØÐë±£ÁôÄãµÄ°æÈ¨ÐÅÏ¢¡£
MIT License £¨ÂéÊ¡Àí¹¤Ñ§ÔºÐí¿ÉÖ¤£© £º Ò»¸ö¼ò¶Ì¡¢¿íËÉ¡¢×ÔÓɵÄÐÒé¡£¸ÃÐÒéÔÊÐíÈËÃÇʹÓÃÄãµÄ´úÂ룬µ«±ØÐëÒª±£ÁôÄãµÄ°æÈ¨ÐÅÏ¢¡£Óë´Ëͬʱ£¬²¢²»»á¸øÄã´øÀ´ÈκÎÔðÈκͷçÏÕ¡£
BSD£¨Berkly Software Distribution£© £º Ò²ÊÇÒ»¸ö±È½Ï¿í·º×ÔÓɵÄÐÒ飬¸ÃÐÒéÔÊÐíÆäËûÈËÐ޸ĴúÂ룬²¢½øÐжþ´Î·¢²¼£¬²¢ÇÒ¿ÉÒÔÓÃÓÚÉÌÒµ»î¶¯¡£µ«ÊÇÒª±£ÁôÔÓдúÂëµÄBSDÐÒ飬²¢ÇÒ²»ÄÜÒÔÔ×÷Õß»òÕß»ú¹¹µÄÃû×ÖÀ´×öÊг¡Íƹ㡣£¨Unix£©
BSD 2-Clause "Simplified" License : ¼ò»¯°æ±¾µÄBSDÐÒé,
Ð޸İ汾±ØÐë±£³ÖÆäÔʼ°æÈ¨ÉùÃ÷¡£
BSD 3-Clause "New" or "Revised"
License : еĻòÕß¾¹ýÖØÐÂÐÞ¶©µÄBSDÐÒé, Ð޸İ汾±ØÐë±£³ÖÆäÔʼ°æÈ¨ÉùÃ÷¡£Î´¾Ðí¿É²»µÃʹÓÃÔ×÷Õß»ò¹«Ë¾µÄÃû×Ö×öÐû´«¡£
GPL (GNU General Public License -
GNUͨÓù«¹²Ðí¿ÉÐÒé) : Èç¹ûÄãÏ£Íû±ðÈËÔÚ·ÖÏíµÄ×Ô¼ºµÄ×÷Æ·Ö®ºó£¬Ò²±ØÐë×ñÑÏàͬµÄÐÒ飬Ҳ±ØÐëÊÇ¿ªÔ´ºÍÃâ·Ñ£¬ÄÇô¾ÍÑ¡ÔñGPLÐÒé¡£Ò²¾ÍÊÇ˵ֻҪÄãÓÃÁËÈκθÃÐÒéµÄ¿â¡¢ÉõÖÁÊÇÒ»¶Î´úÂ룬ÄÇôÄãµÄÕû¸ö³ÌÐò£¬²»¹ÜÒÔºÎÖÖ·½Ê½Á´½Ó£¬¶¼±ØÐëÈ«²¿Ê¹ÓÃGPLÐÒé¡¢²¢×ñѸÃÐÒ鿪Դ¡£ÉÌÒµÈí¼þ¹«Ë¾Ò»°ã½ûÓÃGPL´úÂ룬µ«¿ÉÒÔʹÓÃGPLµÄ¿ÉÖ´ÐÐÎļþºÍÓ¦ÓóÌÐò¡£
GNU Affero General Public License v2.0 : AfferoͨÓù«¹²Ðí¿É£¬»ùÓÚGPLµÄÀ©³ä¡£¼´Affero
GPL£¬ÊÇGPLµÄ¸üÑϸñ°æ±¾¡£Ö»ÒªÄãÓÃÁËÈκθÃÐÒéµÄ¿â¡¢ÉõÖÁÊÇÒ»¶Î´úÂ룬ÄÇôÔËÐÐʱºÍËüÏà¹ØµÄËùÓÐÈí¼þ¡¢°üÀ¨Í¨¹ýÍøÂçÁªÏµµÄËùÓÐÈí¼þ£¬±ØÐëÈ«²¿×ñѸÃÐÒ鿪Դ¡£¾ÝÂÉʦ˵£¬ËüµÄÒªÇó·¶Î§Á¬Ó²¼þ¶¼°üÀ¨¡£ËùÒÔ£¬Ò»°ã¹«Ë¾Í¨³£½ûÓÃÈκÎAGPL´úÂë¡£
LGPL : GNU Lesser General Public
License - GNU¿íËɵÄͨÓù«¹²Ðí¿ÉÐÒ飬¾ÍÊÇGPLÕë¶Ô¶¯Ì¬Á´½Ó¿â·ÅËÉÒªÇóÁ˵İ汾£¬¼´ÔÊÐí·ÇLGPLµÄ´úÂ붯̬Á´½Óµ½LGPLµÄÄ£¿é¡£×¢Ò⣺²»¿ÉÒÔ¾²Ì¬Á´½Ó£¬·ñÔòÄãµÄ´úÂëÒ²±ØÐëÓÃLGPLÐÒ鿪Դ¡£Mozilla
Public License 2.0 : MPL - Ð޸İ汾±ØÐë±£³ÖÆäÔʼ°æÈ¨ÉùÃ÷¡£Èç¹û·¢²¼Á˱àÒëºóµÄ¿ÉÖ´ÐÐÎļþ£¬ÄÇô±ØÐëÈöԷ½¿ÉÒÔÈ¡µÃMPLÐÒéϳÌÐòµÄÔ´Âë¡£
The Unlicense : ÔÚÐí¶à¹ú¼Ò£¬Ä¬ÈϰæÈ¨¹é×÷Õß×Ô¶¯ÓµÓУ¬ËùÒÔUnlicenseÐÒéÌṩÁËÒ»ÖÖͨÓõÄÄ£°å£¬´ËÐÒé±íÃ÷Äã·ÅÆú°æÈ¨£¬½«ÀͶ¯³É¹ûÎÞ˽¹±Ï׳öÀ´¡£Ä㽫ɥʧ¶Ô×÷Æ·µÄÈ«²¿È¨Àû£¬°üÀ¨ÔÚMIT/X11Öж¨ÒåµÄÎÞµ£±£È¨Àû¡£
Eclipse Public License 2.0 : EPLÓÉEclipse»ù½ð»áÓ¦ÓÃÓÚÃûÏµļ¯³É¿ª·¢»·¾³EclipseÉÏ£¬
ÉÌÒµÈí¼þ¿ÉÒÔʹÓã¬Ò²¿ÉÒÔÐÞ¸ÄEPLÐÒéµÄ´úÂ룬µ«Òª³Ðµ£´úÂë²úÉúµÄÇÖȨÔðÈΡ£
3¡¢ÈçºÎȥѡÔñÄãµÄ¿ªÔ´ÐÒé
ÏÂͼÊÇ´ÓÍøÉÏÄùýÀ´µÄ£¬¿ÉÒÔ¸ù¾ÝÏ·½µÄ¾ßÌåÇé¿öÀ´Ñ¡ÔñÏà¹ØµÄ¿ªÔ´ÐÒé¡£
4¡¢ÅäÖÃpodspecÎļþ²¢·¢²¼×Ô¼ºµÄÔ´´úÂë
(1) ´´½¨ podsepcÎļþ
ÑÔ¹éÕý´«£¬ÔÚGithubÉÏ´´½¨ºÃÏà¹ØµÄ¹¤³Ì²¢Ñ¡ºÃÏà¹ØµÄ¿ªÔ´ÐÒéºó£¬½«¹¤³ÌCloneµ½±¾µØ£¬Ìí¼ÓÉÏ×Ô¼ºÒª¿ªÔ´µÄ´úÂ룬ȻºóÔڸù¤³ÌÖд´½¨podspecÎļþ¡£¿ÉÒÔͨ¹ý
pod spec create ÃüÁîÀ´´´½¨Ïà¹ØµÄpodsepcÎļþ¡£
pod sepc create PodspecFileName
Ï·½ÊǾßÌåµÄ²Ù×÷£º
È»ºó¶Ô´´½¨ºÃµÄpodspecÎļþ½øÐб༣¬Ìí¼ÓÉÏ¿ªÔ´¿âµÄ¹¤³ÌÃû³Æ¡¢°æ±¾¡¢ÃèÊö¡¢¿ªÔ´ÐÒé¡¢×÷Õß¡¢Æ½Ì¨¡¢Ô´´úÂëµÈµÈ¡£¾ßÌåÿÏîµÄÅäÖÃCocoaPods¹ÙÍøÉÏÓÐ˵Ã÷Îĵµ£¬¿ÉÒÔÈ¥×Ðϸ·ÔÄ¡£
(2)¡¢´´½¨tagºÅ²¢pushµ½Ô¶¶Ë
ÅäÖúÃpodsepcÎļþºó£¬½Ó×Å´´½¨Ò»¸ötagºÅ£¬Õâ¸ötagºÃÒªÓëpodspecÖеÄversionÏà¶ÔÓ¦¡£´´½¨ÍêtagºÅºó£¬²»ÒªÍü¼Çpushµ½Ô¶¶Ë¡£tagºÅpushµ½Ô¶¶Ëºó£¬ÎÒÃÇ¿ÉÒÔͨ¹ý
pod spec lint xxxx.podspec À´²âÊÔÒ»ÏÂÎÒÃÇÅäÖõÄpodspecÊÇ·ñÕýÈ·¡£¾ßÌå²Ù×÷ÈçÏÂËùʾ¡£
(3)¡¢²âÊԺʹ´½¨CocoaPodsÕ˺Å
ÍùCocoaPodsÉϼ¯³É¿ªÔ´¿â£¬ÐèÒªÏà¹ØµÄCocoaPodsÕ˺š£ÎÒÃÇ¿ÉÒÔͨ¹ý pod trunk
meÀ´²é¿´Õ˺ÅÊÇ·ñ´æÔÚ¡£Èç¹û²»´æÔÚ»áÌáʾÄã½øÐÐ×¢²á²¢ÇÒ½øÐÐÏà¹ØÈÏÖ¤¡£Ï·½¾ÍʹÓÃÁËÒ»¸öΪע²á¹ýµÄÕ˺ŽøÐÐ
trunk¡£È»ºó½øÐÐÁËÏà¹ØÕ˺ŵÄ×¢²áºÍ¼¤»î
×¢²áÍêºó£¬ÐèÒª½øÈëÓÊÏä½øÐÐÕ˺ŵļ¤»î¡£
ÔٴνøÐÐtrunk me²âÊÔ
(4)¡¢·¢²¼
Git²Ö¿âÅäÖÃÒѾÕ˺Å×¢²áÍê±Ïºó£¬½ÓÏÂÀ´¾Í¿ªÊ¼ÍùCocoaPodsÉÏ·¢²¼×Ô¼ºµÄ²Ö¿âÁË¡£ÎÒÃÇ¿ÉÒÔͨ¹ý
pod trunk push xxxxx.podspce ½«podspecÎļþ·¢²¼µ½CocoaPodsµÄSpec²Ö¿âÖС£Íê³ÉÕâÒ»²Ù×÷£¬¾ÍÍê³ÉµÄÎÒÃDzֿâµÄ·¢²¼ÁË¡£
(5)¡¢²Ö¿âÒýÓÃ
·¢²¼Íê±ÏºóÎÒÃÇ¿ÉÒÔͨ¹ý pod search À´½øÐÐËÑË÷ÎÒÃÇ·¢²¼µÄ¿â¡£ÈçÏÂËùʾ£¬¿ÉÒÔÕý³£Ëѵ½¡£·¢²¼Íê±ÏºóÎÒÃǾͿÉÒÔÕý³£µÄÔÚPodfileÖнøÐÐÅäÖá¢È»ºó
pod install½øÐа²×°ÒýÓÃÁË£¬¾ßÌåÒýÓò½ÖèºÍÆäËûÈý·½¿âÒ»Ñù£¬Ôڴ˾Ͳ»×ö¹ý¶à׸ÊöÁË¡£
Îå¡¢CocoaPodsµÄSpecs²Ö¿â¼´Ô´Âë¼ÓÔØÂ·¾¶
½ÓÏÂÀ´ÎÒÃÇÀ´¿´Ò»ÏÂCocoaPodsµÄSpecs²Ö¿â£¬È»ºóÔÚSpecs²Ö¿âµÄ»ù´¡ÉÏÔÚ¿´Ò»ÏÂCocoaPodsÊÇÈçºÎͨ¹ýÎÒÃǹ¤³ÌÖÐËùÌṩµÄProfileÎļþÀ´¼ÓÔØÈý·½ÒÀÀµ²Ö¿âµÄ¡£
1¡¢Specs²Ö¿â
ÉÏÃæÔÚ·¢²¼ÎÒÃÇ¿ªÔ´´úÂëʱҳÌáµ½¹ý£¬Êǽ«ÎÒÃÇ´´½¨ºÍÅäÖõÄxxxx.podspecÎļþ·¢²¼µ½ CocoaPodsµÄSpecs²Ö¿â£¨https://github.com/CocoaPods/Specs.git£©¡£Specs²Ö¿âÖоʹæ·Åן÷¸ö¿ªÔ´¿âµÄ¸÷¸ö°æ±¾µÄpodspecÎļþ¡£
Ï·½¾ÍÊÇGithubÉÏCocoaPodsµÄSpecs²Ö¿â¡£¸ù¾Ý¸Ã²Ö¿âµÄREADMEÖеÄÐÅÏ¢£¬ÎÒÃÇ¿ÉÒÔ¿´³ö¸Ã²Ö¿âÖд洢µÄÊÇËùÓпÉÒÔÓÃpod
µ¼ÈëµÄ¹«ÓвֿâµÄrelease°æ±¾µÄpodspecÎļþ¡£ÕâЩ¹«¿ªµÄ²Ö¿â±ØÐë×ñÑMITÐÒéµÄ¡£¾ßÌåÈçÏÂËùʾ£º
Ï·½¾ÍÊÇÎÒÃÇ´ÓCocoaPodsÖеÄSpecs²Ö¿âÀï±ßÕÒµ½µÄÉÏÃæÎÒÃÇ·¢²¼µÄ²âÊÔ¹¤³Ì¡£ÔÚÎÒÃǹ¤³ÌµÄÎļþ¼Ð϶ÔÓ¦µÄÊÇÒ»¸ö¸ö°æ±¾£¨git²Ö¿âµÄtagºÅ£©£¬Ã¿¸ötagºÅÏ·½¶ÔÓ¦µÄ¾ÍÊǸð汾µÄpodspecÎļþ¡£ÎÒÃÇÔÚ·¢²¼ÎÒÃǵŤ³Ìµ½CocoaPodsµÄʱ£¬±¾ÖÊÉÏÊǸù¾ÝÎÒÃǵŤ³ÌÃû³Æ´´½¨Ïà¹ØµÄÎļþ¼Ð£¬È»ºó¸ù¾ÝÎÒÃǵÄtagºÅ´´½¨×ÓÎļþ¼Ð£¬È»ºóÔÚ×ÓÎļþ¼ÐÖÐÉÏ´«µ±Ç°°æ±¾Ëù¶ÔÓ¦µÄpodspecÎļþ¡£
2¡¢Èý·½ÒÀÀµµÄ¼ÓÔØÂ·¾¶
¿´ÍêSpecs²Ö¿âÀï±ßµÄÄÚÈݺ󣬽ÓÏÂÀ´ÎÒÃÇÀ´¿´Ò»ÏÂÎÒÃÇCocoaPodsÊÇÈçºÎͨ¹ýÎÒÃǹ¤³ÌÖеÄPodfileÎļþÀ´¼ÓÔØÏà¹ØµÄÈý·½ÒÀÀµ¿âµÄ¡£
Ê×ÏÈÎÒÃÇÀ´¿´Ò»ÏÂPodfileÖеĻù±¾½á¹¹¡£ÔÚPodfileÎļþÖУ¬ÆäÖÐµÄ source ²ÎÊý¾ÍÊÇÓÃÀ´Ö¸¶¨ÒÀÀµ²Ö¿âËù¶ÔÓ¦µÄSpecs²Ö¿âµÄ£¬
sourceµÄĬÈϵØÖ·¾ÍÊÇCocoaPodsµÄ Specs ²Ö¿â¡£Èç¹ûÎÒÃÇÓÐ×Ô¼ºµÄ˽ÓÐ Specs
²Ö¿â£¬Ò²¿ÉÒÔÖ¸¶¨ÎÒÃÇ×Ô¼ºµÄSpecs²Ö¿âµØÖ·¡£
ÔÚPodfileÖпÉÒÔÖ¸¶¨¶à¸ö Specs ²Ö¿âµÄµØÖ·£¬ÉÔºóÎÒÃǻᴴ½¨ÎÒÃÇ×Ô¼ºµÄSpecs²Ö¿â£¬È»ºóÔÚ¸ÃSpecs²Ö¿âÖÐÉϴη¢²¼ÎÒÃÇ×Ô¼ºÊ¹ÓõÄÒÀÀµ¿â¡£
Ï·½ÊÇCocoaPodsÖмÓÔØÒÀÀµ²Ö¿â´úÂëµÄ·¾¶£¬¸ù¾Ý×Ô¼ºµÄÀí½â£¬Ñ°ÕÒÔ´Âë·¾¶´óÌåÉÏ·ÖΪÏ·½¼¸¸ö²½Ö裺
ͨ¹ýPodfileÕâ¸ö source Ö¸¶¨µÄSpecs²Ö¿âµÄµØÖ·£¬ÎÒÃǾͿÉÒÔÕÒµ½Ïà¹ØµÄSpecs²Ö¿â¡£
ÕÒµ½Specs²Ö¿âºó£¬ÔÙ¸ù¾Ý Podfile ÖÐËùÌṩµÄ²Ö¿âÒÀÀµÅäÖ㨱ÈÈç pod 'AFNetWorkiing',
~>'2.6.3'£©£¬ÕÒµ½Ö¸¶¨µÄÒÀÀµ²Ö¿âºÍÏà¹ØµÄ°æ±¾¡£
È»ºóÕÒµ½¸Ã°æ±¾Ëù¶ÔÓ¦µÄ xxx.podspec Îļþ¡£
È»ºóÔÙ¸ù¾Ý xxx.podsepce ÎļþÖеÄÏà¹ØÅäÖÃÐÅÏ¢ÕÒµ½¸Ã²Ö¿âËù¶ÔÓ¦µÄÔ´ÂëµÄgitµØÖ·¡£
×îºó¸ù¾ÝÔ´ÂëµÄgitµØÖ·¼ÓÔØÈý·½²Ö¿âµ½Pods¹¤³ÌÖÐͳһ¹ÜÀí¡£
Ï·½ÊǸù¾ÝÉÏ·½µÄ²½ÖèËù»µÄ¼òͼ¡£CocoaPodsÕæÕýµÄ¹¤×÷Ó¦¸Ã±ÈÏ·½Òª¸´ÔӵĶ࣬
Áù¡¢´´½¨Ë½ÓеÄSpecs²Ö¿â
ÉÏÃæ¿´Íê CocoaPods ²Ö¿âµÄ Specs Îļþºó£¬½ÓÏÂÀ´ÎÒÃÇÀ´¿´Ò»ÏÂÈçºÎ´´½¨Ë½ÓÐµÄ Specs
²Ö¿â¡£µ±ÎÒÃǵŤ³Ì±È½Ï´óʱ£¬ÓÈÆäÊÇʹÓÃÄ£¿é»¯¿ª·¢ÊÇ£¬ÎÒÃǵŤ³Ì»áÒÀÀµºÃ¶àÆäËûµÄ²Ö¿â¡£´´½¨Ë½ÓеÄSpecs²Ö¿âÀ´¹ÜÀí˽ÓеÄÒÀÀµ²Ö¿âÊǺÜÓбØÒªµÄ¡£½ÓÏÂÀ´¾Í½éÉÜÒ»ÏÂÈçºÎ´´½¨Ë½ÓеÄSepcs²Ö¿â£¬È»ºó°ÑÎÒÃÇ˽ÓеÄÒÀÀµ¿â·¢²¼µ½ÎÒÃÇ×Ô¼ºµÄSpecs²Ö¿âÖС£
Ï·½ÒÔGithubΪÀý£¬»áÔÚGithubÉÏ´´½¨Ïà¹ØµÄSpecs
1¡¢´´½¨Ë½ÓÐSpecs Repo
Ê×ÏÈÎÒÃÇÐèÒª×öµÄÊÇÔÚGithubÉÏ´´½¨Ò»¸öÃûΪSpecsµÄ²Ö¿â£¨¸Ã²Ö¿âµÄÃû×Ö¿ÉÒÔ¸ù¾Ý¾ßÌåÇé¿öÃüÃû£©¡£È»ºóÔÚ±¾µØ¹ØÁª¸ÃSpecs²Ö¿âµ½PodµÄ²Ö¿âÖС£
pod
repo add SpecsName SpecsGitAddr |
Ìí¼ÓÍê±ÏºóÎÒÃÇ¿ÉʹÓà pod repo ÃüÁîÀ´²é¿´¸Ã²Ö¿âÊÇ·ñÕý³£Ìí¼Óµ½CocoaPodsÖС£
ÎÒ¿´¿ÉÒÔÓÃÏ·½ÃüÁîÀ´¿´Ò»Ï¸ÃSpecs²Ö¿âÊÇ·ñ¿ÉÓãº
pod
repo lint xxxxSpecsName |
2¡¢½«Ë½ÓÐÒÀÀµ¿â¹¤²¼µ½×Ô¼ºµÄSpecs²Ö¿âÖÐ
¾¹ýµÚÒ»²½¾ÍËã´´½¨²¢¹ØÁªºÃÁËÎÒÃÇ˽ÓеÄSpecs²Ö¿âÁË£¬½ÓÏÂÀ´ÎÒÃǾ͸ý«Ë½ÓеÄÒÀÀµ²Ö¿â·¢²¼µ½ÎÒÃÇ×Ô¼ºµÄSpecs²Ö¿âÖÐÁË¡£ÕâÒ»·¢²¼µÄ¹ý³ÌÓë֮ǰÎÒÃǽ«¹¤³Ì·¢²¼µ½CocoaPodsµÄSpecs²Ö¿âÖÐÊÇÒ»Öµġ£Ö»²»¹ýÊǽ«CocoaPodsµÄSpecsÃû³Æ»»³ÉÁËÉÏÃæÎÒÃÇÅäÖõÄMyCustomSpecÃû³Æ¡£¾ßÌåÈçÏÂËùʾ£º
pod
repo push XxxSpecs xxxx.podspec |
·¢²¼ÍêÒÔºó£¬ÎÒÃÇ¿ÉÒÔÈ¥±¾µØ»¹ÓÐÔ¶¶ËµÄSpecs²Ö¿âÖÐÈ¥²é¿´·¢²¼µÄÏà¹Ø²Ö¿âµÄÐÅÏ¢£¬Ï·½ÊÇÎÒÃDZ¾µØµÄ²Ö¿âÐÅÏ¢¡£¿ÉÒÔ¿´³öÔÚpushÍê±Ïºó£¬ÔÚcocoapodsµÄreposÎļþ¼ÐϵÄMyCustomSpecÎļþÖжàÁËÒ»¸öMyCocoaPodsTestProject
Îļþ¼Ð£¬¸ÃÎļþ¼ÐÏ´æ·ÅµÄ¾ÍÊǸÃÒÀÀµ¿âÖеİ汾ÐÅÏ¢ºÍ¸÷¸ö°æ±¾µÄ podspec Îļþ¡£
ÎÒÃÇÒ²¿ÉÒÔ´ÓgithubÀ´²é¿´·¢²¼µÄÒÀÀµ¿âµÄÏà¹ØÐÅÏ¢£¬ÈçÏÂËùʾ¡£¸Ã½á¹¹ÓëCocoaPodsµÄSpecs²Ö¿âʱ²î²»¶àµÄ¡£
3¡¢ÒýÈë˽Óвֿâ
ÒÀÀµ²Ö¿â push Íê±Ïºó£¬½ÓÏÂÀ´¾Í¸ÃÕý³£Ê¹ÓÃÏà¹ØµÄÒÀÀµ²Ö¿âÁË¡£²»¹ýʹÓÃʱÔÚPodfileÖÐÒªÖ¸¶¨Ïà¹ØPodspecµÄµØÖ·£¬ÅäÖÃÍê±Ïºó¾Í¿ÉÒÔpod
installÖ±½ÓʹÓÃÁË¡£
|