問題タブ [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.
iphone - iPhoneへの非MFIレジスタカードリーダーを検出する
カードリーダーとiPhoneをDockコネクタ経由で通信するための1つのアプリケーションを作成したいと思います。しかし、問題は、私のカードリーダーアクセサリがMFIに登録されていないことです。そのため、デバイスを接続または切断したときに通知を受け取ることができないので、iPhoneにMFIに登録されていないアクセサリを接続または検出する方法を教えてください
ありがとう。
ios - 外部アクセサリコマンドプロトコル
アクセサリのファームウェアで宣言されたプロトコルに従って外部アクセサリから送信されるコマンドバイトの形式と、iOSアプリコードのinfo.plistについて教えてもらえますか?プロトコル名とバンドル識別子名は、ファームウェアとアプリコードで同じである必要があることを認識しています。
例えば...
ユーザーが外部アクセサリのボタンAを押したときに外部アクセサリによって送信されるコマンドバイトです。
これらのコマンドバイトを定義するのは誰ですか、メーカーですか、それともiOSアプリの開発者に依存していますか?iOS開発者がプロトコル名に基づいてこれらのコマンドバイトについて知ることができる方法はありますか?
ios4 - 外部アクセサリ フレームワーク EAAccessoryManager connectedAccessories は、iOS 4.2 で 1 つのアクセサリのみを返します。
iPhone 3GS を使用して iOS 4.2 で実行している場合、EAAccessoryManager で connectedAccessories メソッドを呼び出すと、アクセサリが 1 つだけのリストが返されます (Bluetooth 画面で使用可能な接続済みアクセサリからランダムに選択されたように見えます)。
振り返ってみると、iPhone 4 の iOS 5.0 では、このメソッドはアクセサリの正しいリストを返します (現在 2 つまでテスト済み)。ドキュメントによると、iOS 4.0 はアクセサリのリストを返すはずですが、これに複数のアイテムを含めることができるかどうかは言及されていません。(明らかに、iOS 3.0 では 1 つのデバイスのみがサポートされていました)。
EAAccessoryDidConnectNotification 通知も、iOS 4.0 で実行されている場合、ランダムに選択されたアクセサリに対して 1 回だけ発生します。アクセサリを無効にすると、そのアクセサリに適切な EAAccessoryDidDisconnectNotification が発生します。アクセサリを再度有効にしても、Bluetooth 設定メニューに戻ってデバイスを再接続しない限り、それ以上の通知は発生しません (ただし、これは別の厄介な問題です)。Bluetooth接続画面にアクセスすると、最初に接続されていたアクセサリが切断されておらず、2番目のアクセサリが接続されていることがわかりますが、「connectedAccessories」メソッドをさらに呼び出すと、空のリストが返されます。
電話からコンソール ログを表示すると、Bluetooth システムが両方のデバイスを接続して監視していることがわかりますが、これは外部アクセサリ フレームワークを介して提示されていません。
誰かがこの問題に関する有益な情報を持っていれば、それは素晴らしいことです-このフレームワークを使用したことのあるiOS開発者はごくわずかであるように思われるため、元のAppleドキュメントのコピー以外のものを見つけることはかなり困難です:-D .
要約すると:
iOS から複数のアクセサリを検出し、複数のデバイスに接続してセッションを開くことは可能ですか。これは、iPhone 4 の iOS 5.0 で可能であることがわかりました。
どうもありがとう、クリス
ios - IPhone EAAccessoryManager が空の NSArray を返す
私はここに来たばかりで、明らかな何かが欠けているのではないかと思いますが、Web 検索や Apple ドキュメントを読んでも役に立ちません。私は立ち往生しているので、ここに行きます。
Samsung HM1100 Bluetoothヘッドセットが接続されたIOS 4.2.10を実行しているiPhone 4があります。iPhone の一般設定では接続されており、HM1100 の通話ボタンを押すと iPhone が応答するため、接続されていると確信しています。IOS 5 と CBCentralManager にまだアップグレードできません。HM1100 は iphone4 互換 (Bluetooth バージョン 2.1+EDR) であると想定されています。
私のiPhoneアプリはExternalAccessory/ExternalAccessory.hをインポートしています
コードには次の行があります
このコードは、Macbook Pro の Xcode 4 デバッガーに接続された iphone で正常にコンパイルおよび実行され、次のように空の配列が出力されます。
EAAccessory
配列内に少なくとも 1 つのオブジェクトが返されることを期待していました。私は何か間違ったことをしているに違いない。
ありがとう、アブ
ios - 外部アクセサリ フレームワーク テスト ハードウェア
ExternalAccessory フレームワークを使用して一部のハードウェアと通信するクライアント用のアプリを作成する必要があります。Norman McEntire の「External Accessories Programming Exercises」で、シミュレーターには 2 つのテスト アクセサリが含まれていることを読みましたが、Apple の EADemo サンプル アプリを実行するとシミュレータでは、アクセサリが接続されていないと表示されます。フレームワークを学習できるようにアクセサリをシミュレートする方法を知っている人はいますか、または学習に使用できる安価なハードウェアはありますか? 前もって感謝します!
iphone - iPhone アプリケーションから MFi 準拠のアクセサリにデータをストリーミングするにはどうすればよいですか?
iPhone からリアルタイム データをストリーミングする必要がある MFi 準拠のデバイスがあります。私は、ExternalAccessory フレームワークと EADSessionController クラスを見てきました。出力ストリームにバイトを書き込むことで、MFi デバイスと通信できます。
私が直面している問題は、iPhone アプリケーションから MFi デバイスにバイトを継続的にストリーミングしようとすると、バイトが可変サイズのチャンクに結合され、同時に送信されることです。代わりに、各パケットをすぐに外部デバイスに送信する必要があります。
これらのチャンクに集約するのではなく、ストリームをプッシュしてデータをすぐに送信する方法はありますか?
iphone - Appleの「外部アクセサリフレームワーク」を使用してBluetoothデバイスのMACアドレスを取得する
Appleと互換性のあるBluetoothデバイスを持っています。
今、私はアプリ内でそのデバイスのMACアドレスを取得しようとしています。Appleの「外部アクセサリフレームワーク」を使用してBluetoothデバイスのMACアドレスを取得することは可能ですか?
通常の方法でMACアドレスを取得することはできないと聞きましたが、このフレームワークで可能かどうかを判断するのに十分な「外部アクセサリフレームワーク」を理解していません。
iphone - デバイスで音楽を再生するために外部アクセサリ デバイスを使用するにはどうすればよいですか?
私のアプリが iOS 以外のハンズフリー デバイスまたは音楽システムに Bluetooth 経由で接続し、その上で曲を再生するように、iPhone アプリの予備設計を行っています。Apple の MFi プログラムに登録し、確認待ちです。
可能であれば、それを調べるためのいくつかのガイドを親切に提供していただけますか?
objective-c - –accessoryDidDisconnect: EAAccessoryDelegate 内のメソッドの目的は何ですか?
ハードウェアに接続する iOS の実装に取り組んできたので、外部アクセサリ フレームワークを利用する必要があります。EAAccessory
デバイスと対話するには、オブジェクトとの通信を処理するクラスが必要です。EAAccessoryDelegate
これを行うには、プロトコルを使用してデバイス接続クラスを定義する必要があります。
EAAccessoryDelegate
プロトコルには 1 つのメソッドが含まれています--
– accessoryDidDisconnect:(EAAccessory *)accessory
.
Apple のドキュメントには次のように記載されています。
プロトコルは、関連付けられたオブジェクトが切断されたときに通知を受信するための
EAAccessoryDelegate
単一のメソッドを定義します。EAAccessory
このメソッドの実装はオプションです。
クラスをインスタンス化するときに、独自のメソッドをNSNotificationCenter
システムに登録できます。Device Connect または Device Disconnect イベントが発生した場合、必要に応じてイベントを処理できます。Device Disconnect イベントが発生すると- accessoryDidDisconnect:
、まったく同じ機能とデータがクラスに提供されるため、その目的は無意味になります。
さらに、External Accessories Framework の操作に関して私が見つけることができる例は、NSNotificationCenter
サブスクリプション メカニズムを介してデバイス接続の変更を検出する例を示しています。
– accessoryDidDisconnect:
そうは言っても、実際に使用されていないメソッドのポイントは何ですか? はい、実装できますが、前述したように、すべての形式のドキュメントでは、これらの種類の接続の変更をNSNotificationCenter
.
私はこれが細かい質問であることを知っていますが、私は非常に興味があります.
iphone - iOS アプリ内から Bluetooth デバイスを一覧表示 (および接続)
Bluetooth経由でデータをブロードキャストするデバイスがあります。これは MFI 認定を受けており、外部アクセサリ フレームワークを使用して、MFI と通信するアプリケーションを AppStore に既に持っています。
問題は、私のアプリケーションがデバイスが既にペアリングされていると想定していることです。
手の届く範囲にあるそのようなデバイスをすべて列挙し、ユーザーがリスト内のデバイスの 1 つを選択 (したがってペアリング) できるようにする方法はありますか?