2011-10-17 13 views
10

में परीक्षण के लिए जीपीएक्स मार्ग या ट्रैक का उपयोग करना क्या किसी को भी जीपीएक्स रूट का उपयोग करके कोई सफलता मिली है या एक्सकोड 4.2 में आंदोलन पर निर्भर स्थान जागरूक ऐप्स का परीक्षण करने के लिए ट्रैक किया गया है? मैं इसे एक जीपीएक्स फ़ाइल में एक ही तरीके से उपयोग करने में सक्षम हूं या यहां तक ​​कि इसे रास्ते बिंदुओं की एक श्रृंखला पर फिर से शुरू करने में सक्षम हूं, लेकिन मैं इसे एक ऐसे तरीके से ट्रैक करने में सक्षम नहीं हूं जो गति और पाठ्यक्रम की जानकारी दे । मैंने ड्राइविंग, हाथ से बने मार्गों और पटरियों, और ट्रेलरुनर के साथ बने मार्गों से रिकॉर्ड किए गए ट्रैक के साथ प्रयास किया है।एक्सपीक 4.2

यह हो सकता है कि यह कार्यक्षमता केवल उपलब्ध न हो, लेकिन ऐप्पल सिम्युलेटर में एक फ्रीवे ड्राइव प्रदान करता है। मैं डिवाइस पर और उस स्थान पर कुछ ऐसा करने में सक्षम होना चाहता हूं जिसे मैं निर्दिष्ट कर सकता हूं। किसी के पास कोई विचार है?

+0

का उपयोग कर मुझे यकीन है कि नहीं कर रहा हूँ एक संगत GPX फ़ाइल में बदलने का है तो गति और पाठ्यक्रम के बारे में जानकारी कर सकते हैं। अगर मैं आपको सही समझता हूं, तो क्या आपको पहले से ही डब्ल्यूडब्ल्यूडीसी डेवलपर टूल्स किकऑफ वीडियो (17:44) में दिखाया गया था? यह मेरे लिए एक रिकॉर्ड किए गए मार्ग के साथ ठीक काम करता है (उदाहरण के लिए alltrial.com से डाउनलोड किया गया)। आप किस फ्रीवे ड्राइव का जिक्र कर रहे हैं? – brainray

+0

सिम्युलेटर में एक मेनू है जो आपको ऐप्पल द्वारा प्रदान किए गए कुछ पूर्वनिर्धारित ट्रैकों में से चुनने देता है। गति और पाठ्यक्रम की जानकारी मैं चाहता हूं। यह सिम्युलेटर में पूर्वनिर्धारित पटरियों का उपयोग करते समय दिखाता है, लेकिन यदि मैं अपने स्वयं के ट्रैक का उपयोग करता हूं तो यह डिवाइस या सिम्युलेटर पर काम नहीं करेगा। – RPeck

उत्तर

4

फ़ाइल पढ़ने और सीएलएलोकेशन घटनाओं को उत्पन्न करने के लिए अपना स्वयं का सिम्युलेटर क्लास बनाने का सबसे अच्छा तरीका है, जो आपको पूर्ण नियंत्रण देता है। जीपीएक्स फ़ाइलों में गति और शीर्षक नहीं है, इसलिए आपको उन्हें स्वयं गणना करनी होगी। बुनियादी अनुकरण पाश मैं का उपयोग किया है है:

Simulate{ 
    if (!eof) { 
    Read the next waypoint 
    Calculate distance, dt (delta time), bearing and speed (distance/dt) from the previous waypoint 

    Generate a CLLocation object and call the didUpdateToLocation delegate method 
    Peek at the next waypoint and calculate next_dt 
    Scale next_dt // as desired for faster playback (e.g. dt/2 would be 2x) 
    Start an NSTimer with next_dt as the duration 
    } 
} 

When the timer fires, call Simulate again 

