問題タブ [mac-frameworks]
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.
macos - コアデータEXC_BAD_ACCESSは保存に失敗しますか?
私のコアデータモデルは保存されません。1種類のオブジェクト(グラフ-以下を参照)を挿入すると、保存が機能します。その種類のオブジェクトの複数のコピーを追加でき、保存は機能します。別のオブジェクトを挿入すると、通常は次のように失敗します。
他のオブジェクトは複雑ではありません。文字列と数値だけです。それらの値は保存時に設定されます。プログラムをNSPersistentDocumentの初期化だけに減らしました。以下はinitWithType:error:
、NSPersistentDocumentサブクラスで呼び出される関連コードです。
実行すると、次のようになります。
すべてのエンティティには、NSManagedObjectをサブクラス化する独自のクラスがあります。すべての属性は動的プロパティとして定義されます。すべての属性にはデフォルト値があり、それらを使用するのが妥当です。
他の人がこのタイプの問題の過剰リリースを提案しているのを見たことがありますが、CoreDataコードのどこでも保持とリリースを実行していません。Graphオブジェクトの後に挿入するエンティティは関係ありません。それらはすべて失敗します。
Core Dataの作業は、フレームワーク(グラフ)によって行われます。フレームワークは、フレームワークのドキュメント作成オブジェクトをサブクラス化するドキュメントベースのアプリケーション(Z)から呼び出されます。
保存パネルの最後からのスタックトレースは次のとおりです。
cocoa - Apple フレームワークを必要とするカスタム フレームワークを設計するための Cocoa のベスト プラクティス
十数個のクラスとカテゴリを持つカスタム フレームワークがあるとします。それらはすべて、標準のココア クラスを継承/拡張します。このため、私のフレームワークはコンパイル中に < Cocoa > にリンクします。
私の質問は、< QuartzCore > を必要とするクラスを追加する場合、それをパッケージ化するための推奨される方法は何ですか?
1) フレームワークにクラスを追加して QuartzCore をインポートするだけの場合、フレームワークのすべてのコンシューマーも QuartzCore をインポートする必要があります。
2) クラスを別のフレームワークに移動する場合、すべてのコンシューマーは、QuartzCore だけでなく、両方のフレームワークをインポートして完全な機能を取得する必要があります。最初のフレームワークのどのクラスも、2 番目のフレームワークを使用できません。
3) #ifdef #endif などを実行してから、QuartzCore フレームワークを弱リンクして、Cocoa 標準クラスと QuartzCore 依存クラスの両方が単一のフレームワーク内にあるが、消費者が QuartzCore を追加する必要がないようにする方法はありますか?彼らのプロジェクトに?QuartzCore が理想的に存在しない場合、クラス/カテゴリはランタイムで利用できません。
xcode - xcodeプロジェクトのFrameworks/MyFramework.framework /が空なのはなぜですか?
xcodeとcocoaは初めてです。
フレームワークプログラミングガイドによると、フレームワークを作成するときに従うべき特定のディレクトリ構造があります。最近、xcodeを使用してフレームワークプロジェクトを開始しましたが、このディレクトリ構造が自動的に提供されていないことに驚きました。
プログラミングガイドから:(必要がなければ、そのリンクをクリックする必要がないように)
リスト1 単純なフレームワークバンドル
このディレクトリ構造を手動で作成する必要がありますか?この質問の手順に従って、フレームワーク製品を作成し、別のプロジェクトに含めました。プロジェクトはビルドされFrameworks/MyFramework.framework/
ますが、空です。
私自身の調査により、上記のファイルシステムが製品で作成されていることに気付きました(以下のコメントを参照)。これにより、質問が変わります。すべてのパブリックヘッダーがフレームワーク製品に存在するにもかかわらず、なぜFrameworks/MyFramework.framework/
空になるのでしょうか。
ありがとう!
python - brew経由でpython2.7.3をインストールしましたが、virtualenvは常に2.7.1を使用します。なぜですか?
システムのデフォルトのPythonは次のとおりです。
私$PATH
は
python 2.7.3
経由でインストールしましhomebrew
た、
そしてそれをリンクし、
しかし、私がvirtualenvを作成するとき、それはまだです2.7.1
それを解決する方法は?
macos - P/Mono Mac での .framework ファイルへの呼び出し
Windows で使用していた C# コードを、Mono 経由で Mac で使用できるように移植しています。このコードでは、アンマネージ C++ dll に P\Invoke します。残念ながら、私たちのビルド プロセスでは、Mac 上のフレームワーク ファイルしか配布できず、dylib ファイルは配布できません。
コードを Mono 用に移植すると、すべて正常に動作しますが、P\Invoke は Framework ファイルに組み込まれます。デフォルトの検索パスにあるはずの /Library/Frameworks フォルダーにフレームワーク ファイルを追加しようとしましたが、DllNotFound 例外が引き続き発生します。Mono Interop Guideによると、 Monoが Mac で検索する拡張子として .so を追加すると問題が発生します。そのため、構成ファイルを追加して、ターゲットを .framework ファイルとして指定しようとしましたが、それでも同じ例外が発生しました。Mono ガイドでは、フレームワークで P\Invoke を実行するとより複雑になると述べていますが、正確な問題やそれらを回避する方法については言及していません。
Mono のフレームワークに P\Invoke する方法を知っている人はいますか?
xcode - コマンドラインアプリ用にSwift共有ライブラリが静的にリンクされていますか?
Mac OS X 用の Swift アプリケーションで外部フレームワークを使用しようとしています。外部フレームワークも Swift を使用するため、Swift 共有ライブラリ (たとえば、libswiftCore.dylib
) に依存します。これは、コマンドによって確認されます
見上げれ@rpath
ば分かる
したがって、実行時に@rpath
解決することを期待しています@executable_path/Frameworks
問題
実行時エラーが発生する
ビルドした実行可能ファイルを含むフォルダーを調べても、Frameworks
フォルダーが表示されません。
修正に失敗しました
アプリに設定しようとEMBEDDED_CONTENT_CONTAINS_SWIFT
しYES
ましたが、それでもフォルダーが作成されません。Frameworks
フォルダーを手動で作成Frameworks
し、Swift 共有ライブラリにコピーしようとしました ( /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx
.
質問
Swift ライブラリがアプリケーションに静的にリンクされている可能性はありますか? その場合、それをオフにして、Frameworks
代わりに XCode にフォルダー バージョンを作成させるにはどうすればよいですか?
コマンドラインアプリであることは重要なポイントだと思います。通常のアプリを作成してフレームワークを追加しようとしましたが
Frameworks
、パッケージ内に予想されるフォルダーを取得し.app
、Swift 共有ライブラリが含まれています
c++ - Qt: Mac でのリンク フレームワーク: rpath の使用
Qt でカスタム フレームワークを作成したいと考えています。フレームワーク自体を作成することはできますが、Qt を実行するとフレームワークが見つかりません。
理由は単純です。バイナリは、フレームワークを探す場所を認識していません。
バイナリで otool を使用したところ、次のようになりました。
だから、私の質問は次のとおりです(詳細については、以下のものを確認してください):qmakeにライブラリのパスを設定するように指示するにはどうすればよいですか:
qmakeでこれを行う方法はありますか? でこれを変更する方法は知っていますinstall_name_tool
が、.pro ファイルに直接追加したいと思います。
私がこれまでにやったこと:
pro ファイルを変更してバイナリの rpath に変更し、ビルド時にライブラリが配置されているパスを含めます。
このようにして、.rpath を使用せずに、リリースの rpath を簡単に変更できますinstall_name_tool
。ただし、これを機能させるには、最初の行を次のように変更する必要があります。
アプリケーションのプロファイル ファイルで、次のように指定しました。
最後の欠けている部分は、 を追加する方法@rpath/
です。ご協力いただきありがとうございます。