When using taplinx ios library i do following code:
TLLibraryManager.Shared.DESFireEV3Instance.SelectApplicationWithAppID(0, (success) =>
{
if (success == false)
{
return;
}
TLLibraryManager.Shared.DESFireEV3Instance.GetApplicationIDsOnCompletion((bool success) =>
{
});
With added logging in apduHandler i see what gets sent and returns from card. So for selection app with id 0 following bytes are sent: 5A000000 and returned 00 (which is correct), so in callback to selecting app i get success - however after that when i send api to get all application ids, nothing gets sent to card (no apdu command) and in device log i get following entries:
Time Device Name Type PID Tag Message
Nov 7 22:58:16 iPhone Notice 5584 MobileFacilityApp Caught an exception (
Nov 7 22:58:16 iPhone Notice 5584 MobileFacilityApp Exception Caught: com.nxp.nfclib.exceptions.UsageException: Application 0 must be selected when using getApplicationIDs()
1. Why is library not remembering that app with id 0 was already selected?
2. how to actually get that list of ids? declaration of that method:
- (void)getApplicationIDsOnCompletion:(completionBlockWithResult)completion;
states that it only returns BOOL determinig of action was success or not - how do i get back the actual list of applications?