नोट: अभी हाल तक, CLLocations synthesizing कुछ हद तक समस्या पैदा करने के बाद से CLLocation अपरिवर्तनीय है और init विधि की गति और बढ़ रहा है स्थापित करने के लिए कोई रास्ता नहीं था। आईओएस 4.2 में इसका उपचार किया गया था।

+0

मैंने सोचा कि संभवतः एक जीपीएक्स एक्सटेंशन में गति और शीर्षक समर्थित थे, लेकिन मुझे केवल एक ही मिला है (गार्मिन और ह्यूमिनबर्ड से) नहीं। अगर कोई अलग-अलग जानता है, तो मैं सही हो जाऊंगा। –

+0

यह डिवाइस पर ही होने का एकमात्र तरीका प्रतीत होता है। जीपीएक्स प्रारूप पाठ्यक्रम और गति टैग के लिए अनुमति देता है, लेकिन जैसा कि आपने देखा है, वे हमेशा जीपीएस द्वारा रिकॉर्ड नहीं किए जाते हैं। हालांकि, कुछ ऐप्स इस जानकारी को रिकॉर्ड करेंगे। सिम्युलेटर के लिए मुझे लगता है कि स्टीव मैडसेन द्वारा चर्चा की गई सिमुलेशन फ़ाइल उत्पन्न करने के लिए एक समान विधि का उपयोग किया जा सकता है। – RPeck

4

फ्रीवे ड्राइव को 1.612 फ़ाइल द्वारा /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/System/Library/Frameworks/CoreLocation.framework/Support/SimulationScenarios/Freeway Drive.plist में परिभाषित किया गया प्रतीत होता है। यह दो कुंजी, Options और Locations के साथ एक शब्दकोश है। Options स्वयं दो कुंजी के साथ एक शब्दकोश है और शायद रिवर्स इंजीनियर हो सकता है। दूसरी ओर, Locations, NSData की एक बड़ी सरणी (2240 ​​आइटम) है, प्रत्येक में लगभग 724 बाइट्स हैं। पहले आठ बाइट्स "bplist00" को डीकोड करते हैं, इसलिए इनमें से प्रत्येक एक प्लिस्ट है। मैंने डिस्क पर एक लिखा है, लेकिन एक्सकोड की संपत्ति सूची संपादक का दावा है कि यह दूषित है।

वह निर्देशिका जहां वह फ़ाइल है, जहां अन्य डिब्बाबंद स्थान और मार्ग रहते हैं। मैंने फ़ाइलों में से एक को डुप्लिकेट किया और सिम्युलेटर को पुनरारंभ किया, और नई फ़ाइल डीबग मेनू में दिखाई दी।

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

+0

मुझे अभी तक यह नहीं मिला था। ऐसा लगता है कि उनमें से प्रत्येक bplist00 लाइनें CLLocation ऑब्जेक्ट का संग्रह है। मैं शायद एक जीपीएक्स ट्रैक से एक समान फ़ाइल उत्पन्न करने के लिए एक उपकरण लिख सकता हूं, लेकिन यह सिम्युलेटर पर ही उपलब्ध होगा। मैं वास्तव में डिवाइस पर ऐसा करने में सक्षम होना चाहूंगा। – RPeck

+0

मुझे संदेह है कि ऐप्पल डिवाइस पर स्थान परिवर्तनों को अनुकरण करने का एक तरीका प्रदान करेगा क्योंकि यह वाई-फाई, सेल टावर्स और जीपीएस के कुछ संयोजन के माध्यम से मूल रूप से स्थान निर्धारण का समर्थन करता है। आपको नकली स्थान अपडेट पर अपना कोड डालना होगा। –

+2

ऐप्पल डिवाइस पर एक जीपीएक्स फ़ाइल में बिंदुओं की एक श्रृंखला के माध्यम से एकल स्थानों और साइकिल चलाने का समर्थन करता है। पाठ्यक्रम और गति के साथ डेटा को स्थानांतरित करने के लिए बस समर्थन नहीं लगता है। – RPeck

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