0

特定の Bluetooth デバイスの読み取り/書き込みを行うために、(通常の IOStreams のように) InputStream/OutputStream を同期的に使用しようとしています。ガジェットで動作する目的の C コードがいくつかあるため、これが可能であることはわかっていますが、サードパーティの c# ライブラリを使用しているため、c# で動作させる必要があります。

私はここまで来ました:

string protocol = <protocol string>
// Attempt to connect to device...
EASession _session = new EASession (myEAAccessory, protocol);
inStream = _session.InputStream;
outStream = _session.OutputStream;

_session がメモリに割り当てられていることがわかります - Xamarin は、null 以外のポインターとデータ型を持っていることを示しています - ただし、InputStream と OutputStream の両方が null です (したがって、nullref 例外がスローされるため、それらを開くことはできません) )。

OutputStream と InputStream を null にしないようにするにはどうすればよいですか?

(私は多くの Apple ドキュメントを読もうとしていますが、それらのコード例はすべて Objective-C で書かれており、ほとんど理解できません...そして、Objective-C の「メモリ管理」ステートメントは適用されませんか?)

編集また、myEAAcessory が null でないことを確認しました。これは true を返します。

myEAAcessory .ProtocolStrings.Contains (protocol);
4

1 に答える 1

1

使用する外部アクセサリを Info.plist にリストする必要があります。

Appleのサイトには、これに関するドキュメントがいくつかあります。

Info.plist でこの値を設定する方法のスクリーンショットを次に示します: http://screencast.com/t/AYmOWjf8wkL

(これはここからです: https://bugzilla.xamarin.com/show_bug.cgi?id=1635#c1 )

于 2013-11-20T23:46:41.760 に答える