2013-06-03 10 views
36

काम नहीं कर रहा कल्पना मैं इस कल्पना फ़ाइल के साथ एक सिंटैक्स त्रुटि हो रही है:Cocoapods निर्भरता

Pod::Spec.new do |s| 

s.name   = "BSImageLoader" 

s.version  = "0.1.3" 

s.summary  = "The image loading framework for PicPoc" 

s.homepage  = "https://bitbucket.org/boolalsofware/bsimageloader" 

s.license  = 'MIT' 

s.author  = { "Spencer Comerford" => "[email protected]" } 

s.source  = { :git => "[email protected]:boolalsofware/bsimageloader.git", :tag => "0.1.3" } 

s.source_files = 'Classes/*.{h,m}', 'Classes/PublicHeaders/*' 

s.public_header_files = 'Classes/PublicHeaders/*.h' 

s.dependency = 'BSTiledImageView', :git => '[email protected]:boolalsofware/bstiledimageview.git' 

s.frameworks = 'QuartzCore', 'AssetsLibrary', 'UIKit' 

s.requires_arc = true 

end 

समस्या निर्भरता जो एक bitbucket रेपो में अंक के साथ है। मुझे यह स्थानीय निर्भरताओं के साथ काम करने के लिए मिला है, लेकिन कुछ कारणों से गिट रेपो के साथ यह काम नहीं कर रहा है। किसी भी मदद के लिए धन्यवाद!

उत्तर

26

dependency पॉडस्पेक डीएसएल का निर्देश केवल निर्भरता का नाम और किसी भी वैकल्पिक संस्करण आवश्यकता का समर्थन करता है। :git विकल्प समर्थित नहीं है। आप इसे अपने पॉडफाइल में उपयोग कर सकते हैं या आप मास्टर रेपो के अतिरिक्त कस्टम प्राइवेट रेपो का उपयोग करना चाह सकते हैं।

+0

धन्यवाद! यह मुझे मार रहा था। मुझे लगता है कि आप इसका उपयोग करने में सक्षम थे: गिट और मुझे पता है कि मैं उपयोग करता था: मेरे पॉड चश्मे में स्थानीय। ऐसा लगता है कि कोकोपोड्स के पिछले कुछ संस्करणों में यह बदल गया है। एक समान नोट पर, क्या आप जानते हैं कि क्या आपको पॉड फ़ाइल के बिना पॉड स्पेक में निर्भरता हो सकती है? या आप एक .xcodeproj के बिना एक पॉड फ़ाइल बना सकते हैं? मदद के लिए एक बार फिर से धन्यवाद! – LunaCodeGirl

+0

आप इसका उपयोग नहीं कर सकते: एक पॉडस्पेक में अब गिट, केवल पॉडफाइल में। यह काम करता था, लेकिन यह एक कार्यान्वयन विस्तार था और कभी भी एक इरादा विशेषता नहीं थी। मुझे यकीन नहीं है कि यह डिजाइन का हिस्सा क्यों नहीं है। मुझे यह सुविधा भी पसंद आई। निम्न के लिए: स्थानीय, आप इसका उपयोग कर सकते हैं: ऐसा करने के लिए पथ जो आप करते थे: स्थानीय। –

+1

मुझे नहीं लगता कि आप पॉडस्पेक में निर्भरता के बिना एक पॉडस्पेक में निर्भरता प्राप्त कर सकते हैं। (और यह एक spec repo में होना चाहिए कि कोकोपोड्स के बारे में पता है। आप [एक निजी स्पेक रेपो बना सकते हैं] (http://i.ndigo.com.br/2012/04/using-cocoapods-for-in- घर-घटकों /) को प्राप्त करने के लिए कि अगर किसी कारण से आप मुख्य चश्मा रेपो में पॉडस्पेक प्रकाशित नहीं करना चाहते हैं।) मुझे लगता है कि आप एक एक्सकोड परियोजना के बिना एक कोकोपॉड बना सकते हैं। Podspec में सुनिश्चित करें कि आप 's.source_files =' **/* जैसे कुछ फ़ाइलों को शामिल करते हैं। {H, m} '' –

57

मुझे एक ही समस्या का सामना करना पड़ा है और पाया है कि another way to solve this problem in old manner (@eliperkins के लिए धन्यवाद) है।

मान लें कि आपके पास एक मुख्य परियोजना Downloader है, जो छोटी परियोजना Player का उपयोग करती है, जो माइक्रो प्रोजेक्ट FFMpegPlayer पर निर्भर करती है।

s.dependency = 'FFMpegPlayer', :git => '...FFMpegPlayer.git' or 
s.dependency = 'FFMpegPlayer', :local => '../FFMpegPlayer' 
s.dependency = 'FFMpegPlayer', :path => '../FFMpegPlayer' 
s.dependency = 'FFMpegPlayer', :podspec => '../FFMpegPlayer/FFMpegPlayer.podspec' 

लेकिन सभी कि फलियाँ के नवीनतम संस्करण के साथ काम नहीं करेगा और यह :local पता चला है एक के रूप में काम कर रहा था: तो क्या आप चाहते हैं कि आपके Player.podspec में निर्भरता के लिए, इस प्रकार दिखाई देगा कि है साइड इफेक्ट v0.17.1 तक। Downloader की Podfile (मुख्य परियोजना) में

s.dependency = 'FFMpegPlayer' (its ok if that spec does not exist in public) 

आप बस से पहलेPlayer फली FFMpegPlayerबारे में बताने की:

अब से आप Player.podspec में स्वच्छ निर्भरता निर्दिष्ट कर सकते हैं

pod 'FFMpegPlayer', :path => '../FFMpegPlayer' (micro project) 
pod 'Player', :path => '../Player' (small project which depends on FFMpegPlayer) 

इसलिए, मूल रूप से, आपके सभी सबपोड अब मुख्य पॉडफाइल में सूचीबद्ध हैं, जो कि पॉड्स संस्करणों के बीच कोई टकराव नहीं देता है।

+0

अरे रोमन .. इसके बारे में क्या: http://stackoverflow.com/q/19548890/1217298 –

+0

यह महत्वपूर्ण है कि: पथ की बाधा स्थानीय फली से पहले लागू होती है ...! – fatuhoku

+1

आपको बहुत बहुत धन्यवाद ... – Jakob

संबंधित मुद्दे