2

そこで、プロジェクト ファイルをここにアップロードしました: http://devswap.org/downloads/readerTest.zip

MagTek が提供する iOS サンプル アプリケーションからコピー アンド ペーストの演習を行ったところ、ほぼ同じコードが得られました。(AppDelegate、ViewController など...) 私のカード リーダーは、サンプル アプリではデバイスに接続しますが、カスタム アプリでは接続しません。

私が試したこと: 技術文書http://www.magtek.com/docs/99875473.pdf (14 ページ) で指定されているように、正しい sdk プロトコル識別子 com.magtek.idynamo を割り当てました。

サンプル アプリが機能し、アプリの起動時に EAAccessory クラスが接続されていることを登録するため、iPad mini (iOS 7.1) で認証されることがわかります。ただし、MagTek の MTSCRA クラスを使用して接続できません。

この時点で、コードは実質的に同一であるため、プロジェクトのセットアップ方法に関係があると確信しています。唯一の違いは、サンプル アプリが単一の .xib ファイルを使用しているのに対し、ストーリーボードを使用したことです。

上記の私の Web サイトでホストされているプロジェクト ファイルを誰かが見て、私が間違っていることを確認できる場合は、どんな助けも大歓迎です。

4

1 に答える 1

8

コードは正常に見えますが、デバッガー ウィンドウのこのエントリで説明されているように、Info.plist に正しい外部アクセサリ キーがないようです。

2014-06-17 01:27:50.111 readerTest[3075:60b] ERROR - opening session failed as protocol com.magtek.idynamo is not declared in Info.plist

キーは文字列としてあり、配列である必要があります。

plist を右クリックし、[ソース コードとして開く] を選択します。

com.magtek.idynamo の既存のエントリを削除します。

このコードを plist に貼り付けます。

<key>UISupportedExternalAccessoryProtocols</key>
<array>
    <string>com.magtek.idynamo</string>
</array>

これで問題が解決し、ソフトウェアは正常に動作するようになります。

于 2014-06-17T07:31:28.390 に答える