オレブラウザの設定内容をShared User Defaults Controllerで保存するようにしているけど、設定内容で「WebKitDeveloperExtras」というModel Key Pathを設けて真偽値で保存。そうするとWeb Inspectorが利用可能になる。簡単だね。
設定ウインドウでWeb Inspector利用の有効/無効を設定できるようにする。設定ウインドウにはGeneralとAdvancedがあったけどAdvancedで設定できるようにする。
Advancedビューにcheck boxオブジェクトとlabelオブジェクトを配置してデザインした。

check boxオブジェクトのbinding inspectorの内容はこう。

これでWeb Inspectorが利用可能になった。コードは特に書かなくていい。けど最初はこの機能を無効にしたいと思うからコードを書いておく。applicationWillFinishLaunching_()にこう書いた。
on applicationWillFinishLaunching_(aNotification) set userDefaults to standardUserDefaults() of current application's NSUserDefaults if stringForKey_("WebKitDeveloperExtras") of userDefaults is missing value then tell userDefaults to setBool_forKey_(false,"WebKitDeveloperExtras") end if set homepageURL to stringForKey_("homepageURL") of userDefaults if homepageURL is missing value then set homepageURL to "http://www.apple.com/" tell userDefaults to setObject_forKey_(homepageURL,"homepageURL") end if tell webView to setMainFrameURL_(homepageURL) end applicationWillFinishLaunching_
起動して動作確認。設定を有効にした後、アプリを再起動。ウェブコンテンツで右クリックしInspect Elementsを選択するとWeb Inspectorが立ち上がる。


UI Testのページでconsole.log()の実行を追加。意図通りログ出力が確認できた。

いい感じになってきたので調子に乗ってJSを自由にテストできるようUI TestページにJS実行ウィジェットも追加した。Web Inspectorがちゃんと仕事してるなーって雰囲気も味わえる。
今回はここまで。
0 件のコメント:
コメントを投稿