問題タブ [google-toolbox-for-mac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
296 参照

cocoa - Mac 用 Google ツールボックスを使用してファイルにログを記録する場合のログ ファイルのロールオーバー

Mac の GTMLogger 用の Google ツールボックスを使用して、作業中のアプリでファイルにログを記録しています。

ファイルが十分に大きくなったときにログ ファイルのロールオーバーを行う方法を決定しようとしています。

理想的には、ログ ファイルが一度に最大 11 個のログ ファイルで 1 MB に達したときの log4net の即時ロールオーバーのようなものが欲しいのですが、これを行うための組み込みの方法が見当たらず、それを追加しようとするかどうか疑問に思っています価値があるよりも面倒です。

私が考えることができるやや単純なオプションは、アプリの起動時にこのチェックを行い、特定のサイズを超えているログをロールオーバーすることです。もちろん、これの欠点は、誰かがアプリを 1 ~ 2 週間実行したままにした場合 (アプリの一部が launchd デーモンであるため、めったに再起動しない人にとっては確実に可能性があります)、 -この期間中に蓄積された些細なサイズ (有効なログレベルによって異なります)。

ここで私の最良の選択肢は何ですか?

0 投票する
2 に答える
810 参照

objective-c - Match first word of a phrase in a String

I am using the GTMRegex class from the Google toolbox for mac (in a Cocoa / Objective-C) app:

http://code.google.com/p/google-toolbox-for-mac/

I need to do a match and replace of a 3 word phrase in a string. I know the 2nd and 3rd words of the phrase, but the first word is unknown.

So, if I had:

lorem BIFF BAM BOO ipsem

and

lorem BEEP BAM BOO ipsem

I would watch to match both (BEEP BAM BOO) and (BIFF BAM BOO). I then want to wrap them in bold HTML tags.

Here is what I have:

However, this is not working. basically, I cant figure out how to match the first word when I dont know it.

Anyone know the RegEx to do this?

Update:

GTRegEx uses POSIX 1003.2 Regular Expresions, so the solution is:

Note the crazy syntax for the word boundaries.

Update 2 : Here is the JavaScript version:

0 投票する
13 に答える
27008 参照

iphone - 非同期APIをユニットテストする方法は?

XcodeにGoogleToolboxfor Macをインストールし、ここにある単体テストを設定する手順に従いました。

それはすべてうまく機能し、すべてのオブジェクトで同期メソッドを完全にテストできます。ただし、実際にテストしたい複雑なAPIのほとんどは、デリゲートのメソッドを呼び出すことで非同期で結果を返します。たとえば、ファイルのダウンロードと更新システムを呼び出すとすぐに戻り、ファイルのダウンロードが終了すると-fileDownloadDidComplete:メソッドが実行されます。 。

これを単体テストとしてどのようにテストしますか?

testDownload関数、または少なくともテストフレームワークがfileDownloadDidComplete:メソッドの実行を「待機」したいと思うようです。

編集:XCode組み込みのXCTestシステムの使用に切り替えましたが、GithubのTVRSMonitorが、セマフォを使用して非同期操作が完了するのを待つ非常に簡単な方法を提供していることがわかりました。

例えば:

0 投票する
3 に答える
565 参照

iphone - NSString に適用されるカテゴリは、「無料のブリッジ」を介して NSCFString にも適用されますか?

内部で Google ツールボックス for iPhone を使用しているように見える iPhone アプリにライブラリを統合しています。Google ツールボックスはgtm_stringBySanitizingAndEscapingForXMLNSString にメソッドを追加します。問題は、このライブラリを呼び出そうとするたびに、

[NSCFString gtm_stringBySanitizingAndEscapingForXML]: unrecognized selector sent to instance 0x272478

そのため、ライブラリはカテゴリが適用されない NSCFString でそのメソッドを呼び出しているようです。では、このカテゴリは、無料のブリッジを介して CoreFoundation クラスに適用されないということでしょうか? もしそうなら、私たちは少なくともそれが爆発している理由を知っています. それを修正する方法を理解することは別の問題です。

0 投票する
1 に答える
1206 参照

iphone - iPhone: gcov を使用するにはどうすればよいですか?

iPhone プロジェクトで gcov を使用しようとしており、ここに記載されている Apple の指示に従いましたが、機能しません。

プロジェクトをビルドして構成すると、オブジェクト ファイルごとに .gcda ファイルが作成されます。ただし、実行された行は .gcda ファイルに記録されません。(CoverStory は、すべてのカバレッジが 0% であることを示しています)

次のように、テンプレートプロジェクトに単純なクラスを追加しました。

このクラスを割り当てて、application:didFinishLaunchingWithOptions で func1 を呼び出しました。

OSX 10.6.4、iPhone SDK 4.0、および Xcode 3.2.3 を使用しています。さらに構成が必要ですか? ガイドしてください。

更新 2010/7/15:

@tonclon から提供されたリンクでこれらのヒントを試しましたが、まだ機能しませんでした。次の説明では、私が試したものです。

  1. GCC 4.0 でコンパイルされた Cocoa アプリケーション 「Cocoa」アプリケーションのプロジェクト設定で、

    • GCC_INSTRUMENT_PROGRAM_FLOW_ARCS を YES に設定します
    • GCC_GENERATE_TEST_COVERAGE_FILES を YES に設定します
    • その他のリンカー フラグを -lgcov に設定します。
    • C/C++ コンパイラのバージョンを 4.0 に設定します。

    うまくいきました.gcdaファイルは、期待どおりのカバレッジ情報で生成されました. ただし、SDK 4.0 を使用した iPhone プロジェクトでは、gcc 4.0 は SDK 4.0 の一部の構文 (ブロックなど) をコンパイルできないため、同じ構成を使用できません。

  2. google-tool-box でカスタム gcov ライブラリを使用する Other Linker Flag に -lgcov を設定する代わりに、 google-toolbox-for-mac に含まれるカスタム gcov ライブラリを試しましたが、生成された .gcda ファイルのカバレッジは 0% です。(同じ結果)

次に何をすべきか教えてください。任意の提案をいただければ幸いです。

0 投票する
2 に答える
278 参照

iphone - google toolbox for mac を使用した単体テスト用のコンパイル エラー

こんにちは、私のアプリケーションは正常に動作しますが、単体テストを実行しようとすると、このエラーが発生します...

皮肉なことに、私はプロジェクト全体を検索しましたが、使用する同様のコード行はありません**[NSURL initFileURLWithPath:]**

私は成功せずに一日の半分をほとんど無駄にしました.

プロジェクトでコアデータを使用しています。以下はスタック トレースを含むスクリーン ショットです。

誰でも私を正しい方向に導いてください。

ありがとう スクリーンショット

**編集:** この問題の解決策は、.xcdatamodel ファイルだけでなく、ルート ファイル .xcdatamodeld を追加することです。Core Data がモデルを見つけるのに問題があったため、このエラーが表示されていました。いつか誰かの役に立てば幸いです。

0 投票する
2 に答える
3927 参照

iphone - OCMock:UIWebViewモックを呼び出そうとすると、認識されないセレクター例外が発生するのはなぜですか?

編集:これはすべて、他のリンクフラグ設定のタイプミスが原因でした。詳細については、以下の私の回答を参照してください。


iOS View Controllerのテスト中にUIWebViewのメソッドが呼び出されていることを確認できるように、UIWebViewをモックしようとしています。私は、SVNリビジョン70(この質問の時点で最新)から構築されたOCMock静的ライブラリと、SVNのGoogle Toolbox for Mac(GTM)ユニットテストフレームワーク、リビジョン410を使用しています。ビューコントローラが期待されるメソッドを呼び出そうとすると、次のエラーが発生します。

私のテストコードは次のとおりです。

私のビューコントローラコードは次のとおりです。

代わりに次を使用すると、テストが正常に実行されることがわかりました。

ただし、コメントアウトされた期待値を追加するとすぐに、部分モックを使用するとエラーが返されました。

同じプロジェクトでモックを正常に使用している他のテストがあります。

何か案は?UIKitオブジェクトのモックはOCMockでサポートされていますか?

編集:以下の回答のアドバイスに基づいて、次のテストを試しましたが、同じエラーが発生します:

0 投票する
2 に答える
676 参照

iphone - google-toolbox-for-mac iphone 単体テスト: 1073 Abort trap mkdir "$CFFIXED_USER_HOME" コマンド /bin/sh が終了コード 134 で失敗しました

google-toolbox-for-mac から iPhone ユニット テスト フレームワークをセットアップしようとしています。簡単な単体テストを作成してビルドしようとすると、次のエラーが表示されます。私の同僚は、同じプロジェクトを使用して、自分のマシンで正常にビルドできます。私の人生では、何が欠けているのかわかりません。以下は、私が見るエラーメッセージです。誰にも洞察がありますか?

あなたに属する一致するプロセスは見つかりませんでした

mkdir(1073) malloc: エッジの保護

mkdir(1073) malloc: 標準レコーダーを使用して malloc スタックをディスクに記録する

mkdir(1073) malloc: ブロックを解放する mod を検出するための落書きを有効にします

mkdir(1073) malloc: プロセス 1059 が存在しなくなり、スタック ログが /tmp/stack-logs.1059.mkdir.QDKY28.index から削除されました

mkdir(1073) malloc: /tmp/stack-logs.1073.mkdir.KrpE2L.index に書き込まれるスタック ログ

iPhone に存在しないシステム ライブラリ内のシンボルを呼び出そうとする試みが検出されました: getopt$UNIX2003 が関数から呼び出されました ??? イメージmkdirにあります。

gdb 内でシミュレータ バイナリを実行しているときにこの問題が発生した場合は、最初に「start-with-shell をオフに設定」してください。

/Developer/google-toolbox-for-mac/UnitTesting/RunIPhoneUnitTest.sh: 150行目: 1073 Abort trap mkdir "$CFFIXED_USER_HOME"

コマンド /bin/sh が終了コード 134 で失敗しました

0 投票する
2 に答える
808 参照

unit-testing - OCMock で IBOutlet 接続を確認する

IBoutletコントローラ クラスのすべての が NIB ファイルに正しく接続されていることを単体テストで確認したいと考えています。OCMock を使用してこれを行いたいと思いますがnil、NIB をロードした後ではなく、コントローラーの変数を単純にアサートできることはわかっています。これは、プロセスがどのように機能するかについての一般的な理解の問題です。私が理解している限り、これも機能するはずです。

NIBOnOffSwitchCellには File's Owner がありOnOffSwitchCellControllerます。これは私のテスト方法です:

guiBundle存在し、有効な NSBundle オブジェクトであることが確認されています。

私が理解していることからloadNibNamed:owner:options:、NIB内のオブジェクトを逆シリアル化し、呼び出してから、それぞれawakeAfterUsingCoder:を呼び出してアウトレットを設定しsetValue:forKey:ます。

ロードされた NIB に実際に正しいオブジェクトが含まれていることを確認するために、さらに 3 つのアサートを追加しました。実際のコントローラーのインスタンスを追加すると、これらは OK を通過します。しかし、上記のようにモックを使用すると、ここまで到達しません。代わりに、テストは次のようにクラッシュします。

awakeAfterUsingCoder:そのため、私は明らかに期待していたにもかかわらず、への呼び出しが予期しないものであると不平を言っています。

また、その期待を取り除き、モックを余分なメソッド呼び出しを報告しない素敵なモックに置き換えてみましたが、それでも中止setValue:forKey:され、呼び出されていないと報告されます。

ここで何が欠けていますか?

0 投票する
1 に答える
201 参照

objective-c - Google Toolbox for MAC (GTM) を使用した Mac アプリの単体テスト

GTM は iPhone アプリでのみ使用できますか? それとも iPhone アプリと Mac アプリの両方で使用できますか?

前もって感謝します。