KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm developing an iOS application that needs to deploy to iOS 3.1.3. I need to extend some of the functionality of the NSData class and am using the following code inside NSData+Base64 (truncated to show the interesting part): NSData+Base64.h [...] @interface NSData (Base64) + (NSData *)dataFromBase64String:(NSString *)aString; - (NSString *)base64EncodedString; @end NSData+Base64.m @implementation NSData (Base64) [...] // // base64EncodedString // // Creates an NSString object that contains the base 64 encoding of the // receiver's data. Lines are broken at 64 characters long. // // returns an autoreleased NSString being the base 64 representation of the // receiver. // - (NSString *)base64EncodedString { size_t outputLength; char *outputBuffer = NewBase64Encode([self bytes], [self length], true, &outputLength); NSString *result = [[[NSString alloc] initWithBytes:outputBuffer length:outputLength encoding:NSASCIIStringEncoding] autorelease]; free(outputBuffer); return result; } @end However, when I try to message this selector: NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC length:sizeof(cHMAC)]; NSString *hash = [HMAC base64EncodedString]; I get the following error: -[NSConcreteData base64EncodedString]: unrecognized selector sent to instance 0x6146e70 2010-11-09 13:44:41.443 SpringboardApplication[21318:40b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteData base64EncodedString]: unrecognized selector sent to instance 0x6146e70' I read a lot about iOS 3.1.x having problems with categories. I tried adding the flags -all_load and -ObjC (both separately and together) to no avail. I would really appreciate some direction of how to get this selector to work.</p
Tags (comma-separated)
Save Edits
Cancel