2012-10-25 22 views
29

Tôi đang sử dụng trình mô phỏng iOS 6 với Trình kiểm tra web mới sáng bóng trong Safari.Khi bắt đầu mô phỏng iOS, có thể tự động tải Trình kiểm tra web không?

Câu hỏi: Có thể tự động tải Trình kiểm tra web khi ứng dụng web iOS 6 tải không?

Tôi đang sử dụng PhoneGap/Cordova và có rất nhiều tải javascript khi khởi động. Tôi sử dụng console.log() rộng rãi để gỡ lỗi và muốn nó tải Web Inspector khi ứng dụng bắt đầu.

Hiện tại khi tôi nhấn Chạy trên Xcode, ứng dụng sẽ tải và I setTimeout trên chức năng đầu tiên của tôi để tôi có thể chuyển sang Safari và đính kèm Trình kiểm tra web trên trang đó.

Tôi muốn loại bỏ bước này và thêm bước tự động sẽ tải Trình kiểm tra web trực tiếp.

Bất kỳ giải pháp nào khác?

Trả lời

2

Đó là giữa năm 2014 và vẫn không có giải pháp thanh lịch cho điều này mà tôi biết, nhưng tôi thích ý tưởng thêm tạm dừng ngắn với setTimeout vào mã init của ứng dụng của bạn. Nếu thêm một cuộc gọi setTimeout là không thể, bạn cũng có thể phát hành window.location.reload() từ bảng điều khiển Safari để khởi động lại ứng dụng của mình với lợi ích của việc gỡ lỗi hoàn toàn.

2

Đây là giải pháp một phần. Điều này sẽ mở ra cửa sổ gỡ lỗi của Safari với một cú nhấp chuột tốt hơn nhiều nhưng không tự động.

mở Script Editor trên mac của bạn (Command + Space Bar và gõ vào Script Editor)

Dán trong mã này:

-- `menu_click`, by Jacob Rus, September 2006 
-- 
-- Accepts a list of form: `{"Finder", "View", "Arrange By", "Date"}` 
-- Execute the specified menu item. In this case, assuming the Finder 
-- is the active application, arranging the frontmost folder by date. 

on menu_click(mList) 
    local appName, topMenu, r 

    -- Validate our input 
    if mList's length < 3 then error "Menu list is not long enough" 

    -- Set these variables for clarity and brevity later on 
    set {appName, topMenu} to (items 1 through 2 of mList) 
    set r to (items 3 through (mList's length) of mList) 

    -- This overly-long line calls the menu_recurse function with 
    -- two arguments: r, and a reference to the top-level menu 
    tell application "System Events" to my menu_click_recurse(r, ((process appName)'s ¬ 
     (menu bar 1)'s (menu bar item topMenu)'s (menu topMenu))) 
end menu_click 

on menu_click_recurse(mList, parentObject) 
    local f, r 

    -- `f` = first item, `r` = rest of items 
    set f to item 1 of mList 
    if mList's length > 1 then set r to (items 2 through (mList's length) of mList) 

    -- either actually click the menu item, or recurse again 
    tell application "System Events" 
     if mList's length is 1 then 
      click parentObject's menu item f 
     else 
      my menu_click_recurse(r, (parentObject's (menu item f)'s (menu f))) 
     end if 
    end tell 
end menu_click_recurse 

menu_click({"Safari", "Develop", "IOS Simulator", "index.html"}) 

Khi mô phỏng đã mở ra, bấm chạy trên kịch bản của bạn (bạn có thể cần cho phép trình chỉnh sửa tập lệnh trong cài đặt lần đầu tiên).

(Tùy chọn) Bạn có thể lưu tập lệnh dưới dạng ứng dụng để bạn không phải mở trình chỉnh sửa tập lệnh.

(câu trả lời này là một phiên bản chi tiết hơn về câu trả lời trước Galatin của)

+0

Để có giải pháp dễ dàng hơn, hãy thử vào 'Tùy chọn hệ thống> Bàn phím> Phím tắt' và thêm" Lối tắt ứng dụng "cho Safari cho tiêu đề menu 'localhost' hoặc bất kỳ URL nào của bạn trông giống như trong menu Phát triển. –

1

1) Bên trong handler OnDeviceReady bạn thêm debugger;

onDeviceReady: function() { 
    debugger; 
    // the rest of your device ready code 
} 

2) Chạy ứng dụng qua xcode hoặc cmdline.

3) Gắn debugger qua Safari-> trieån> Simulator-> AppName -> chỉ số tập tin

4) Mở giao diện điều khiển của safari và nhập:

Window.location = ""; 

5) Ứng dụng sẽ tải lại và trình gỡ lỗi sẽ đính kèm trên dòng đầu tiên của onDeviceReady().

6) Gỡ lỗi như bình thường.