2016-07-21 12 views
12

Bazı koordinatlarla bir GPX dosyası hazırlayarak, projeme ekleyerek, bir uygulamayı çalıştırarak ve uygulama çalışırken konumu seçerek Xcode aracılığıyla konumunuzu simüle edebilirim . Ardından, tüm iPhone'umun konumu o konuma değiştirildi (sadece bu uygulama için değil). Başka bir deyişle, Xcode kullanarak USB üzerinden bağlandığında iPhone'un bir Mac üzerinden konumunu kontrol etmek için mümkündür.Program aracılığıyla USB üzerinden simüle edin iPhone (gerçek cihaz, NOT simülatörü) konumu

Bu davranışı otomatikleştirmenin bir yolu olduğunu mu merak ediyorum? Örneğin, manuel olarak bir GPX dosyası oluşturmadan, bir projeye ekleyerek, kukla bir uygulama çalıştırarak ve her defasında UI'den tek bir GPX seçmeden konumu değiştirmek için iPhone'umu komutla programlı olarak göndereceğim. Bir yol var mı, komut satırı araçlarını kullanarak mı?

+0

musunuz? – markedwardmurray

+0

@markedwardmurray soruyu okudun mu? tabiki biliyorum. Bunu yapmanın hızlı ve otomatik bir yoluna ihtiyacım var, bütün soru bu :) :) –

+1

Ben düşündüm ama sadece kontrol :) Ben uygulamayı başlattıktan sonra hata ayıklama bölmesinden simüle yerini ayarlama mümkün olsaydı bana gibi görünüyordu. Bunu komut satırından yapmanın bir yolunu bilmiyorum ama bu diziyi takip etmeyi merak ediyorum. – markedwardmurray

cevap

0

Aşağıdaki siteyi kullanarak önceden tanımlanmış bir rota ayarlayabilirsiniz; GPX Generator. Bu, hızlı yürüyüş/koşu hızında bir rotaya sahip bir GPX dosyası oluşturur. Kendi araştırmalarıma göre daha otomatik bir yöntem imkansız görünüyor.

+0

Evet, biliyorum, ama ne yazık ki sürekli bir şekilde programlanabilir bir şeye ihtiyacım olduğu için ihtiyacım olan şey değil. –

2

Yer güncellemelerini simüle etmek Instruments kullanabilirsiniz:

Via Otomasyon O Konum ve gecikme sonraki konum güncellemesini ayarlayacaktır javascript kullanarak senaryo yazmaya olanak tanır.

var target = UIATarget.localTarget(); 
var location = { 
    latitude: 59.335435, 
    longitude: 18.017269 
}; 
var locationOptions = { 
    speed: 2.78, 
    altitude: 200, 
    horizontalAccuracy: 10, 
    verticalAccuracy: 15 
}; 
target.setLocationWithOptions(location, locationOptions); 

bu komut dosyasını çalıştırmak edebilmek için, Xcode uygulamanızın “Profil” gerekir:

Aslında basit ayar konumu gibi görünecektir. Bunun için Menü Ürünü → Profile gidin ve uygulamanız Cihazlarla birlikte başlayacaktır. Cihazlarda “Otomasyon” seçeneğini seçin ve ardından yukarıdaki gibi gövdeli yeni komut dosyası oluşturun.

Uygulamanız, Otomatikleştirme aracının sol üst kısmında Hedef olarak otomatik olarak seçilmelidir.

Sadece komut dosyasını Komut dosyasına yapıştırın ve Çalıştır düğmesine basın. Uygulama başlatılmadıysa, başlatılacak. Ardından, komut dosyası çalışır ve bu konumun uygulamanızda ayarlandığını görmelisiniz.

Birkaç konum ve konum seçeneği dizisi oluşturabilir ve daha sonra bunların içinden döngü içinde ilerleyebilirsiniz. Biraz gecikme yapmak için, sadece gecikme komutunu kullanabilirsiniz.

var target = UIATarget.localTarget(); 

var locationOptions = {speed:2.78, altitude: 200, horizontalAccuracy:10, verticalAccuracy:15}; 
var locations = [ 
    {latitude: 59.335435, longitude: 18.017269}, 
    {latitude: 59.33618, longitude: 18.018288}, 
    {latitude: 59.337192, longitude: 18.01643}, 
    ... 
    {latitude: 59.335769, longitude: 18.025336} 
]; 

for (var i = 0; i < locations.length; i++) { 
    target.setLocationWithOptions(locations[i], locationOptions); 
    target.delay(10); 
} 

Ref: Eğer şema yöneticisinde yerini canlandırıldığı varsayılan, özel bir GPX dosyası ile dahil ayarlayabilirsiniz farkında http://sergiinezdolii.blogspot.com/2015/02/ios-simulate-frequent-gps-location.html

İlgili konular