霍尼韦尔的Captuvo SL22 SDK

Chr*_*ris 3 objective-c ipod-touch ios titanium-modules

我正在寻找帮助在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
}
Run Code Online (Sandbox Code Playgroud)

启动后,我尝试通过点击应用程序中的按钮打开扫描仪,这是我的代码:

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

然而,无论我尝试什么,我都无法让扫描仪打开我的生活.我正在将Titanium 3.1.1用于运行iOS 6.1的iPod touch.任何帮助将非常感激!如果我搞清楚,我一定会让别人知道!

更新:所以对此的更新是我能够做到这一点.这要到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>
Run Code Online (Sandbox Code Playgroud)

但是,当您第一次启动应用程序时,我无法使用按钮打开扫描仪,但侧面的触发器工作,但没有返回数据.霍尼韦尔提供了一些示例代码,我注意到这个代码添加到本机应用程序使得扫描程序在初始启动时工作,所以我想知道是否有办法在钛内部复制这个目标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];
}
Run Code Online (Sandbox Code Playgroud)

kev*_*inl 5

确保在info.plist中设置了"支持的外部附件"键,如下所示:

<string>com.honeywell.scansled.protocol.decoder</string>
<string>com.honeywell.scansled.protocol.msr</string>
<string>com.honeywell.scansled.protocol.pm</string>
Run Code Online (Sandbox Code Playgroud)