2011-11-04 15 views
9

Sadece XCode 4.2 güncelledim ve aygıt konumunu manuel olarak ayarlamamı sağlayan güzel bir özellik görüyorum. Aynı şeyleri programlı olarak gerçekleştirmenin bir yolu var mı? Bazı birim testlerinde konumu ayarlamak istiyorum.iphone simülatörünün yerini programsal olarak ayarlama

+0

http://stackoverflow.com/questions/214416/set-the-location-in-iphone-simulator –

+1

ben yardımcı olur sanmıyorum. Demek istediğim, CLLocationManager'dan gelen geri bildirimi geçersiz kılmak. Ama gördüğüm problem, ünite testlerimde geri dönüşün hiç gelmeyeceğidir. Şunun gibi bir şey olduğunu umuyordum: [NSApplication setLatitude: enlem boylamı: lng] – JonnyBoy

+0

@JonnyBoy bunu anladın mı? Bunu da kullanmayı çok isterim! – abbood

cevap

9

şu AppleScript iOS Simülatörü konumunu ayarlamak izin verir. Bu tür bir komut dosyasını bir birim test komut dosyasına entegre etmek veya komut dosyanızın eşdeğer AppleEvent'leri oluşturmasını sağlamak mümkün olmalıdır.

tell application "iOS Simulator" 
    activate 
end tell 

tell application "System Events" 
    tell process "iOS Simulator" 
     tell menu bar 1 
      tell menu bar item "Debug" 
       tell menu "Debug" 
        tell menu item "Location" 
         click 
         tell menu "Location" 
          click menu item "Custom Location…" 
         end tell 
        end tell 
       end tell 
      end tell 
     end tell 

     tell window 1 
      set value of text field 1 to "40.69" 
      set value of text field 2 to "-74.045" 
      click button "OK" 
     end tell 

    end tell 
end tell 
+0

Kulağa hoş geliyor. Artık ios ile çalışmıyorum ama bunu sana vereceğim çünkü istediğim şeyi yapıyor gibi görünüyor. Belki başka biri doğrulayabilir? – JonnyBoy

2

Önişlemci koşullu katılımını kullanabilirsiniz; Böyle TARGET_IPHONE_SIMULATOR makro kontrol edin:

#if TARGET_IPHONE_SIMULATOR 
    float longitude = 39.1234; 
    // etc  
#else 
    float longitude = myLocationManager.longitude 
#endif 
+2

Sanırım yeterince açık değildim. Bir http://developer.apple.com/library/ios/DOCUMENTATION/CoreLocation/Reference/CLLocationManagerDelegate_Protocol/CLLocationManagerDelegate/CLLocationManagerDelegate.html#//apple_ref/occ/intfm/ göndermek için bir CLLocationManager örneğinin bir yolunu arıyorum. CLLocationManagerDelegate/locationManager: didUpdateToLocation: fromLocation: iphone simülatöründeki Debug-> Location-> Özel Konum'u tıklatarak olduğu gibi. Bu, her şeyin bir şamandıra olduğu gibi görünüyor. – JonnyBoy

İlgili konular