問題タブ [iokit]
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.
c++ - Mac 内のすべての USB デバイスを一覧表示するプログラムを作成する方法は?
私は Mac OS X オペレーティング システムにあまり慣れていませんが、今は Xcode を使い始め、I/O キットについて勉強しています。Mac システムに接続されているすべての USB デバイスを一覧表示するには、コマンド ライン ツールを使用して Xcode でプログラムを作成する必要があります。この下で以前の経験がある人は、私を助けてください。誰かが私にサンプル コードを提供してくれれば、出発点を探しているので非常に役に立ちます。
xcode - MacでUSBデバイスのデバイス記述子と構成記述子を取得するにはどうすればよいですか?
xcodeとI/Okitフレームワークへの露出は最小限です。USBプローバーのUSBデバイスのデバイス記述子と構成記述子を見てきました。
I / Oキットフレームワークを使用してxcodeプログラムを作成しました。これは、そのデバイスの製品IDとベンダーIDを入力として指定すると、出力としてusbデバイス名を提供します。
}
これを変更する必要があります。これにより、usbデバイスのベンダーと製品IDを指定すると、デバイス記述子と構成記述子(USBプローバーに表示)が出力として取得されます。
ここで例を挙げましたが、コードは変更できますが、出力は記述子(少なくともデバイス記述子)である必要があります。
前もって感謝します...
c++ - ChargeInhibitアサーションの作成(OS X 10.6.8)
プラットフォーム(OS X 10.6.8)-[Macbook Pro-バッテリーの取り扱いに対処したいので、これは重要です-デスクトップには適用されません]
私は5年以上C/C ++を書いていなかったので、私が見ない基本的な間違いを犯した場合は許してください。AppleAPIがあなたにそれらを処理するように望んでいる方法に完全には従っていません。 、これが私の質問です。基本的には、ACアダプターからの充電を自分の命令で禁止できるようにしたいので、ラップトップを使用して接続しているときに充電するかどうかを選択できます。これを行うユーティリティは見つかりませんでした。これで、最初はハードウェアレベルでソフトウェアから変更できないものとして書き留めていましたが、その後、励みになる何かに出くわしました。
ターミナルウィンドウを開いて実行した場合
アサーションのリストと、それぞれに0または1が表示され、プロセスがそのアサーションをアサートしたかどうかが示されます。それらの最初のものはChargeInhibitというタイトルで、いくつか掘り下げた後、これがソフトウェアレベルで私が望むことを正確に実行することを発見しました。私はそれを主張する方法を理解する必要があります。
SetActive.c(リンク)というアップルソースアーカイブ内のファイルからコード をコピーしました。関数sendSmartBatteryCommandをXCodeプロジェクトにコピーし、正しくコンパイルできるようになるまで、他のヘッダーのリンクと定義のコピーに時間を費やしました。コピーされた関数は次のとおりです。
充電禁止と流入無効化のアサーションを送信しようとすると成功値が返されますが、pmsetからのログには変更が表示されず、バッテリーの充電/非充電の実際の状態も表示されません。
また、サービスの名前を「AppleSmartBatteryManager」から意味のない単語に変更して、関数が失敗を返すかどうかを確認しようとしました。これは、実際のサービスに接続していることを示しています。
これをできるだけ簡単に達成するためのヒントはありますか?
ちなみに、私はPowerManagementプロジェクトのAppleSmartBatteryManagerをAppleソースサイトのソースパッケージから再コンパイルしようとしましたが、XCodeでは処理できるよりも多くのエラーが発生します。私は、自分のプロジェクトと一緒にAppleSmartBatteryManagerソースを再コンパイルしないような方法で、既存のサービスと対話しようとしています。
編集:ちなみに、これは私が関数を呼び出した例です:
「which」パラメーターのオプションがヘッダーファイル(これもSetActive.cからコピーされたもの)の列挙型で定義されている場合:
xcode - Mac に GetDeviceDescriptorPtr() のようなメソッドはありますか?
IOUSBDeviceInterface 内に、構成記述子へのポインターを取得するための関数 GetConfigurationDescriptorPtr があります。参考までに以下にリンクを貼っておきます。
デバイス記述子へのポインターを取得するための GetDeviceDecriptorPtr のような関数はありますか?
前もって感謝します..
objective-c - How to correct "Undefined symbols for architecture x86_64" issues from I/O Kit?
I am running OSX Lion and would like to register for sleep notifications using I/O Kit as referenced here.
When I compile the code, I get Undefined symbols for architecture x86_64
for the following symbols IOAllowPowerChange
, IORegisterForSystemPower
and IONotificationPortGetRunLoopSource
.
I searched in Apple's documentation and they are all public functions. Any suggestions as to why I am getting those issues?
objective-c - Xcodeで静的関数が未定義のシンボルを削除するのはなぜですか?
I/O キットを使用しようとしていますが、I/O キットに正しくリンクしています。
I/O キットで関数を使用し、それを静的関数内で呼び出さないと、次のエラーが発生しますUndefined symbols for architecture x86_64
。
エラーを抑制する例を次に示します
エラーの原因となる例を次に示します。
なぜこれが起こっているのかについての提案はありますか?
編集:
正確なエラーメッセージは次のとおりです。
iphone - MFMessageComposeViewController(iPhone)を使用してSMSを作成するときの奇妙なログメッセージ
アプリでSMSメッセージを作成すると、奇妙なログメッセージが表示されますが、理解できません。私は解決策をオンラインで探しましたが、何も見つかりませんでした。印刷されるメッセージは次のとおりです。
これらの問題を解決するにはどうすればよいですか?IOKitフレームワークを見つけようとしましたが、Xcodeに組み込まれているフレームワークがないようです。アプリを送信すると、これらのメッセージが原因で拒否されますか?
これが私がSMSを作成して表示するために使用しているコードです:
次のデリゲートメソッドもあります。
objective-c - LionでIOKitを使ったスリープ表示
Mac でディスプレイをスリープ状態にする次のコードがあります。Lion で試してみましたが、何もしないようです。ウィンドウ内のボタンと IBAction メソッドを備えたベアボーン ウィンドウ Mac アプリを作成して、コードをテストしました。ボタンが押されると、以下の関数が呼び出されますが、何も起こりません。
なぜそれが機能しないのかについての提案はありますか?
cocoa - XcodeCocoaアプリケーションを使用したデバイスドライバーの作成
これについて何か考えを持っている人がいたら、いくつかのヒントを教えてください..あなたのリプレイをありがとう
xcode4 - Xcodeで作成されたデバイスドライバーはロードされません
このリンクに基づいてデバイスドライバーアプリケーションを実装しましたhttp://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptIOKit/iokit_tutorial.html
ターミナル($ sudo cp -R MyDriver.kext / tmp)にデバイスを読み込もうとすると、次のエラーが発生します。
私の疑問は次のとおりです:1)カーネルファイルが指定されていないエラー(アプリケーションで何を見逃したか)とは何ですか?2)MyDriver.kextとは何ですか。依存関係を解決できませんか?3)私のバンドル識別子は次のとおりです:
CFBundleIdentifiercom.MyCompany.driver。${PRODUCT_NAME:maanu}
返信ありがとうございます。