2016-07-31 8 views
0

多目的アプリケーションでSocket ScanAPIを使用する際に問題が発生しているようです。私は、GitHub上で単一のエントリのスウィフトサンプルコードを使用しています。ソケットスキャナーとコードは、初めてスキャンに使用するVCを提示するときに完璧に機能します。ソケットバーコードスキャナsdkがiOSのViewControllerを再ロードするとクラッシュする

初期化が共有バージョン私はScanApiHelperとscanApiHelpherを(初期化を除いて、例のコードのようなもの)とない:

var scanApiHelper = ScanApiHelper() 
scanApiHelperConsumer=NSTimer.scheduledTimerWithTimeInterval(0.2, target: self, selector: Selector("onScanApiHelperConsumer"), userInfo: nil, repeats: true) 
     scanApiHelper.pushDelegate(self) 
     scanApiHelper.open() 

問題は、私はVCを閉じたときに、再びそれを提示来る、私はクラッシュを取得します0x1005705c8でsktscanapilistenerthreadに:

0x1005705b4 <+1332>: bl  0x10058ab88    ; CSktScanAPI::NotifyError at CSktScanAPI.cpp:4639 
    0x1005705b8 <+1336>: adrp x8, 515 
    0x1005705bc <+1340>: ldr x1, [x8, #3296] 
    0x1005705c0 <+1344>: ldr x0, [sp, #8] 
    0x1005705c4 <+1348>: bl  0x10062b338    ; symbol stub for: objc_msgSend 
    0x1005705c8 <+1352>: add x0, sp, #48    ; =48 
    0x1005705cc <+1356>: bl  0x100563308    ; CSktList::~CSktList at SktList.cpp:29 
    0x1005705d0 <+1360>: add x0, sp, #312    ; =312 
    0x1005705d4 <+1364>: bl  0x10057fa68    ; SktAccessoryEnumerator::~SktAccessoryEnumerator at SktAccessoryEnumerator.mm:45 

SDKは、ヘルパーオブジェクトが初期化されるときにバックグラウンドスレッドを起動し、そしてので、これはクラッシュを引き起こしている再初期化していますか?つまり、ヘルパーオブジェクトの初期化をルートVCで行う必要がありますか?

答えて

0

多分私はドキュメントに何かを見逃しているかもしれませんが、APIを使用するVCを却下するスキャナAPIを使用する場合、ScanApiHelper varを複数回初期化することは不可能なので、sharedhelperオブジェクトが必要です(initでバックグラウンドスレッドを作成します)。

関連する問題