2014-10-13 9 views
6

जब मैं अपने स्विफ्ट क्लास में AFHTTPSessionManager प्रारंभ करता हूं तो मुझे समस्या का सामना करना पड़ रहा है। मैंने अपनी परियोजना में फली का उपयोग करके AFNetworking को जोड़ा है। यह अविकसित प्रकार के त्रुटि उपयोग दिखाता है। लेकिन जब मैं सीएमडी + दबाता हूं तो AFHTTPSessionManager पर क्लिक करें, यह मुझे सही कक्षा में ले जाता है।एक स्विफ्ट प्रोजेक्ट में पॉड्स के साथ AFNetworking का उपयोग करते समय समस्या को ब्रिजिंग

This is my bridging header class

मैं इसमें शीर्ष लेख और आयातित AFNetworking.h वर्ग ब्रिजिंग जोड़ लिया है। मैंने कई तरीकों से जोड़े गए ब्रिजिंग हेडर द्वारा इस समस्या को ठीक करने का प्रयास किया है। 1- मैंने नई हेडर फ़ाइल 2 बनाकर ब्रिजिंग हेडर क्लास बनाया है 2- मैंने स्विफ्ट प्रोजेक्ट में ऑब्जेक्ट सी टेस्ट क्लास बनाया है और जब यह प्रोजेक्ट में ब्रिजिंग हेडर जोड़ने के लिए कहा जाता है तो ब्रिजिंग हेडर जोड़ा जाता है।

This is how I set build settings

This is how I used AFNetworking in my Swift class

हैडर ब्रिजिंग भी अपने आप के साथ काम नहीं किया बनाया परीक्षण वर्ग जब मैं अपने तेज कक्षा में यह आरंभ करने की कोशिश की।

क्या कोई मुझे इस मुद्दे को हल करने में मदद कर सकता है?

+0

हाय, मैं जानता हूँ कि इस पोस्ट बहुत पुराना है लेकिन मैं बस अपना अनुभव साझा करना चाहते हैं: मैं बिल्कुल वैसा ही था मुसीबत। मैंने पुल को कॉन्फ़िगर करने से पहले फ़ाइलें (स्विफ्ट फाइलें) बनाई हैं। इसके बाद, मैंने पुल (फ़ाइल, भवन सेटिंग्स आदि) को कॉन्फ़िगर किया। और नहीं, यह कभी काम नहीं करता है।लंबे समय और खोजों के बाद मैं कुछ बेवकूफ कोशिश करता हूं: मैंने अपनी परियोजनाओं के अंदर सभी फाइलों को हटा दिया है जिन्हें बाहरी पुस्तकालय की आवश्यकता है और मैंने इन्हें फिर से बनाया है। क्या आप मुझ पर विश्वास करते हैं जब मैं कहता हूं कि इस बेवकूफ ऑपरेशन के बाद सभी चीजें काम कर रही हैं और मैं AFNetworking का उपयोग करने में सक्षम हूं कि कुछ मिनट laters "अनजान" था? –

उत्तर

6

मुझे दर्द पता है ... मैं एक ही खेल में भाग गया जो एएफएन खेल के मैदान में काम करने की कोशिश कर रहा था। मैं उस प्रयास में सफल नहीं था। लेकिन इसने परियोजना में काम किया और मैंने रास्ते में कुछ चीजें सीखी।

सबसे पहले, मैं अपने प्रोजेक्ट का निर्माण सेटिंग्स में ब्रिजिंग हैडर कॉन्फ़िगर (के रूप में किया है) और इस तरह आयात AFN:

#import <AFNetworking/AFNetworking.h> 

दूसरा, मैं हाँ सेटिंग को "को परिभाषित करता है मॉड्यूल" फलियाँ परियोजना का निर्माण सेट ।

तो मैं एक सादे निर्माण निष्पादित (उत्पाद -> निर्माण या विकल्प + बी) को देखने के लिए अगर यह ले लिया। फिर मैंने सिम्युलेटर लॉन्च किया।

+2

बस एफवाईआई, यह मेरे लिए काम नहीं करता था। – Carlo

+2

इसके अलावा, अपनी .swift फ़ाइल में नव निर्मित मॉड्यूल को "आयात" न भूलें, इस तरह: आयात करें AFNetworking नोट, यह ब्रिजिंग हेडर _not_ है, लेकिन स्विफ्ट फ़ाइल –

+1

यह अंततः "आयात" हिस्सा था मेरे लिए काम किया मुझे उम्मीद नहीं थी कि एएफएन ब्रिजिंग हेडर में है ... –

0

मैं इसे this लिंक द्वारा काम करने में सक्षम था।

फिर ब्रिजिंग हेडर फ़ाइल में, मैंने एएफनेटवर्किंग फ्रेमवर्क आयात किया जैसा कि मैं किसी भी ढांचे के साथ करता हूं। मैं भी BButton.h है, जो कि एक फली ढांचा नहीं है एक 3 पार्टी पुस्तकालय है आयातित लेकिन कुछ मुझे लगता है कि AFNetworking कोड कॉल स्विफ्ट फ़ाइल में

#import "BButton.h" 
#import <AFNetworking/AFNetworking.h> 

तब मेरे परियोजना में सीधे रखा, मैं AFNetworking आयात करने के लिए था, लेकिन नहीं BButton

import UIKit 
import AFNetworking 

class RootViewController: UIViewController { 

    @IBOutlet weak var emailButton: BButton! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view. 

     // Set the icon for the email signup button 
     self.emailButton!.setTitle(NSLocalizedString("", comment: ""), forState: UIControlState.Normal) 
     self.emailButton!.setType(BButtonType.Primary) 
     self.emailButton!.addAwesomeIcon(FAIcon.FAEnvelope, beforeTitle: true) 


     let manager = AFHTTPRequestOperationManager() 

     manager.GET(
      "http://headers.jsontest.com", 
      parameters: nil, 
      success: { (operation: AFHTTPRequestOperation!, 
       responseObject: AnyObject!) in 
       println("JSON: " + responseObject.description) 
      }, 
      failure: { (operation: AFHTTPRequestOperation!, 
       error: NSError!) in 
       println("Error: " + error.localizedDescription) 
      } 
     ) 

    } 

} 

आशा है कि

0

में मदद करता है तुम सब क्या किया है के अलावा, "use_frameworks!" जोड़ें अपने Podfile, करने के लिए ध्वज इस तरह देखने के लिए:

target 'appName' do 
    use_frameworks! 
    pod 'AFNetworking' 
end 

रन "फली स्थापित" कमांड फिर

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