ios - पॉड त्रुटि Xcode में "आईडी: फ़्रेम पॉड्स नहीं मिला"




git cocoapods (4)

मैं एक बिटकॉइन रिपॉजिटरी से एक प्रोजेक्ट को क्लोन करने की कोशिश कर रहा हूं और एक त्रुटि प्राप्त कर रहा हूं Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation) जब कार्यक्षेत्र में एक Xcode प्रोजेक्ट चलाने की कोशिश कर रहा था । ये मेरे द्वारा अनुसरण किए गए कदम हैं, अगर कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं, तो यह बहुत अच्छा होगा!

  1. git clone (link to bitbucket)
  2. डिबग और रिलीज़ दोनों के लिए Xcode पॉड्स प्रोजेक्ट में कॉन्फ़िगरेशन सेटिंग्स को बदल दिया
  3. pod install
  4. खोला Xcode कार्यक्षेत्र फ़ाइल
  5. Xcode में बनाने की कोशिश की और त्रुटि Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation) प्राप्त की Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation)

यहाँ पॉडफाइल है:

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

target 'Oncarb' do
  pod 'Alamofire'
  pod 'SwiftyJSON', '~> 2.2.0'
end

#target 'OncarbTests' do
#  pod 'Alamofire'
#  pod 'SwiftlyJSON', '~> 2.2.0'
#end

क्या कोई ऐसा कदम है जो मुझे याद आ रहा है?

धन्यवाद!


इसने मेरे लिए यह तय कर दिया है:

  1. कार्यक्षेत्र खोलें।
  2. स्क्रीन के बाईं ओर नीले प्रोजेक्ट आइकन (जो आपके फ़ाइल ट्री में फैलता है) पर क्लिक करें
  3. बस दाईं ओर, "लक्ष्य" का चयन करें (जैसा कि "प्रोजेक्ट" के विपरीत है - प्रोजेक्ट नीला है, लक्ष्य एक पेंसिल और एक शासक की तरह है और एक पेंटब्रश एक त्रिकोण बना रहा है)
  4. जनरल टैब पर क्लिक करें
  5. "लिंक किए गए फ्रेमवर्क और लाइब्रेरी" अनुभाग पर जाएं (नीचे सभी तरह)
  6. पॉड्स फ्रेमवर्क हटाएं
  7. आलमोफायर और स्विफ्टजसन जोड़ें

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


एक परीक्षण कक्षा में / परीक्षण लक्ष्य में कोकोपोड्स ढांचे के एक स्पष्ट आयात में संभावित कारण।

उदाहरण:

import XCTest
//import AlamofireImage
@testable import MyProject

// instead of importing AlamofireImage:
#if os(iOS) || os(tvOS) || os(watchOS)
    import UIKit
    public typealias Image = UIImage
#elseif os(macOS)
    import Cocoa
    public typealias Image = NSImage
#endif

मैंने सबसे पहले AlamofireImage आयात AlamofireImage क्योंकि मैंने AlamofireImage स्पष्ट रूप से अपने परीक्षण में typealias Image उपयोग किया था।

यदि मेरे उदाहरण में आयात को रोकना आसान है, तो इसे करें। मैंने सिर्फ अपने टेस्ट क्लास फाइल में इमेज की परिभाषा को कॉपी किया है।

यदि आपको लगता है कि आपको वास्तव में उस आयात की आवश्यकता है, तो विलियम हू के उत्तर पर जाएं। उनके जवाब के लिए एक फुटनोट:

target 'MyProjectTests' do
   pod 'OnlyThatFrameworkYouImportIntoYourTest' 
end

आपको अपने परीक्षण लक्ष्य में केवल उन पॉड्स को जोड़ने की जरूरत है, जिन्हें आप (स्पष्ट रूप से) आयात करते हैं।


मेरी समस्या यह है कि जब मैंने परीक्षण किया तो मुझे यह त्रुटि मिली। क्योंकि मैं इसे अपने में स्थापित करता हूं

target 'Project' do
   pod 'xxx'
end

आपको इसे अपने परीक्षण लक्ष्य में भी शामिल करना चाहिए:

target 'ProjectTests' do
   pod 'xxx'
end

मेरे मामले में, मेरे पास लाल रंग में सूचीबद्ध कई रूपरेखाएँ थीं। इन्हें पिछले पॉडफाइल कॉन्फ़िगरेशन से छोड़ दिया गया था। मैंने बस इन रूपरेखाओं को लाल रंग में सूचीबद्ध किया और समस्या को ठीक कर दिया गया।







ios-frameworks