2011-09-02 12 views
12

मैं एक आईफोन/आईपैड ऐप लिखना चाहता हूं जो मैक या पीसी प्रोग्राम (जिसे मैं भी लिखूंगा) के साथ यूएसबी कनेक्शन के माध्यम से संवाद कर सकता हूं। क्या कोई जानता है कि मैं ऐसा करने के बारे में कैसे जा सकता हूं? (मुझे एहसास है कि मुझे अपने आईपैड को जेलबैक करना पड़ सकता है)आईपैड और मैक या पीसी के बीच यूएसबी संचार

+1

यदि यह संभव है, तो आपको निश्चित रूप से भागना होगा: मुझे पता है कि आप इसे सामान्य एसडीके के साथ नहीं कर सकते हैं। –

+0

सीरियल पोर्ट (यूएआरटी या /dev/tty.iap) का उपयोग करने का प्रयास करना एक विचार होगा। मुझे यकीन नहीं है कि आप इसे बिना किसी अतिरिक्त हार्डवेयर के कर सकते हैं, लेकिन यहां इस विषय पर कुछ लिंक दिए गए हैं: http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial http://hcgilje.wordpress.com/2010/02/15/आईफोन-सीरियल-संचार/ – adig

उत्तर

-1

क्या यह एक यूएसबी कनेक्शन होना चाहिए?

यदि नहीं, तो रॉबी हैंनसन की GCDAsyncSocket सभी प्रकार के ऐप्पल उपकरणों को जोड़ने के लिए बहुत बढ़िया है। मैक मिनी पर चल रहे एक ऐप पर आईपैड के समूह को जोड़ने के लिए मैंने पिछले साल इसका इस्तेमाल किया था।

5

यूएसबी (यूएसबीएमयूक्स) के माध्यम से सॉकेट संचार आपकी आवश्यकताओं को पूरा कर सकता है। जब एक आईपैड या आईफोन प्लग मैक में प्लग करता है, तो डिवाइस विवरण/var/run/usbmuxd होगा। आप एक सॉकेट बना सकते हैं और इसे/var/run/usbmuxd से कनेक्ट कर सकते हैं और आईओएस डिवाइस से/या पैक किए गए डेटा को/प्राप्त/प्राप्त कर सकते हैं। डेटा लपेटा जाना चाहिए।

यहां हैफ़ोनवेकी http://theiphonewiki.com/wiki/index.php?title=Usbmux से एक संक्षिप्त संदर्भ है। मैं जो प्रदान कर सकता हूं वह usbmuxd से कनेक्ट करने के लिए नमूना कोड है।

struct sockaddr_un endpoint; 
size_t size; 

_usbMuxSocket = socket(PF_LOCAL, SOCK_STREAM, 0); 

endpoint.sun_family = AF_LOCAL; 
strncpy(endpoint.sun_path, "/var/run/usbmuxd", 17); 
size = (offsetof (struct sockaddr_un, sun_path) 
     + strlen (endpoint.sun_path) + 1); 

connect(_usbMuxSocket, (struct sockaddr *) &endpoint, size); 

इसके बाद आपको अपने ऐप को आईपैड पर सुनकर बंदरगाह से "कनेक्ट" करना होगा। घटनाओं के अनुभाग अनुक्रम में उपरोक्त विकी पृष्ठ सूची में चर्चा की गई "कनेक्ट" प्रक्रिया। तैयारी के काम के बाद, आप डेटा भेजने और पढ़ने के लिए सॉकेट का उपयोग कर सकते हैं।

+0

क्या कोई कारण है कि आप केवल 'ओपन' नहीं कह सकते हैं और परिणामी एफडी का उपयोग कर सकते हैं? – Dustin

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