問題タブ [macruby]
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.
objective-c - 些細なPDFKitプログラムの奇妙なEXC_BAD_ACCESS
私は、テキストフィールドに関連付けられたこの些細なアクションメソッドを作成しました。
テキストフィールドにテキストを入力するたびに、PDFで検索が実行され、PDFView
選択範囲まで自動的にスクロールします。
問題は、3回または4回の検索の後EXC_BAD_ACCESS
、行(i)に到達することです。
デバッグすると、クエリにがNSCFString
ではなくが含まれていることがわかりますNSString
。
メモリ管理の問題だと思いますが、どこで?
些細なテストケース内で同じ問題を再現しました。
更新:
1)2回目の検索を実行するたびに、非同期検索(メソッドbeginFindString:withOptions)を使用した場合にも発生するようです。
2)MacRuby Issue Trackingで私のものと同様の問題を見つけました:http://www.macruby.org/trac/ticket/1029
3)一時的にガベージコレクションを無効にすると、動作するように見えますが、メモリが増加します。私は次のようなものを書きました:
周囲の検索コード
別の更新
非常に奇妙なことは、すべてが機能することもあるということです。私が掃除して再構築するよりも、問題が再び発生します。ある観点からは、100%再現性はありません。PDFKitまたは私がしなければならないいくつかのコンパイラ設定のバグが疑われます
再度更新する
親愛なる、それは非常にクレイジーに見えます。私は非常に些細で問題を簡単に再現するテストケースに集中したいと思います。どうしたの?このテストケースは、GCを(コードまたはプロジェクト設定によって)無効にした場合にのみ機能します
別の更新
バグのようですが、AppleのWebサイト( http://developer.apple.com/library/mac/#samplecode/PDFKitLinker2/Introduction/Intro.html#//apple_ref/doc/uid/DTS10003594)からPDFLinkerという例をダウンロードしました。)。この例では、PDFViewerを実装しています。私のアプリのコードとこの例は非常に似ています。同じPDFで同じ検索アクションを実行すると、メモリは300/400 MBで増加し、PDFLinkerは190MBで増加します。明らかに私のコードに何か問題があります。しかし、私はそれを少しずつ比較していて、メモリリークを挿入しているとは思いません(そしてInstrumentは私に証拠を与えません)。たぶん、プロジェクト全体の設定はありますか?
更新はまだ 64ビットから32ビットへの変更メモリ消費量が減少しました。確かに64ビットとPDFKitには問題があります。ところで、2回目の検索でもEXC_BAD_ACCESS
解決 策重要な点は、ガベージコレクションを含むPDFKitにバグがあることです。GCを無効にすると、すべて正しく機能します。分析を複雑にする別の問題がありました。プロジェクト設定でGCを無効にしましたが、ターゲット設定でGCを有効のままにしました。したがって、Appleの例のPDFLinked2は機能しましたが、私の例では機能しませんでした。
ruby - macrubyアプリケーションでgemをXCodeで使用する最も簡単な方法は何ですか?
XCode で作成している単純な macruby アプリケーションに rubygem を含める必要があります。require 'rubygems' を使用してもエラーは発生しませんが、他の gem を要求する次の行でロード エラーが発生します。macgems を使用して gem をインストールしました。前もって感謝します。
xcode - xcode4 経由で Mac アプリを送信できません - 署名が無効です
このエラーが発生し続けます:
無効な署名 - このエラーは、アプリのインストーラーに間違って署名した場合に発生します。このプロセスには、「サード パーティ Mac 開発者アプリケーション」証明書と「サード パーティ Mac 開発者インストーラ」証明書の 2 つの証明書が必要です。パッケージに署名するときは、インストーラ証明書を使用してパッケージに署名していることを確認する必要があります。Xcode オーガナイザー経由でアプリを送信するとき、またはコマンド ラインから productbuild を実行するときに、この証明書を指定していることを確認してください。
私はグーグルで検索し、指示に従いましたが、役に立ちませんでした。
私は持っている:
プロジェクト > ターゲット > ビルド > コード署名 > サードパーティ Mac 開発者アプリケーション:
次に、アーカイブに移動してオーガナイザーが開き、送信に移動して「サードパーティの Mac インストーラー」キーを選択します。しかし、それでも失敗します:(
他に何かする必要がありますか?きれいにしてから最初にビルドするのが好きですか?(何のためにビルドしますか?それとも単にビルドを選択しますか? - 最初にほとんどすべてを試してからアーカイブしましたが)。
関連性がある場合、私は MacRuby を使用しており、 xcode展開用にセットアップするために最初にこれを行う必要がありました。
助けていただければ幸いです-私はここで髪を引き裂いています:(
cocoa - MacRuby: NSTextField を整数に制限する
IB バージョン 3.2.6 を使用して、Cocoa と Interface Builder の基本を取り上げています。ネイティブ OS X アプリで MacRuby を使用する方法を学びたいと思っています。
整数値のみを受け入れたい NSTextField があります。NSNumberFormatter を使用しましたが、整数のみを受け入れるオプションがないようです。
これをどのように行いますか?Interface Builderで実行できますか?
ruby - ruby 正規表現の引用符が文字列の開始と誤って解釈される
xcode に macruby プロジェクトがあり、文字列内のすべての左引用符と右引用符をそれぞれ~@@~@@~"
とに置き換えたいと考えて"~@@~@@~
います。rubular.com で次のコードをテストしたところ、正しく動作しました。
しかし、これを xcode で使用すると"
、正規表現の が文字列の先頭として解釈され、 の引数の数が間違っていると表示されgsub
ます。私は引用符をエスケープしようとしました:
しかし、それもうまくいきませんでした。ご協力いただきありがとうございます。
編集:エラーを解消することができましたが、何か他のことが原因だったようです。ハイライトはまだオフになっていますが、機能しているので対処できます。
ruby - MacRuby を対象とする gem の gemspec をどのように記述しますか?
MacRuby プラットフォーム用の gem を書き始めています。platform
で指定することになっているのは何Gem::Specification
ですか?
ruby - MacRuby: ファイル ダイアログの EXC_BAD_ACCESS
私は MacRuby を使用しており、Matt Aimonetti による MacRuby: The Definitive Guide という本を読んでいます。
ムービー CoreData アプリの例では、次のコードを取得しました。
アプリは正常に読み込まれ、問題なく実行されます。CoreData で新しいムービーを作成して削除することもできます。ただし、この関数を呼び出すボタンをクリックすると、ダイアログ ウィンドウが正常に開きますが、「キャンセル」または「ファイルを開く」 " ボタンはここでクラッシュを引き起こします:
どんな助けでも大歓迎です。BridgeSupport と関係があると思いましたが、埋め込みが機能しないか、埋め込みを試みても機能しません。いずれにせよ、本で提供されている例もクラッシュするため、他の何かが機能していないようです。
ありがとう!
追記:
macruby.org からこのコードを試してみたところ、問題なく動作しました。
beginSheetModalForWindow 呼び出しで何かが壊れているか、何かを追跡しようとして何かが欠けているようです。ファイル選択用のモーダル ダイアログを上記のコードで動作させることはできますが、ウィンドウに添付されたシートではありません。
xcode - NSFontPanelのデフォルトを設定するにはどうすればよいですか?
クールなアプリの設定ウィンドウを設定しています。このウィンドウにはテキストが表示されます。設定では、を開くボタンを設定しましたNSFontPanel
。私のアプリはユーザーの好みのテキストの色とフォントを保存し、常にそれらの設定で開きます。これにより、ユーザーは好みの色やフォントで表示されたテキストを見る必要がなくなります。
問題は、私のアプリはこれらの設定を記憶できますが、問題が発生するNSFontPanel
ことです。フォントパネルを最初に開くと、すべてのフィールドのデフォルト値がリセットされます。それらをいじり、パネルを閉じてから再び開いた後、正しい値が保持されます。この問題は、最初にパネルを開いたときにのみ発生します。
なぜこれが起こっているのか分かりません!
このスニペットからわかるように、アプリの起動時にパネルのフォントと色を慎重に設定しました。
cocoa - NSSavePanel でファイル名を事前設定するにはどうすればよいですか?
NSSavePanel には、保存パネルのディレクトリとファイル名を事前設定できる runModalForDirectory:file: メソッドがありました。しかし、それは 10.6 で廃止されました。
NSSavePanel を作成するとき、非推奨の方法を使用せずにファイル名を事前に設定するにはどうすればよいですか?