Home › Forums › Ask the Flomies › 2.1 beta iOS 10 Crash
-
AuthorPosts
-
October 31, 2016 at 12:54 pm #57129
Hi,
I’ve been using the 2.1 beta SDK release and on second read the app crashes, is this a known issue or does it sound like a common code error?
What can I provide to help resolve this issue?
October 31, 2016 at 2:39 pm #57131Hey Dave, it would be helpful if you could post the details of your issue as in the sample below:
How to reproduce:
-Turn on the FloBLe Plus
-Launch the App
-Select FloBLE Plus
-Turn Off FloBLE PLus (FloBLE plus screen on Test app should go to disconnect)
-Turn on FloBLE PLusExpected Behavior:
After the FloBLE plus is turned off, the FloBLE plus screen on Test app should go to “disconnect”.
After the FloBLE plus is turned on, the FloBLE plus screen on Test app should go to “scanning”.Current Behavior:
After the FloBLE plus is turned off, the FloBLE plus screen on Test app should go to “disconnect”.
After the FloBLE plus is turned on, the FloBLE plus screen on Test app stays on “disconnect” untl the app goes to the background.Setup:
SDK v2.1 (10)
OS: ios (v.10.0.2)
Device: iPhone 6
Carrier: Tmobile
Reproducibility: ConsistentNovember 1, 2016 at 12:42 pm #57141From xCode 8.1 on macOS 10.12.1 – iPad Air 10.1
• Flomio EMV On
• iPad connected and unlocked
• App Compiled and run
• Insert Oyster card
• Exception on either first or second card insertionDebug:
2016-11-01 16:11:57.686147 Flomio[478:462402] Init FloBLE EMV 2016-11-01 16:11:57.693521 Flomio[478:462402] App Activated 2016-11-01 16:11:57.694474 Flomio[478:462427] CBPeripheralManagerStatePoweredOn 2016-11-01 16:11:58.661009 Flomio[478:462428] Peripheral Info:NAME: FT_00A050022233 RSSI: -74 didDiscoverPeripheral 2016-11-01 16:12:00.774341 Flomio[478:462425] didConnect:FT_00A050022233 2016-11-01 16:12:00.774509 Flomio[478:462425] Servises Tag:46540001-0002-00C4-0000-465453414645 Write Tag:46540002-0002-00C4-0000-465453414645 Notify Tag:46540003-0002-00C4-0000-465453414645 2016-11-01 16:12:01.216979 Flomio[478:462425] Service :46540001-0002-00C4-0000-465453414645 Name:FT_00A050022233 2016-11-01 16:12:01.278006 Flomio[478:462428] didDiscoverCharacteristicsForService: ----MT :0---- 2016-11-01 16:12:01.278195 Flomio[478:462428] Characteristicice :<46540002 000200c4 00004654 53414645> 2016-11-01 16:12:01.278265 Flomio[478:462428] Wirte Channel is open successed 2016-11-01 16:12:01.278526 Flomio[478:462428] Characteristicice :<46540003 000200c4 00004654 53414645> 2016-11-01 16:12:01.279011 Flomio[478:462428] Read Channel is open successed 2016-11-01 16:12:01.279343 Flomio[478:462425] RIDC readerInterfaceDidChange: 1 2016-11-01 16:12:01.305853 Flomio[478:462462] write:<6b040000 00000000 00005aa5 3131> 2016-11-01 16:12:01.456286 Flomio[478:462428] Send Successfully 2016-11-01 16:12:01.456589 Flomio[478:462427] recv: <83020000 00000000 00006300> 2016-11-01 16:12:01.458220 Flomio[478:462464] write:<62000000 00000100 0000> 2016-11-01 16:12:01.516075 Flomio[478:462428] Send Successfully 2016-11-01 16:12:01.516863 Flomio[478:462427] recv: <80060000 00000100 00003b81 80018080> 2016-11-01 16:12:01.517930 Flomio[478:462466] write:<65000000 00000200 0000> 2016-11-01 16:12:01.576550 Flomio[478:462428] Send Successfully 2016-11-01 16:12:01.576805 Flomio[478:462428] recv: <81000000 00000242 fe00> 2016-11-01 16:12:01.577965 Flomio[478:462468] write:<6f050000 00000300 0000ffca 000000> 2016-11-01 16:12:01.636081 Flomio[478:462427] Send Successfully 2016-11-01 16:12:01.636695 Flomio[478:462426] recv: <80000000 00000342 fe00> 2016-11-01 16:12:01.636997 Flomio[478:462402] ERROR SCardTransmit ret 80100016. 2016-11-01 16:12:13.547443 Flomio[478:462524] recv: <5003> 2016-11-01 16:12:13.547640 Flomio[478:462524] BOOL:1 2016-11-01 16:12:15.317314 Flomio[478:462428] recv: <5002> 2016-11-01 16:12:15.317484 Flomio[478:462428] BOOL:0 2016-11-01 16:12:21.077542 Flomio[478:462533] recv: <5003> 2016-11-01 16:12:21.077713 Flomio[478:462533] BOOL:1 2016-11-01 16:12:21.087294 Flomio[478:462535] write:<6f050000 00000400 0000ffca 000000> 2016-11-01 16:12:21.167179 Flomio[478:462524] Send Successfully 2016-11-01 16:12:21.167860 Flomio[478:462524] recv: <80010000 00000400 00001c> 2016-11-01 16:12:21.169756 Flomio[478:462402] sendCommand:SEND_DATA:FFCA000000 2016-11-01 16:12:21.170634 Flomio[478:462402] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSTaggedPointerString substringFromIndex:]: Index 18446744073709551614 out of bounds; string length 2' *** First throw call stack: (0x1928321c0 0x19126c55c 0x192832108 0x19323e644 0x1000d9cb4 0x1000da1ec 0x1004f125c 0x1004f121c 0x1004f6284 0x1927dff2c 0x1927ddb18 0x19270c048 0x194192198 0x1986f02fc 0x1986eb034 0x1000c4ff0 0x1916f05b8) libc++abi.dylib: terminating with uncaught exception of type NSException
November 1, 2016 at 3:18 pm #57142Hi Dave,
I will look into this and get back to you tomorrow.
Kind Regards,
ScottNovember 3, 2016 at 8:03 am #57161Hi Dave,
I still haven’t been able to replicate your issue but I am adding a new EMV driver at the moment and will be able to update you this week.
Kind Regards,
ScottNovember 4, 2016 at 10:22 am #57183Thanks for the update Scott, just FYI it might be worth updating the link on this page, currently goes to a 404 for the Github link after your git branch tidy up. https://flomio.com/floble-user-guide/
November 4, 2016 at 10:35 am #57187Hey Dave, which link in particular gets 404 on the FloBLE User Guide page?? Can’t find it…
thanks,
RichardNovember 4, 2016 at 11:24 am #57188The link in step 7
November 4, 2016 at 11:39 am #57190Got it. Fixed.
thanks,
RichardNovember 7, 2016 at 4:20 am #57207If it helps at all, all we need to be able to do is read the serial number of the chip on the card, nothing complicated like card payments or anything.
November 7, 2016 at 11:44 am #57217The Oyster Card uses a MiFare DESFire chip which generates a pseudo-random UUID when read. What this means is that reading the same card from different readers (or form the same reader at different times) will present a different UUID (aka “serial number on chip”). For this reason, you will need to leverage APDU transactions to see if you can uncover something that is unique and usable in place of UUID.
hope that helps,
RichardNovember 7, 2016 at 12:57 pm #57221That’s interesting information, thanks Richard. I wonder what the existing reader is picking up then. We’re trying to replace the existing computer and USB chunky reader with a sleeker iPad Flomio setup.
November 7, 2016 at 6:28 pm #57222hmmm, what does the existing reader spit out?? 7 byte serial number?? do you have the code from the original reader setup?? I should be able to tell what’s going on by looking at the code in case I’ve missed something.
November 8, 2016 at 9:21 am #57229Hi Richard,
Unfortunately we don’t, we’ve been tasked to replace the existing setup and don’t have access to the source of the existing solution. All I know is the “UUID” that is being stored after a read for the current system is along the lines of: 045B92C2F92680
So far we’ve seen something similar in the log from the latest 2.2 SDK you’ve linked to, so the reader and SDK can get the data as it’s in the log, but the example UUID and NDEF code in the demo app doesn’t match up. Does that follow with what you believe to be true about the Oyster card?
Thanks
November 10, 2016 at 10:34 am #57253Knocked up a simple Java app on Android to see if the Oyster expected UUID’s matched the existing setup Oyster UUID’s and bam available straight away….
https://drive.google.com/open?id=0B2Dn92YEm_TMTU5idjFCNG1nY3M
November 15, 2016 at 6:09 pm #57293Ok, there may be an explanation as to why the UUID seems to remain unchanged between reads. Either the Oyster Card you’re testing with is dated from before January 2010 when chips used were MiFare Classics or the DESFire chips in use today are not being configured for random UUID issuance. Either way, if it’s working for you with the older setup then it should work with our readers.
After studying your issue and the performance of the Flomio SDK with the FloBLE EMV, we’ve realized a major issue with our driver integration. While we work to solve this in our next SDK release, we don’t want to keep you blocked. All the drivers for our readers are available from our GitHub repo with sample code. The internal name for the FloBLE EMV is
bR500
so don’t be confused by that while reading through the driver documentation. The bR500 driver interface is similar to that of the Flomio SDK but not entirely. What that means is that if you implement your solution with the driver then you may need to rewrite it later if you want to move to another reader we sell. The Flomio SDK addresses that pain with a consistent API across NFC readers on the market.We are targeting the next release of the Flomio SDK v2.2 to include the bR500 corrected integration so that you don’t experience the crash highlighted by this thread. We estimate this will go out by the end of the month and will keep you posted on this thread.
thanks for your patience and helping us identify this issue,
RichardNovember 29, 2016 at 1:32 pm #57513Hi Dave,
Please retry with this updated version of the SDK. Flomio SDK v2.2 beta
We have added an updated driver for the EMV and it should now work fine.Kind Regards,
Scott -
AuthorPosts
You must be logged in to reply to this topic.