में सुपरपावर्ड lib का उपयोग कैसे करें मैं स्विफ्ट में एक ऐप बनाना चाहता हूं जो केवल आईफोन के माइक के माध्यम से रिकॉर्ड करें और फिर रिकॉर्ड की गई ध्वनि चलाएं।स्विफ्ट प्रोजेक्ट
इसके लिए, मैं lib superpowered का उपयोग करना चाहता हूं जो हेडर फ़ाइलों के साथ एक स्थिर लाइब्रेरी है।
इसके लिए, मैंने अपनी परियोजना में .a और हेडर फ़ाइलों को खींचने और छोड़ने की कोशिश की (एक्सकोड मेरे लिए एक ब्रिजिंग हेडर फ़ाइल बनाएं), एक्सकोड में "लिंक किए गए फ्रेमवर्क और लाइब्रेरीज़" में .a जोड़ें> लक्ष्य> सामान्य (और इसलिए एक्सकोड> लक्ष्य> चरणों का निर्माण> "लाइब्रेरी के साथ लिंक बाइनरी" भी) और एक्सकोड>। लक्ष्य> बिल्ड सेटिंग्स> खोज पथ> लाइब्रेरी खोज पथ में .h फाइल पथ को इंडेक्स करें।
लेकिन इसके साथ में मुझे त्रुटि है "ld: प्रतीक आर्किटेक्चर arm64" के लिए नहीं मिला है ठीक उसी तरह XCode: Undefined symbols for architecture arm64 error और मैंने इसके लिए वेब पर पाए गए सभी समाधानों का प्रयास किया, अभी भी कोई रास्ता नहीं है संकलन।
SO!
सुपरपावर्ड हमें उद्देश्य-सी ++ मिश्रण करने और स्विफ्ट प्रोजेक्ट के भीतर अपनी lib का उपयोग करने के लिए एक नमूना ऐप देता है (अगर आप https://github.com/superpoweredSDK/Low-Latency-Android-Audio-iOS-Audio-Engine चाहते हैं तो गिट के लिए एक लिंक यहां दिया गया है)।
यहाँ मैं क्या समझ के साथ नमूना परियोजना के कुछ स्क्रीनशॉट है और क्या मुझे नहीं पता:
कि मैं चाहता हूँ lib के तरीकों में से प्रोटोटाइप के साथ ब्रिजिंग-हैडर फ़ाइल मेरे स्विफ्ट कोड के भीतर उपयोग करने के लिए (मुझे यह पसंद नहीं है लेकिन अगर यह एकमात्र तरीका है ...)।
ViewController फ़ाइल जहां स्विफ्ट में कोड है, और जहां मैं एक महाशक्तिशाली वस्तु ब्रिजिंग-हैडर फ़ाइल को के धन्यवाद बना सकते हैं, और तरीकों कि मैं इसे में डाल दिया है कहते हैं।
और WTF मैं भी समझ में नहीं आता क्यों इस ऑब्जेक्टिव-सी ++ फ़ाइल यहाँ है और क्या यह शामिल है। यह कहीं से भी नहीं आता है, यहां तक कि उनकी lib फ़ाइलें भी नहीं।
इसे ध्यान में नमूना परियोजना के साथतो, मैं अपने खुद के परियोजना बना लिया है, यहाँ कुछ स्क्रीनशॉट है:
ही ब्रिजिंग-हैडर फ़ाइल है कि सिवाय इसके कि मैं शामिल नमूना परियोजना में SuperpoweredIOSAudioIO.h
इसलिए मैं SuperpoweredIOSAudioIODelegate
का उपयोग कर सकता हूं।
मेरे ViewController फ़ाइल जहां स्विफ्ट में कोड है, और जहां मैं एक महाशक्तिशाली वस्तु बना सकते हैं ब्रिजिंग-हैडर फ़ाइल को की सराहना करते हैं और तरीकों कि मैं इसे में डाल दिया है कहते हैं।
यहां तक कि यह बहुत अच्छा है, सिवाय इसके कि मैं उदाहरण के लिए SuperpoweredRecorder
ऑब्जेक्ट बनाने के लिए नहीं कर सकता।अगर मैं अपने ब्रिजिंग-हैडर फ़ाइल में SuperpoweredRecorder.h
फ़ाइल को शामिल करने की कोशिश मैं इन त्रुटियों है:
तो मैंने देखा कि ऐसा इसलिए है क्योंकि SuperpoweredRecorder.h
कुछ सीपीपी फ़ाइलें भी शामिल है और मैं के लिए एक आवरण बनाने के लिए सीपीपी (जैसा कि मैंने ब्रिजिंग हेडर के साथ किया था, नहीं?) लेकिन इसमें एक .h और a .mm फ़ाइल शामिल है और मुझे नहीं पता कि मुझे उसमें क्या रखना है। एमएम फ़ाइल (SuperpoweredRecorder.cpp
का कोड? लेकिन मुझे इसकी पहुंच नहीं है)
तो हाँ, मैं उन सभी चीजों से थोड़ा उलझन में हूं, क्या आप मुझे यह समझने में मदद कर सकते हैं कि मैं अपने स्विफ्ट प्रोजेक्ट में सभी सुपरपावर्ड lib का उपयोग कैसे कर सकता हूं ?
हां, मुझे कोई समस्या नहीं है और न ही जब मैं उद्देश्य-सी पुस्तकालयों का उपयोग करता हूं लेकिन यहां, lib को C++ में लिखा गया है और यह चीजों को सेट करने के लिए और अधिक दर्दनाक बनाता है। –
आप सही हैं, मुझे आपकी मूल पोस्ट से यह नहीं मिला, लेकिन @ ओमनीप्रोग के जवाब को देखते हुए यह अब समझ में आता है। अपना समाधान पोस्ट करने के लिए धन्यवाद! –