2011-11-04 79 views
9

Tôi vừa mới cập nhật lên XCode 4.2 và tôi thấy một tính năng thú vị cho phép tôi đặt thủ công vị trí thiết bị. Có ai biết một cách để thực hiện cùng một điều lập trình? Tôi muốn đặt vị trí trong một số thử nghiệm đơn vị.Lập trình thiết lập vị trí mô phỏng iphone

+0

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

+1

Tôi không nghĩ điều đó sẽ hữu ích. Những gì nó nói là để ghi đè các cuộc gọi lại từ CLLocationManager. Nhưng vấn đề tôi thấy là trong các bài kiểm tra đơn vị của tôi, cuộc gọi lại không đến. Tôi đã hy vọng có một cái gì đó như: [NSApplication setLatitude: lat kinh độ: lng] – JonnyBoy

+0

vì vậy @JonnyBoy bạn đã tìm ra điều này? tôi rất thích sử dụng nó! – abbood

Trả lời

9

AppleScript sau sẽ cho phép bạn đặt vị trí của Trình mô phỏng iOS. Bạn có thể tích hợp loại tập lệnh này vào tập lệnh thử nghiệm đơn vị hoặc có tập lệnh tạo AppleEvents tương đương.

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

Âm thanh tốt. Tôi không làm việc với ios nữa, nhưng tôi sẽ đưa cái này cho bạn bởi vì có vẻ như nó làm những gì tôi yêu cầu. Có thể ai đó khác có thể xác minh? – JonnyBoy

2

Bạn có thể sử dụng bao gồm tiền xử lý có điều kiện; kiểm tra macro TARGET_IPHONE_SIMULATOR như sau:

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

Tôi đoán là tôi chưa đủ rõ ràng. Tôi đang tìm một cách cho một cá thể CLLocationManager để gửi một http://developer.apple.com/library/ios/DOCUMENTATION/CoreLocation/Reference/CLLocationManagerDelegate_Protocol/CLLocationManagerDelegate/CLLocationManagerDelegate.html#//apple_ref/occ/intfm/ CLLocationManagerDelegate/locationManager: didUpdateToLocation: fromLocation: vì nó sẽ bằng cách nhấn Debug-> Location-> Custom Location trên trình giả lập iphone. Điều này có vẻ như tất cả nó là thiết lập một phao. – JonnyBoy

Các vấn đề liên quan