2012-11-13 42 views
25

Tôi đang cố gắng phát triển ứng dụng hello world cơ bản với phonegap trên Xcode. Nhưng tôi không thể nhìn thấy các thông điệp tường trình trên giao diện điều khiển Xcode. Tôi đã thử console.logdebug.log nhưng chúng không hoạt động đối với tôi?cách xem thông báo nhật ký javascript của điện thoại trên bảng điều khiển xcode

Tôi làm cách nào để xem thông báo nhật ký javascript trên bảng điều khiển xcode?

Trả lời

4

console.log("msg here: "+var); sẽ hoạt động. Nó sẽ xuất hiện dưới dạng ...[INFO] msg here: hi! (sau ngày, giờ, ứng dụng, v.v.).

Để xem các thông điệp vào View> Debug Diện tích> Kích hoạt Console (hoặc shift + cmd + C)

+0

Uh, tại sao không ... đó là chính xác nơi các thông điệp tường trình sẽ xuất hiện – oshevans

+0

Trong đó chương trình (XCode, Safari?) lệnh "Xem> Khu vực gỡ lỗi> Kích hoạt Console (hoặc shift + cmd + C)" nên được thực thi? –

8

PhoneGap có một bài viết trên blog khá tốt về here này.

Một trong những điều họ đề cập đến bao gồm JSLint mà cá nhân tôi sử dụng một số tiền phong nha. Bạn chỉ cần đăng mã JS của bạn ở đó và nó sẽ quét lỗi và tạo kiểu tóc tốt. Tôi cũng khuyên bạn nên đặt mã t trong một tệp html đơn giản và chạy nó trên trình duyệt. Bất cứ thứ gì có vẻ liên quan đến điện thoại, chỉ cần loại bỏ nó. Tốt nhất là sandbox javascript của bạn ở phía trình duyệt và sau đó sử dụng những thứ như Firebug hoặc trình gỡ lỗi của Chrome. (Ngoài ra, tôi chắc chắn rằng console.log() sẽ hoạt động ở đó: D)

Tôi cũng đã thấy rất nhiều người đề cập đến, bao gồm cả trong bài đăng trên blog, về Weinre vì vậy đó là điều đáng xem.

câu hỏi liên quan khác có thể giúp:

Phonegap - Javascript debugging in Xcode

iOS PhoneGap debug Workflow

How to see the javascript errors of PhoneGap app in Xcode?

Hope this helps.

EDIT: Các mặt hàng này thời gian gần đây: Debugging in Phonegap

0
confirm("msg here: "+var); 

hoặc

console.log("msg here: "+var); 
+0

Sẽ không gửi tin nhắn nhật ký javascript qua điện thoại tới bàn điều khiển xcode. – nym

27

Trong PhoneGap 3.0 bạn phải thêm một plugin cho console.log làm việc trong xcode console.

$ phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git 

Thông tin thêm: http://docs.phonegap.com/en/edge/guide_cli_index.md.html#The%20Command-line%20Interface

+2

Lưu ý rằng bạn cần phải chạy nó từ thư mục dự án của mình và cài đặt Git for Mac (từ đây: http://git-scm.com/download/mac). –

+5

Tôi tin rằng hầu hết mọi người sử dụng ** Phonegap ** đều đã cài đặt ** Git **. Trên máy tính của tôi '' 'cordova plugin thêm https: // git-wip-us.apache.org/repos/asf/cordova-plugin-console.git''' * (Cordova 3.4.0) * –

+0

trên' 'https : // github.com/apache/cordova-plugin-giao diện điều khiển/blob/master/doc/index.md'' họ nói: '' cordova plugin thêm org.apache.cordova.console'' đã làm công việc cho tôi! – Benjamin

0

Trong trường hợp của tôi, tôi chỉ cần thiết để bình luận các dòng sau trong cordova.js:

if (typeof window.console === "không xác định ") { window.console = { nhật ký: hàm() {} };

10
  1. On iDevice thực sự của bạn hoặc trong iOS mô phỏng đi đến Settings > Safari > Advanced và bật Web Inspector.
  2. Máy tính để bàn Safari: Safari > Preferences > Advanced và chọn hộp kiểm Show develop menu in menu bar.
  3. Bây giờ bạn có một trong hai iOS Simulator mở hoặc iDevice của bạn kết nối với mac của bạn bắt đầu sử dụng thanh tra viên web trên trang web của bạn: Trên mac của bạn, mở Safari và đi đến Develop
+1

Hữu ích hơn nhiều so với các tin nhắn trên bàn điều khiển. Điều này cũng cho phép bạn thao tác DOM chẳng hạn. Xem câu trả lời của tôi [Cấu hình iOS và Xcode để gỡ lỗi từ xa] (http://stackoverflow.com/a/15818612/1548776) để biết thêm hướng dẫn chi tiết về thiết lập. –

+0

Điều này không hữu ích nếu mục tiêu của bạn là xem các thông điệp tường trình javascript trên bảng điều khiển xcode. – nym

+0

Dễ dàng hơn nhiều và là cách tốt hơn để thực hiện những gì OP mong muốn mà không cần dựa vào một plugin. – CatBrownie

0
  1. Add the Debug console plugin
  2. Thêm thông điệp console.log trong onDeviceReady trong mã mẫu điện thoại mẫu hoặc mã chạy sau đó.

Quan trọng: thông báo điều khiển được hiển thị sau sự kiện 'deviceready'. Console.log sẽ không tạo thông báo trước đó.

2

Khi @NickBreen cho biết, bạn phải thêm đúng plugin, nhưng chúng tôi cũng cần đợi sự kiện deviceready kích hoạt trước khi bảng điều khiển hiển thị nhật ký bảng điều khiển hiển thị.

0

Vấn đề

Sau đây hoặc một thông báo lỗi tương tự xảy ra khi thêm giao diện điều khiển plugin để nền tảng ios (hoặc sau khi cài đặt lại) thông qua giao diện dòng lệnh:

"CDVPlugin lớp CDVLogger (pluginName: Console) không tồn tại. "

Giải pháp

Mở dự án Xcode của bạn và đi đến tab "Xây dựng giai đoạn". Bây giờ hãy mở trình đơn thả xuống có tên "Các nguồn biên dịch". Nhấp vào dấu "+" ở cuối danh sách và thêm "CDVLogger.m" hoặc bất kỳ nguồn bị thiếu nào khác.

2

Trong các phiên bản sau này của PhoneGap/cordova, để thêm giao diện điều khiển Plugin debug trong dự án của bạn:

cordova cắm thêm org.apache.cordova.console

+1

Trong các phiên bản sau của phonegap/cordova, đây là: 'cordova plugin add cordova-plugin-console' –

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