ios - क्या मैं कोको टच फ्रेमवर्क बनाते समय कोकाओप्स का उपयोग कर सकता हूं?




swift cocoa (2)

दुर्भाग्य से कोकोआइपोड कोको टच फ्रेमवर्क लक्ष्य के साथ उपयोग का समर्थन नहीं करता। GitHub पर अपने मुद्दों के माध्यम से खुदाई करते समय मुझे इसके कुछ संदर्भ मिलते हैं:

हम वास्तव में फ़ॉड्स को फ़्रेमवर्क लक्ष्य में एकीकृत करने का समर्थन नहीं करते ...
- 4 नवंबर, 2015 को नोनिचु

तथा

... इसके लिए "बस काम" करने के लिए, सीपी को आपके Xcode प्रोजेक्ट में निर्भरता का पुनरावर्ती विश्लेषण करने की आवश्यकता होगी और किसी भी तरह यह सुनिश्चित करना होगा कि आप किसी अन्य संदर्भ में कभी भी बिल्ड उत्पाद का उपयोग नहीं करेंगे।
- 7 जुलाई, 2015 को नीनीचू


अभी तक मुझे इस मुद्दे से निपटने के दो तरीके मिल गए हैं:

सही तरीके से अपने ढांचे के लिए एक नया पॉड कल्पना बनाना और इसे कोकाओपोड्स द्वारा अपने मुख्य प्रोजेक्ट में लेना है। यह CococaPods की निर्भरता ग्राफ़ के साथ सभी समस्याओं का समाधान करता है और कोकोपॉड डेवलपर्स से अनुशंसित समाधान है।

आपके मुख्य परियोजना में अपने फ्रेमवर्क से फॉड्स को शामिल करना आसान तरीका है यह काम करने लगता है, लेकिन स्पष्ट रूप से मुझे पता नहीं क्यों यह मेरे परीक्षण प्रोजेक्ट से पोडफाइल है:

platform :ios, '9.0'
use_frameworks!

def myfirstframework_pods
    pod 'Alamofire', '~> 3.0'
end

target 'MyApp' do
    pod 'SwiftKeychainWrapper', '~>1.0'
    myfirstframework_pods
end

target 'MyFirstFramework' do
    myfirstframework_pods
end

मैं एक नया कोको टच फ्रेमवर्क (MyFramework.framework) का निर्माण कर रहा हूं, जिसका अलामॉफ़र पर निर्भरता होगी यह ढाँचा स्विफ्ट में लिखा जाएगा। एक परीक्षण के रूप में मैंने एक नया कोको टच फ़्रेमवर्क प्रोजेक्ट शुरू किया:

File > New > Project > Framework & Library > Cocoa Touch Framework

फिर, टर्मिनल में मैंने किया:

pod init

इस प्रोजेक्ट्स निर्देशिका के अंतर्गत नव निर्मित पोडफाइल में मैंने निम्नलिखित को जोड़ा:

source 'https://github.com/CocoaPods/Specs.git'
# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!

pod 'Alamofire', '~> 3.0'

एक बार फिर, टर्मिनल में मैंने किया:

pod install

और दूर कोडिंग शुरू कर दिया।

जब तक मैं एकल फ़ॉर प्रोजेक्ट में MyFramework.framework उत्पाद का उपयोग नहीं किया तब तक सब कुछ ठीक और अच्छा लग रहा था। जब मैं परियोजना चलाने का प्रयास करता हूं तो मुझे निम्न मुद्दे मिलते हैं:

dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire
Referenced from: /Users/me/Library/Developer/CoreSimulator/Devices/87DA70B6-49BF-441E-BD81-F4A80B0792CF/data/Containers/Bundle/Application/2E414EA8-7E54-4D71-9295-566D4FAAADE2/test.app/Frameworks/MyFramework.framework/MyFramework
Reason: image not found

मैंने सोचा था कि कोको टच फ्रेमवर्क परियोजनाएं स्वाभाविक रूप से गतिशील थीं, और इसलिए इसमें सभी निर्भरता शामिल होगी

क्या कोई मुझे बता सकता है कि ऐसा क्यों हो रहा है और मैं इसे कैसे तय कर सकता हूं? क्या यह कोकोपोड्स के साथ एक मुद्दा है या क्या मैं कुछ भूल रहा हूं?

मैं अतिप्रवाह ढेर करने के लिए एक noob हूँ तो कृपया मुझे बताएं अगर आपको मुझसे अधिक जानकारी चाहिए

धन्यवाद!


बस अपने ऐप लक्ष्य के "सामान्य" टैब में " Alamofire.framework " अनुभाग में Alamofire.framework जोड़ें।





cocoa-touch