3

Appcelerator 内に Captuvo SL22 SDK を統合するためのヘルプを探しています。Captuvo SDK には、iPod 用の Captuvo スキャナ/msr が付属しています。カスタム モジュールで Captuvo SDK を使用し、メイン アプリで呼び出そうとしています。カスタム モジュールのスタートアップ メソッドで次のコードを使用して、Captuvo デバイスとの接続を確立できます。

-(void) startup{
    self.captuvo = [Captuvo sharedCaptuvoDevice];
    [self.captuvo addCaptuvoDelegate:self];
    [self.captuvo startDecoderHardware];
}

-(void) DecoderReady{
    //Fire Event successfully to Titanium App
}

起動後、アプリのボタンを押してスキャナーをオンにしようとしました。これが私のコードです。

-(void) turnScannerOn{
    if([self.captuvo isDecoderRunning]){
        //Fire event successfully to Titanium App
        [self.captuvo startDecoderScanning];
    }
}

ただし、何を試しても、一生スキャナーをオンにすることはできません。iOS 6.1 を実行している iPod touch に Titanium 3.1.1 を使用しています。どんな助けでも大歓迎です!私がそれを理解したら、私は他の人に知らせます!

更新: したがって、これに関する更新は、これをある種の作業にすることができたということです。これを tiapp.xml に渡してスキャンします。

<ios>
    <plist>
        <dict>
            <key>UISupportedExternalAccessoryProtocols</key>
            <array>
                <string>com.honeywell.scansled.protocol.decoder</string>
                <string>com.honeywell.scansled.protocol.msr</string>
                <string>com.honeywell.scansled.protocol.pm</string>
            </array>
        </dict>
    </plist>
</ios>

ただし、アプリを最初に起動したとき、ボタンを使用してスキャナーをオンにすることはできませんが、サイドのトリガーは機能しますが、データは返されません。Honeywell はいくつかのサンプル コードを提供し、このコードをネイティブ アプリに追加すると、最初の起動時にスキャナーが機能することに気付きました。そのため、この目的の C コードをチタン内に複製する方法があるかどうか疑問に思っていました。

- (void)viewWillAppear:(BOOL)animated
{
    [[Captuvo sharedCaptuvoDevice] removeCaptuvoDelegate:self] ;
    [[Captuvo sharedCaptuvoDevice] addCaptuvoDelegate:self];
    [[Captuvo sharedCaptuvoDevice] startPMHardware];
    [[Captuvo sharedCaptuvoDevice] startDecoderHardware];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [[Captuvo sharedCaptuvoDevice] stopDecoderHardware];
    [[Captuvo sharedCaptuvoDevice] stopPMHardware];
    [[Captuvo sharedCaptuvoDevice] removeCaptuvoDelegate:self];
}
4

5 に答える 5

5

次のように、info.plist に「サポートされている外部アクセサリ」キーが設定されていることを確認します。

<string>com.honeywell.scansled.protocol.decoder</string>
<string>com.honeywell.scansled.protocol.msr</string>
<string>com.honeywell.scansled.protocol.pm</string>
于 2015-04-06T20:50:25.733 に答える
1

isDecoderRunning のチェックを外します。デコーダーを開始していない場合、true が返されることはなく、デコーダーを開始しているコードに到達することもありません。

また、バーコードと MSR の両方を開始していることを確認してください。

    [self.captuvo startDecoderScanning];
    [self.captuvo startMSRHardware];

これを行うこともお勧めします:

    connectionStatus = [captuvo startDecoderHardware];
    switch (connectionStatus) {
        case ProtocolConnectionStatusConnected:
        case ProtocolConnectionStatusAlreadyConnected:
            NSLog(@"Connected!");
            break;
        case ProtocolConnectionStatusBatteryDepleted:
            NSLog(@"Battery depleted!");
            break;
        case ProtocolConnectionStatusUnableToConnect:
            NSLog(@"Error connecting!");
            break;
        case ProtocolConnectionStatusUnableToConnectIncompatiableSledFirmware:
            NSLog(@"Incompatible firmware!");
            break;
        default:
            break;
    }

そうすれば、接続しようとしたときに何が起こったのかを確認できます。

于 2013-09-23T21:31:58.203 に答える
-1

Honeywell の Captuvo SDK の使用を開始するときは、最初にクイック スタートとリリース ノートを読む必要があります。これは、SL22/SL42/SL62 用のセルフ アプリケーション ベースの CaptuvoSDK の開発をすばやく開始するのに役立ちます。

于 2016-10-31T03:07:28.680 に答える