आईफोन सिम्युलेटर में मैं स्थान कैसे सेट कर सकता हूं (जैसा कि कोरलोकेशन सेवाओं में उठाया गया है)।
आईफोन सिम्युलेटर में मैं स्थान कैसे सेट कर सकता हूं (जैसा कि कोरलोकेशन सेवाओं में उठाया गया है)।
जवाबों:
आईओएस 5 के रूप में, सिम्युलेटर में एक विन्यास योग्य स्थान है।
डीबग मेनू के तहत, अंतिम प्रविष्टि "स्थान" है; यह आपको एक उप मेनू देता है:
कस्टम स्थान आपको एक Lat / Long मान दर्ज करने देता है। साइकिल की सवारी, सिटी रन, और फ्रीवे ड्राइव एक चलती जगह का अनुकरण है (क्यूपर्टिनो में, निश्चित रूप से)।
बेशक, यह आईओएस 4 (या पहले) के लिए डिबगिंग में मदद करने के लिए कुछ भी नहीं करता है; लेकिन यह एक निश्चित सुधार है!
निम्नलिखित फ़ाइल में TextEdit फ़ाइल बनाएँ, उदाहरण के लिए इसे MyOffice कहें। .Gpx के रूप में एक्सटेंशन करें
<?xml version="1.0"?> <gpx version="1.0" creator="MyName"> <wpt lat="53.936166" lon="27.565370"> <name>MyOffice</name> </wpt> </gpx>
Simulate एरिया में Xcode में सेलेक्ट करें Add GPX File to Project...
मेरे प्रतिनिधि कॉलबैक में, मैं यह देखने के लिए जांच करता हूं कि क्या मैं एक सिम्युलेटर में चल रहा हूं ( #if TARGET_ IPHONE_SIMULATOR
) और यदि ऐसा है, तो मैं अपना, पूर्व-देखा हुआ, लाट / लॉन्ग की आपूर्ति करता हूं। मेरी जानकारी के लिए, कोई दूसरा रास्ता नहीं है।
Debug
का उपयोग करके सिम्युलेटर पर मेनू के तहत एक रास्ता है Location
जो एक कस्टम स्थान सेट करने या कुछ पूर्वनिर्धारित सवारी और स्थानों से चयन करने की अनुमति देता है।
Debug -> Location -> Custom Location
Features -> Location -> Custom Location
यह जानने के लिए कि आपके पास कौन सा XCode संस्करण है
$ /usr/bin/xcodebuild -version
पूर्व आईओएस 5 आप इसे कोड में कर सकते हैं:
मैं इस स्निपेट का उपयोग @implementation
उस कक्षा से ठीक पहले करता हूं, जहां मुझे अपने नकली शीर्षक और स्थान डेटा की आवश्यकता होती है।
#if (TARGET_IPHONE_SIMULATOR)
@interface MyHeading : CLHeading
-(CLLocationDirection) magneticHeading;
-(CLLocationDirection) trueHeading;
@end
@implementation MyHeading
-(CLLocationDirection) magneticHeading { return 90; }
-(CLLocationDirection) trueHeading { return 91; }
@end
@implementation CLLocationManager (TemporaryLocationFix)
- (void)locationFix {
CLLocation *location = [[CLLocation alloc] initWithLatitude:55.932 longitude:12.321];
[[self delegate] locationManager:self didUpdateToLocation:location fromLocation:nil];
id heading = [[MyHeading alloc] init];
[[self delegate] locationManager:self didUpdateHeading: heading];
}
-(void)startUpdatingHeading {
[self performSelector:@selector(locationFix) withObject:nil afterDelay:0.1];
}
- (void)startUpdatingLocation {
[self performSelector:@selector(locationFix) withObject:nil afterDelay:0.1];
}
@end
#endif
IOS 5 के बाद अपनी परियोजना में एक GPX फ़ाइल को इस तरह शामिल करें कि स्थान को लगातार अपडेट किया जा सके Hillerød.gpx:
<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode">
<wpt lat="55.93619760" lon="12.29131930"></wpt>
<wpt lat="55.93625770" lon="12.29108330"></wpt>
<wpt lat="55.93631780" lon="12.29078290"></wpt>
<wpt lat="55.93642600" lon="12.29041810"></wpt>
<wpt lat="55.93653420" lon="12.28998890"></wpt>
<wpt lat="55.93660630" lon="12.28966710"></wpt>
<wpt lat="55.93670240" lon="12.28936670"></wpt>
<wpt lat="55.93677450" lon="12.28921650"></wpt>
<wpt lat="55.93709900" lon="12.28945250"></wpt>
<wpt lat="55.93747160" lon="12.28949540"></wpt>
<wpt lat="55.93770000" lon="12.28966710"></wpt>
<wpt lat="55.93785620" lon="12.28977440"></wpt>
<wpt lat="55.93809660" lon="12.28988170"></wpt>
<wpt lat="55.93832490" lon="12.28994600"></wpt>
<wpt lat="55.93845710" lon="12.28996750"></wpt>
<wpt lat="55.93856530" lon="12.29007480"></wpt>
<wpt lat="55.93872150" lon="12.29013910"></wpt>
<wpt lat="55.93886570" lon="12.28975290"></wpt>
<wpt lat="55.93898590" lon="12.28955980"></wpt>
<wpt lat="55.93910610" lon="12.28919500"></wpt>
<wpt lat="55.93861330" lon="12.28883020"></wpt>
<wpt lat="55.93845710" lon="12.28868000"></wpt>
<wpt lat="55.93827680" lon="12.28850840"></wpt>
<wpt lat="55.93809660" lon="12.28842250"></wpt>
<wpt lat="55.93796440" lon="12.28831520"></wpt>
<wpt lat="55.93780810" lon="12.28810070"></wpt>
<wpt lat="55.93755570" lon="12.28790760"></wpt>
<wpt lat="55.93739950" lon="12.28775730"></wpt>
<wpt lat="55.93726730" lon="12.28767150"></wpt>
<wpt lat="55.93707500" lon="12.28760710"></wpt>
<wpt lat="55.93690670" lon="12.28734970"></wpt>
<wpt lat="55.93675050" lon="12.28726380"></wpt>
<wpt lat="55.93649810" lon="12.28713510"></wpt>
<wpt lat="55.93625770" lon="12.28687760"></wpt>
<wpt lat="55.93596930" lon="12.28679180"></wpt>
<wpt lat="55.93587310" lon="12.28719940"></wpt>
<wpt lat="55.93575290" lon="12.28752130"></wpt>
<wpt lat="55.93564480" lon="12.28797190"></wpt>
<wpt lat="55.93554860" lon="12.28833670"></wpt>
<wpt lat="55.93550050" lon="12.28868000"></wpt>
<wpt lat="55.93535630" lon="12.28900190"></wpt>
<wpt lat="55.93515200" lon="12.28936670"></wpt>
<wpt lat="55.93505580" lon="12.28958120"></wpt>
<wpt lat="55.93481550" lon="12.29001040"></wpt>
<wpt lat="55.93468320" lon="12.29033230"></wpt>
<wpt lat="55.93452700" lon="12.29063270"></wpt>
<wpt lat="55.93438280" lon="12.29095450"></wpt>
<wpt lat="55.93425050" lon="12.29121200"></wpt>
<wpt lat="55.93413040" lon="12.29140520"></wpt>
<wpt lat="55.93401020" lon="12.29168410"></wpt>
<wpt lat="55.93389000" lon="12.29189870"></wpt>
<wpt lat="55.93372170" lon="12.29239220"></wpt>
<wpt lat="55.93385390" lon="12.29258530"></wpt>
<wpt lat="55.93409430" lon="12.29295010"></wpt>
<wpt lat="55.93421450" lon="12.29320760"></wpt>
<wpt lat="55.93433470" lon="12.29333630"></wpt>
<wpt lat="55.93445490" lon="12.29350800"></wpt>
<wpt lat="55.93463520" lon="12.29374400"></wpt>
<wpt lat="55.93479140" lon="12.29410880"></wpt>
<wpt lat="55.93491160" lon="12.29419460"></wpt>
<wpt lat="55.93515200" lon="12.29458090"></wpt>
<wpt lat="55.93545250" lon="12.29494570"></wpt>
<wpt lat="55.93571690" lon="12.29505300"></wpt>
<wpt lat="55.93593320" lon="12.29513880"></wpt>
<wpt lat="55.93617360" lon="12.29522460"></wpt>
<wpt lat="55.93622170" lon="12.29537480"></wpt>
<wpt lat="55.93713510" lon="12.29505300"></wpt>
<wpt lat="55.93776000" lon="12.29378700"></wpt>
<wpt lat="55.93904600" lon="12.29531040"></wpt>
<wpt lat="55.94004350" lon="12.29552500"></wpt>
<wpt lat="55.94023570" lon="12.29561090"></wpt>
<wpt lat="55.94019970" lon="12.29591130"></wpt>
<wpt lat="55.94017560" lon="12.29629750"></wpt>
<wpt lat="55.94017560" lon="12.29670520"></wpt>
<wpt lat="55.94017560" lon="12.29713430"></wpt>
<wpt lat="55.94019970" lon="12.29754200"></wpt>
<wpt lat="55.94024780" lon="12.29816430"></wpt>
<wpt lat="55.94051210" lon="12.29842180"></wpt>
<wpt lat="55.94084860" lon="12.29820720"></wpt>
<wpt lat="55.94105290" lon="12.29799270"></wpt>
<wpt lat="55.94123320" lon="12.29777810"></wpt>
<wpt lat="55.94140140" lon="12.29749910"></wpt>
<wpt lat="55.94142550" lon="12.29726310"></wpt>
<wpt lat="55.94147350" lon="12.29687690"></wpt>
<wpt lat="55.94155760" lon="12.29619020"></wpt>
<wpt lat="55.94161770" lon="12.29576110"></wpt>
<wpt lat="55.94148550" lon="12.29531040"></wpt>
<wpt lat="55.94093270" lon="12.29522460"></wpt>
<wpt lat="55.94041600" lon="12.29518170"></wpt>
<wpt lat="55.94056020" lon="12.29398010"></wpt>
<wpt lat="55.94024780" lon="12.29352950"></wpt>
<wpt lat="55.94001940" lon="12.29335780"></wpt>
<wpt lat="55.93992330" lon="12.29325050"></wpt>
<wpt lat="55.93969490" lon="12.29299300"></wpt>
<wpt lat="55.93952670" lon="12.29277840"></wpt>
<wpt lat="55.93928630" lon="12.29260680"></wpt>
<wpt lat="55.93915410" lon="12.29232780"></wpt>
<wpt lat="55.93928630" lon="12.29202740"></wpt>
<wpt lat="55.93933440" lon="12.29174850"></wpt>
<wpt lat="55.93947860" lon="12.29116910"></wpt>
<wpt lat="55.93965890" lon="12.29095450"></wpt>
<wpt lat="55.94001940" lon="12.29061120"></wpt>
<wpt lat="55.94041600" lon="12.29084730"></wpt>
<wpt lat="55.94076450" lon="12.29101890"></wpt>
<wpt lat="55.94080060" lon="12.29065410"></wpt>
<wpt lat="55.94086060" lon="12.29031080"></wpt>
<wpt lat="55.94092070" lon="12.28990310"></wpt>
<wpt lat="55.94099280" lon="12.28975290"></wpt>
<wpt lat="55.94119710" lon="12.28986020"></wpt>
<wpt lat="55.94134130" lon="12.28998890"></wpt>
<wpt lat="55.94147350" lon="12.29007480"></wpt>
<wpt lat="55.94166580" lon="12.29003190"></wpt>
<wpt lat="55.94176190" lon="12.28938810"></wpt>
<wpt lat="55.94183400" lon="12.28893750"></wpt>
<wpt lat="55.94194220" lon="12.28850840"></wpt>
<wpt lat="55.94199030" lon="12.28835820"></wpt>
<wpt lat="55.94215850" lon="12.28859420"></wpt>
<wpt lat="55.94250700" lon="12.28883020"></wpt>
<wpt lat="55.94267520" lon="12.28893750"></wpt>
<wpt lat="55.94284350" lon="12.28902330"></wpt>
<wpt lat="55.94304770" lon="12.28915210"></wpt>
<wpt lat="55.94325200" lon="12.28925940"></wpt>
<wpt lat="55.94348030" lon="12.28953830"></wpt>
<wpt lat="55.94366060" lon="12.28966710"></wpt>
<wpt lat="55.94388890" lon="12.28975290"></wpt>
<wpt lat="55.94399700" lon="12.28994600"></wpt>
<wpt lat="55.94379280" lon="12.29065410"></wpt>
<wpt lat="55.94364860" lon="12.29095450"></wpt>
<wpt lat="55.94350440" lon="12.29127640"></wpt>
<wpt lat="55.94340820" lon="12.29155540"></wpt>
<wpt lat="55.94331210" lon="12.29198450"></wpt>
<wpt lat="55.94315590" lon="12.29269260"></wpt>
<wpt lat="55.94310780" lon="12.29318610"></wpt>
<wpt lat="55.94301170" lon="12.29361530"></wpt>
<wpt lat="55.94292760" lon="12.29408740"></wpt>
<wpt lat="55.94290350" lon="12.29436630"></wpt>
<wpt lat="55.94287950" lon="12.29453800"></wpt>
<wpt lat="55.94283140" lon="12.29533190"></wpt>
<wpt lat="55.94274730" lon="12.29606150"></wpt>
<wpt lat="55.94278340" lon="12.29621170"></wpt>
<wpt lat="55.94280740" lon="12.29649060"></wpt>
<wpt lat="55.94284350" lon="12.29679100"></wpt>
<wpt lat="55.94284350" lon="12.29734890"></wpt>
<wpt lat="55.94308380" lon="12.29837890"></wpt>
<wpt lat="55.94315590" lon="12.29852910"></wpt>
<wpt lat="55.94263920" lon="12.29906550"></wpt>
<wpt lat="55.94237480" lon="12.29910850"></wpt>
<wpt lat="55.94220660" lon="12.29915140"></wpt>
<wpt lat="55.94208640" lon="12.29902260"></wpt>
<wpt lat="55.94196620" lon="12.29887240"></wpt>
<wpt lat="55.94176190" lon="12.29794970"></wpt>
<wpt lat="55.94156970" lon="12.29760640"></wpt>
</gpx>
मैं GPSies.com का उपयोग करता हूं gpx डेटा के लिए आधार फ़ाइल बनाने के का । हालांकि थोड़ी सफाई की आवश्यकता है।
सिम्युलेटर चलाकर और अपनी फ़ाइल चुनकर सक्रिय करें
(स्रोत: castleandersen.dk )
आप आसानी से MacOS मैप्स एप्लिकेशन से Xcode सिम्युलेटर में किसी भी वांछित स्थान को साझा कर सकते हैं ।
यह आपको कुछ स्थानों को जल्दी से परीक्षण करने देता है, जहां भौगोलिक रूप से स्थान (जैसे जियोफेंसिंग के परीक्षण के लिए) पर एक समझ होती है, और रनटाइम पर निर्णय लेते हैं कि आगे कहां जाना है (उदाहरण के लिए डिबगिंग और फाइन-ट्यूनिंग सामान)।
मैकओएस कैटालिना 10.15.4 और एक्सकोड 11.4 पर यह परीक्षण किया गया।
पर तरह लोगों FutureTap पर मुक्त करने के लिए FTLocationSimulator उपलब्ध कराया है GitHub । यह आपको उदाहरण के लिए Google धरती का उपयोग करके एक परीक्षण मार्ग तैयार करने की अनुमति देता है, और फिर सिम्युलेटर को आपके ऐप पर इन निर्देशांक को फ़ीड करता है।
मैंने स्थान सुविधाओं के परीक्षण के दौरान आसानी से कई मार्गों के बीच स्विच करने के लिए FTLocationSimulator का उपयोग करने के बारे में एक ब्लॉग पोस्ट लिखा है।
आप अपने प्रोजेक्ट में gpx फाइलें जोड़ सकते हैं और इसका उपयोग कर सकते हैं:
स्कीम संपादित करें> विकल्प> स्थान सिमुलेशन की अनुमति दें> उदाहरण के लिए फ़ाइल नाम चुनें:
<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode">
<wpt lat="41.92296" lon="-87.63892"></wpt>
</gpx>
स्थान प्रबंधक द्वारा लौटाए जाने वाले लेट / लोन मानों को वैकल्पिक रूप से केवल हार्डकोड करें। हालांकि यह पुरानी शैली है।
इसलिए आप इसे सिम्युलेटर में नहीं जोड़ेंगे, लेकिन अपने Xcode प्रोजेक्ट के लिए।
देर आए दुरुस्त आए :)
मैं अभी इस iSimulate में आया था जो आपको ऐप पर फ़ेक लोकेशन भेजने की अनुमति देता है। समाधान मुफ्त नहीं है।
> Q: How does iSimulate work?
> A: When added to your project, the iSimulate
> SDK library creates a listening server
> on your iPhone Simulator that waits
> for a connection from an iPhone/iPod
> running the iSimulate client. When
> such connection is established, the
> iSimulate client running on your
> iPhone/iPod captures all data from the
> accelerometer sensor, the touch
> events, the location and device ID and
> streams them to the server. The
> iSimulate SDK library then recreates
> all input events synthetically. This
> is entirely transparent to your
> application and does not interfere
> with your application's functionality.
वैसे भी, मैं इसे पाने की योजना बना रहा हूं। जल्द ही और अधिक अद्यतन करेगा!
आप अपना स्थान कहाँ सेट करना चाहते हैं? यू लोकेशन दिखाने के लिए आप मैपकिट एपी का उपयोग कर सकते हैं। Mapkit का उपयोग कैसे करें के बारे में अधिक विवरण के लिए icodeblog.com देखें। इसके अलावा आप अपने वांछित कॉर्डिनेट को स्टोर कर सकते हैं बस एक ऑब्जेक्ट बनाएं CLLocation2D * लोकेशन; location.longitude = आपका इच्छित देशांतर मान; location.latitude = आपका इच्छित अक्षांश मान;