問題タブ [external-accessory]
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.
ios - iOSアプリでMFiBluetoothデバイスのわかりやすい名前を取得するにはどうすればよいですか?
したがって、 EAAccessoryは、デバイスの名前を取得するためのプロパティを提供します。私が照会したデバイスから、これは通常、ページに表示されるわかりやすい名前と同じではありませんSettings > Bluetooth
。これは通常、デバイスの一般的なモデル名です。
EAAccessory
、または他のクラスを使用して、デバイスのわかりやすい名前を取得する方法はありますか?
ios - 外部アクセサリと非同期でデータを送受信する方法
外部アクセサリと非同期でデータを送受信することについて混乱しています。MFi外部アクセサリを使用しています。EADemoを確認しましたが、データの送受信が同期されているようです。これについての提案は、事前に感謝します。
ios - iOS ExternalAccessory Bluetooth の問題
iPodでExternalAccessoryを実行するのに問題があります...
私のコンピューター (mac、Mountain Lion) で実行されている bluecove bluetooth リスナーが Java であり (そのコードはこちら: http://pastebin.com/j6Eu0H66 )、iPod とコンピューターのペアリングに成功しました。ただし、ipod リストを作成すると、次のようになります。
私はコオロギしか手に入れません。これは、info.plist に有効なアクセサリを設定しなかったためだと思いますが、何を入力すればよいかわかりません。
EAAccessoryManager を介して自分のコンピューターを見つけることができない理由と、有効なプロトコルとして分類されるものを知っている人はいますか? プロトコルとして実際に何を書くべきかについてのドキュメントは見つかりません。
PS このプロジェクトの初期段階で、lejos 経由でコンピューターと NXT をペアリングしようとしましたが、次の問題に遭遇しました。
https://groups.google.com/forum/?fromgroups=#!topic/bluecove-users/7jWv1V1GC-4
その結果、最初のコメントの後にいくつかのコメントを投稿したハックを使用し、Mountain Lion IOBluetooth.framework を Lion IOBluetooth.framework に置き換えました。それがiOS側に大きな影響を与えるかどうかはわかりませんが、皆さんにお知らせする必要があると思いました.
PSS アクセサリのリストを出力するために使用しているコード: まだ何も返されておらず、protocolString もまだ使用されていないことに注意してください。
「Testing123」ログは表示されますが、「Device!」ログは表示されません。ログ
また、ここに私のinfo.Plistのスクリーンショットがあります:
objective-c - ExternalAccessory ストリーム デリゲートは、常にバックグラウンドで呼び出されるわけではありません
EA フレームワークで問題が発生しています。アプリがフォアグラウンドにあるとき、アクセサリがセッションを開いてストリームを取得し、デリゲートを設定して、メインの実行ループでストリームをスケジュールすると、すべてが機能します
アクセサリは私の iPhone に毎秒 ping を送信しており、これらの ping はストリーム デリゲートで読み取られます。この ping は一種のハートビートです。iPhone が数秒間 ping を受信しない場合、ユーザーは警告を受けます。
このアプリはバックグラウンドで動作するはずなので、対応するキーを plist ファイルに追加しました
アプリがバックグラウンドで実行されると、すべてが 10 ~ 30 分間正常に動作し、突然 7 ~ 8 秒間、ストリーム デリゲートが呼び出されず (ただし、ping はアクセサリから送信されます)、その後 1 秒でデリゲートが呼び出されます。が 8 回呼び出されます (最後の 1 秒間に送信されたすべての ping に対して) アプリが 8 秒間中断されたようで、この間隔で発生したすべてのイベントがキューに入れられ、後で配信されます。問題は、この 8 秒間にアプリケーションが ping を受信しないため、ユーザーに誤った警告が表示されることです。
私はこの行動を理解していません。誰かが同じ問題に直面していますか? メインの実行ループでストリームをスケジュールするのではなく、バックグラウンド スレッドを介してストリームをポーリングすることを検討しています。
ありがとう、
ios - UIEventSubtype の欠落要素
列挙型 UIEventSubtype (iOS UIKit フレームワーク) には、再生、一時停止、次へ、シークなどのイベントが含まれます。ただし、iPod アクセス プロトコルには、選択、上へ、下へ、戻るなど、他の多くのイベントが含まれます (iPod にクリックホイールがあると考えてください)。iOS の iPod アプリは、これらの他のイベントを受け取り、それに応じて応答できます (プレイリストで選択を上下に移動します) が、開発者アプリはこれらのコントロールにアクセスできないようです。
/dev/tty.iap
自分でポートを開く (または Apple にバグレポートを提出して待つ)以外に、iOS アプリでこれらの追加イベントを受信する方法を知っている人はいますか? おそらく、私が探しているものを持つプライベートフレームワークがありますか? IAP フレームワークを調べましたが、興味深いものは何もありませんでした。
iphone - 外部デバイスがプロトコルを報告しない
私が取り組んでいるアプリがあり、ドック コネクタを介して外部デバイスとのやり取りを統合したいところです。私が使用しているデバイス (iDive 300) は、Made For iPod プログラムに準拠しています。デバイスに関する情報を収集するために、EADemo コードに基づいて別の単純なアプリを作成しました。ただし、このアプリを実行すると、iDive は名前、シリアル番号、ファームウェアなどについて何も報告せず、プロトコルが見つからないとも言います。他のいくつかの外部デバイスに接続しており、デバイスごとに名前、シリアル番号などが入力されているため、このシンプルなアプリが正しく機能していることはわかっています。
もう 1 つの奇妙な点は、iDive を iPhone 4 に接続すると正しく動作するように見えることです (つまり、デバイスのボタンを介して、音量を上げたり、iPhone にある曲やビデオを再生したりします)。これは、このデバイスが iPhone と通信するための何らかのプロトコルが整っていることを意味するのではないでしょうか? プロトコルを知らなくても、このデバイスからデータを読み取ることはできますか (たとえば、「再生」、「メニュー」、またはその他のボタンが押されたときにキャプチャします)。
私は外部アクセサリ フレームワークにまったく慣れていないので、助けていただければ幸いです。
external-accessory - 外部アクセサリ フレームワークの入力ストリームと出力ストリームの最大サイズはありますか?
外部アクセサリ フレームワークの入力ストリームと出力ストリームの最大サイズはありますか? 大きなものを送る場合、チャンクする必要がありますか?
iphone - EAOutputStream write:maxLength: - ストリームに使用可能なスペースがないため、230 の書き込みに失敗しました
これを使っていました。iPhoneをIOS 6.1にアップグレードするまではうまく機能していました。
エラーメッセージが表示されるようになりました:
エラー - /SourceCache/ExternalAccessory/ExternalAccessory-213/EAOutputStream.m:-[EAOutputStream write:maxLength:] - ストリームに使用可能なスペースがないため、230 の書き込みに失敗しました
ios - RedPark がシリアル ポートからデータを読み取れない: UIViewController と UINavigationController の比較
Redpark Serial SDK 1.4 r270 を使用して、iPhone の I/O 機能を支援しています。私が現在抱えている問題の1つは、使用して指定されたデータを読み取ることです
ここに私のエラーがあります。
これは完全に機能し、単一のビュー アプリケーションでは正常に機能します。
ボタンがクリックされたときに A => B であるビュー A とビュー B を持つ UINavigationController があるとします。ビュー B は RscMgr スレッドを使用しており、すべての魔法がたまたまシリアル ポートから読み取られます。ビュー B の UINavigationController の最初のインスタンスでは、このビューに留まると完全に正常に動作します。ポートを切断して接続し、データのストリーミングを続行できます。
ただし、ビュー A に戻ってからビュー B に戻ると、すべてが地獄に落ちます。この関数からデータを読み取ることができなくなり、コンソールに (複数の) エラーが見つかりました。なぜこれが起こったのか、どうすれば修正できるのか、正当な理由がある人はいますか? UIViewController をスタックからポップすると、すべてがリセットされ、RscMgr スレッドが再び作成されますが、何も表示されません。SDK が提供されていないため、SDK を使用してバッファーをクリアする方法がわかりません。
ios - Apples 外部アクセサリ (Bluetooth) は MFI デバイス専用ですか?
私の学士論文の目標は、ブルートゥース アダプタを介してオプトシリアル デバイスを iPad に接続することです。現在、私はAppleの制限に苦しんでいます。サポートされているプロファイルを使用して、少なくともそれらのいずれかをサポートするデバイスに接続できることを Web でよく読みます。しかし、Apple のテクニカルFAQは、 「外部アクセサリ フレームワークは、iOS アプリケーションが Apple の MFi ライセンシー プログラムの下で開発されたハードウェア アクセサリとのみ通信できるように設計されている」と指摘しています。ここに書いている人たちが冗談で嘘をついているとは思いません。
非 MFi アクセサリを使用して、それが機能するかどうかを経験から教えてもらえますか?それがポイントです。