2009-03-29 6 views

Trả lời

36

Đặt WebKitDeveloperExtras thành YES trong giá trị mặc định của người dùng khi bạn gửi -[NSUserDefaults registerDefaults:]. Điều này áp dụng rộng rãi, tất nhiên.

Hãy nhớ rằng người dùng có thể thay đổi nó thành NO, vì vậy đừng cho rằng đó là YES —nếu nó có vấn đề (ví dụ: khi tùy chỉnh menu ngữ cảnh), hãy luôn kiểm tra.

Cảnh báo: Tùy chọn này không nhất thiết chỉ bật Trình kiểm tra phần tử. Apple có thể mở rộng nó trong tương lai cũng để kiểm soát, nói, một trình đơn Debug trong thanh trình đơn của bạn. Bạn có thể thấy đây là một rủi ro không thể chấp nhận được.

+0

Tác phẩm này! Tuyệt vời! Lưu ý phụ: Nó đặt cài đặt trên lần tải đầu tiên, không có hiệu lực cho đến khi ứng dụng được khởi động lại. Không chắc chắn làm thế nào để có được xung quanh này - có lẽ cung cấp một tập tin tài sản mặc định ... – user53937

+1

loglibrarian: Đặt nó trước đó. Nếu applicationWillFinishLaunching: không đủ tốt, hãy đặt nó trong hàm main() của bạn. –

+0

Ok Tôi biết tôi đang đẩy vận may của mình ở đây, nhưng có cách nào để khởi chạy chương trình thanh tra web không? Có lẽ một api tư nhân? – user53937

1

Tôi đã thử làm như vậy, nhưng không thể thấy thanh tra web.

Nó không giống như [[NSUserDefaults standarduserDefaults] registerDefaults:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:@"WebKitDeveloperExtras"]]?

+0

Trừ đi] ở phía trước, vâng. –

+0

Cảm ơn. Từ danh sách gửi thư trên webkit-dev, tôi đã nhận được một phản hồi khác. Nó nên được thực hiện trong thời điểm sớm nhất của nó như + khởi tạo, hoặc nó có thể được phát hành trên dấu nhắc Unix. mặc định viết com.yourcompany.programname WebKitDeveloperExtras -bool true –

8

trong trường hợp của tôi (MacOSX 10.6.5) nó không hoạt động.

tôi phải làm như sau trong phương pháp windowDidLoad của WebView WindowController tôi:

 
/* Initialize webInspector. */ 
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"WebKitDeveloperExtras"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 
+0

Tôi tìm thấy ứng dụng cần thiết để khởi chạy lại ứng dụng này có hiệu lực. Có hay không điều này cần phải xảy ra trước khi webview được khởi tạo? – uchuugaka

37

Một REALLY cách dễ dàng để làm điều đó ... là ở nhà ga .... ⌘ ⬆ ☺

defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras TRUE

(Với OSX 10.8, hãy sử dụng defaults write com.yourcompany.yourbundleid WebKitDeveloperExtras -bool true thay thế).

LƯU Ý: Bạn PHẢI thay đổi com.yourcompany.yourbundleid để "ứng dụng" cụ CỦA BẠN (hoặc bất kỳ công ty của ứng dụng bundle ID nó có thể được) trước này sẽ làm việc **

Những điều tốt đẹp về vấn đề này ... có KHÔNG PHẢI để quên tháo nó ra, tắt đi, nhận xét nó ra, v.v. ... Đây là cài đặt LOCAL ... và có thể được đặt cho BẤT CỨ ứng dụng hỗ trợ webkit ... Nếu bạn không thấy Menu nhà phát triển hoặc không biết điều gì .. băn khoăn không ..

Ngay☝ (nhấp chuột) trên WebView và đi đến "Show Inspector".

Ngoài ra, những đường lối cũ, sau đây có thể làm một cái gì đó cũng .. nhưng tôi havent thử nó, vì vậy không chắc chắn ..

defaults write com.yourcompany.yourbundleid IncludeDebugMenu 1

+0

Tôi đã phải sử dụng 'mặc định viết com.yourcompany.yourbundleid WebKitDeveloperExtras -bool true' để nó hoạt động. – thomthom

22

của Apple recommends:

defaults write com.example.myApp WebKitDeveloperExtras -bool true 

Tuy nhiên, theo như tôi có thể nói, điều này có thể không còn hoạt động nếu bạn đang chạy ứng dụng của bạn ra khỏi hộp cát (mà bạn có thể cần phải làm trong một số giai đoạn phát triển).Trong trường hợp bạn gặp phải vấn đề này, những gì làm việc cho tôi là đặt giá trị cho khóa WebKitDeveloperExtras trong NSGlobalDomain:

defaults write NSGlobalDomain WebKitDeveloperExtras -bool true