2014-06-12 9 views
5

हाय अपने प्रोजेक्ट फ़ोल्डर इस तरह संरचित है:इस परियोजना संरचना के लिए cocoapod podspec और podfile को कॉन्फ़िगर कैसे करें?

+ Podfile 
+ Apps/ 
    | 
    + Apps.xcodeproj 
    | 
    + Target1/ 
    | 
    + Target2/ 

+ AppLib/ 
    | 
    + AppLib.podspec 
    | 
    + AppLib.xcodeproj 
    | 
    + TargetLib1/ 
    | 
    + TargetLib2/ 

इस तरह मेरे निर्भरता संरचना

Apps - निर्भर ->AppLib

AppLib - निर्भर ->RestKit और MagicalRecord

यहां बताया गया है कि मैं अपने पॉडफ़ाइल को कॉन्फ़िगर कैसे करता हूं

workspace 'MyApp' 
xcodeproj 'Apps/Apps' 
xcodeproj 'AppLib/AppLib' 


def import_pods 
    pod 'AppLib', :path => './AppLib' 
end 

target 'Target1' do 
    platform :ios, '7.0' 
    import_pods 
    xcodeproj 'Apps/Apps' 
end 

target 'Target1' do 
    platform :ios, '7.0' 
    import_pods 
    xcodeproj 'Apps/Apps' 
end 

और यहाँ AppLib.podspec है:

Pod::Spec.new do |s| 

    s.name   = "AppLib" 
    s.version  = "0.0.1" 
    s.summary  = "Common library." 
    s.platform  = :ios, "7.0" 
    s.source_files = "Lib/Public/**/*.{h,m}" 
    s.ios.deployment_target = '7.0' 
    s.resources = "Lib/Nibs/**/*.xib" 
    s.requires_arc = true 
    s.dependency 'RestKit', '~> 0.23' 
    s.dependency 'MagicalRecord' 
end 
रूट फ़ोल्डर पर

(फ़ोल्डर Podfile शामिल हैं) समस्या लेकिन जब मैं आयात RestKit #import "RestKit.h" या #import <RestKit/RestKit.h> मेरी AppLibs परियोजना में बिना pod install रन xcode का कहना है कि फ़ाइल नहीं मिली

क्या मेरे पॉडफ़ाइल और पॉडस्पेक सही हैं? क्यों xcode दावा है कि RestKit.h नहीं मिला है?

यदि मैं अलग-अलग ऐपलिब्स बनाना चाहता हूं, तो सभी निर्भरताओं को कैसे खींचें? (pod install .podspec फ़ाइल के साथ काम नहीं करता है) क्या मुझे AppLib फ़ोल्डर में एक और पॉडफ़ाइल बनाने की आवश्यकता है?

+0

आप अपने पॉडस्पेक में "हेडर" अनुभाग जोड़ने का प्रयास कर सकते हैं और वहां RestKit और MagicalRecord शीर्षलेख निर्दिष्ट कर सकते हैं। हालांकि मुझे लगता है कि कोकोपोड को स्वयं ही इसे संभालना चाहिए –

उत्तर

0

खैर, अपने लक्ष्यों थे

  1. lib बनाया गया है और अलग से भेज दिया
  2. दोनों एप्लिकेशन और CocoaPods
  3. संभव
  4. उपयोग lib जितना दोहराव से बचने के साथ lib की निर्भरता का प्रबंधन करते हैं और आसानी से डीबग करने के लिए एक वर्कस्पेस से ऐप

जो मैंने समाप्त किया है वह

01 है
  1. lib और एप्लिकेशन के लिए अलग Git रेपोस
  2. प्रत्येक रेपो अपनी ही podfile है
  3. लिब की रेपो एप्लिकेशन की एक
  4. लिब की परियोजना का एक Git submodule एप्लिकेशन के कार्यक्षेत्र में शामिल किया गया है है
  5. ऐप लिंक 'LIBRARY_SEARCH_PATH', 'USER_HEADERS_SEARCH_PATH' के साथ पुराने तरीके से lib। कोकोपोड्स मेरी lib फ़ोल्डर संरचना को उलझाने के लिए नहीं (यदि आप dev pod के रूप में lib संलग्न करते हैं, तो यह करता है)।
  6. लिब एक podspec निर्भरता लिस्टिंग है, lib के podfile सिर्फ वहाँ से deps पकड़ लेता है 'podspec' आदेश से
  7. एप्लिकेशन की podfile ही (podspec 'lib/Lib.podspec'), इस प्रकार के सभी निर्भरता की बात करता है मुक्ति

यही है, उम्मीद है कि यह मदद करता है।

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