2014-09-09 5 views
8

इससे पहले कि मैंने कोकोपोड्स के माध्यम से अपनी टेस्ट प्रोजेक्ट में एक नई निर्भरता जोड़ा, मैंने पहले से ही एक सी हेडर फ़ाइल ('wahoo.h') जोड़ दी है और इसे ब्रिजिंग हेडर फ़ाइल के माध्यम से स्विफ्ट कोड में उजागर किया है "वाहू-ब्रिजिंग-हेडर एच। "। परीक्षण ऐप संकलित और बिना किसी समस्या के चलाया जा सकता है।ब्रिजिंग हेडर में अतिरिक्त # आयात क्यों तेजी से विफल रहा?

फिर मैंने अपनी परियोजना में एक नई निर्भरता 'STHTTPRequest' जोड़ा। आप यहाँ फ़ाइल की सूची देख सकते हैं:

enter image description here

अगर मैं इस लाइन कहा:

#include <STHTTPRequest/STHTTPRequest.h>

यह इस त्रुटि संदेश के साथ संकलित करने के लिए असफल हो जायेगी:

enter image description here

मैंने कुछ विकल्पों की कोशिश की है लेकिन वे सभी असफल रहे:

#include "STHTTPRequest.h"

#import "STHTTPRequest.h"

जाहिर है मैं एक परियोजना में एक से अधिक ब्रिजिंग हेडर फाइल नहीं हो सकता। मैं इस आयात समस्या को कैसे ठीक कर सकता हूं?

संपादित मैं समस्या को हल मिल अगर मैं SO1 में Pods से हेडर फाइल कॉपी और ब्रिजिंग शीर्षक के #include "SO1/STHTTPRequest.h" जोड़ सकते हैं। यह एक आदर्श समाधान नहीं है।

मैं हेडर फ़ाइलों की प्रतिलिपि कैसे स्वचालित कर सकता हूं? या वैकल्पिक रूप से Pods में हेडर फ़ाइलों को SO1 तक कैसे पहुंचा जा सकता है?

+0

यदि यह "STHTTPRequest/STHTTPRequest.h" शामिल है तो यह काम करता है? – Antonio

+0

STHTTPRequest.h एक ही कार्यक्षेत्र में किसी अन्य प्रोजेक्ट में है, क्या आपने पथ को आजमाया है जहां फ़ाइल प्रोजेक्ट नेविगेटर में है? '' – Binarian

+0

@ एंटोनियो यह काम नहीं करेगा, क्योंकि फ़ाइल पथ '<>' – Binarian

उत्तर

1

यह काम करता है:

#include <STHTTPRequest.h> 
+11

यह मेरे लिए काम नहीं करता – calql8edkos

+0

$ {PODS_ROOT} को रिकर्सिव के रूप में जोड़ें और फिर यह काम करना शुरू कर देगा –

3

आप निम्न हैडर खोज पथ जोड़ना चाहिए: "$ {PODS_ROOT}/हेडर/STHTTPRequest"

+0

यह परियोजना कोकोआपोड्स द्वारा पहले से ही जोड़ा गया है SO1 –

2

मैं एक पुनरावर्ती के रूप में जोड़ा "फलियाँ/हेडर/सार्वजनिक" "खोज पथ/उपयोगकर्ता शीर्षलेख खोज पथ" के अंतर्गत मेरी परियोजना के लिए बिल्ड सेटिंग्स में प्रवेश करें।

मैं तो उपयोग कर सकते हैं मानक आयात प्रारूप है: - #import "AFNetworking/AFNetworking.h"

7

आप Xcode बता जहां हेडर फाइल आप ब्रिजिंग शीर्षक में सूचीबद्ध किए जा रहे देखने के लिए की जरूरत है। खोज पथ अनुभाग खोजें, और हेडर खोज पथ के लिए प्रोजेक्ट-स्तरीय सेटिंग बदलें, निर्देशिका के लिए रिकर्सिव प्रविष्टि जोड़ना। यह Pods/** होना चाहिए।

ब्रिजिंग हैडर में साथ में शामिल हैं:

#include <STHTTPRequest/STHTTPRequest.h> 

या पुनरावर्ती खोज पथ की वजह से:

#include <STHTTPRequest.h> 
0

अगर ऐसी बात आप इस तरह वर्ग आयात करने की आवश्यकता में उद्देश्य सी में अपने फली पुस्तकालय -

@import STHTTPRequest;

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