Skip to main content
Participant
May 24, 2013
Question

Native Extension issue with iOS5.1 "objectForKeyedSubscript" unrecognized selector

  • May 24, 2013
  • 1 reply
  • 883 views

I'm almost positive this is an ANE packaging issue, but I can't figure it out. 

I've been provided a viewcontroller that I need to present from a native extension. It comes with a native xCode project that works great in iOS5 and iOS6.

The AIR App/ANE works great in iOS6, but fails with this error in iOS5.1:

<Error>: -[__NSCFDictionary objectForKeyedSubscript:]: unrecognized selector sent to instance 0xd4c84c0

I'm presenting the viewcontroller this way:

[[[[UIApplication sharedApplication] keyWindow] rootViewController]  presentViewController:myViewController animated:NO completion:nil];

When presented the viewcontroller runs a few static functions, one of which appears to use a Dictionary and objectForKeyedSubscript which doesn't exist in iOS5 (at least the way I'm packaging this ANE, since it works in the native xcode example)

FlashBuilder/AIR:

SDK3.7

ADT-version: 3.7.0.1530

xCode project

BaseSDK: 6.1 (latest)

Valid Architectures: armv7 armv7s

Deployment Target: iOS 5.1

Platform.XML

(it's pretty long since it has some other support requirements)

<platform xmlns="http://ns.adobe.com/air/extension/3.7">

    <sdkVersion>6.0</sdkVersion>

    <linkerOptions>

    <option>-ObjC</option>   

    <option>-weak_framework Accounts</option>

    <option>-framework AddressBook</option>

    <option>-framework AddressBookUI</option>

    <option>-weak_framework AdSupport</option>

    <option>-framework CoreLocation</option>

    <option>-framework CoreMotion</option>

    <option>-framework CoreTelephony</option>

    <option>-framework EventKit</option>

    <option>-framework EventKitUI</option>

    <option>-framework iAd</option>

    <option>-framework MapKit</option>

    <option>-framework MediaPlayer</option>

    <option>-framework MessageUI</option>

    <option>-framework OpenAL</option>

    <option>-weak_framework PassKit</option>

    <option>-framework StoreKit</option>

    <option>-weak_framework Twitter</option>

    <option>-framework UIKit</option>

    <option>-lsqlite3</option>

    <option>-lxml2</option>

    <option>-lz</option>

    </linkerOptions>

</platform>

This topic has been closed for replies.

1 reply

Participant
May 24, 2013

I've been able to narrow this down, we can exclude anything to do with viewcontrollers/etc.

If you try to run this code, it will crash in iOS5 as soon as its hit:

NSDictionary *value=[NSDictionary dictionaryWithObjectsAndKeys: @"aSampleValue",@"aSampleKey",nil];

NSLog(@"CHECKING objectForKeyedSubscript: %@", [value objectForKeyedSubscript:@"aSampleKey"]);

Any ADT options to fix that would be fantastic.