Git Product home page Git Product logo

yajl-objc's Introduction

YAJL Framework

The YAJL framework is an Objective-C framework for the YAJL SAX-style JSON parser.

Features

  • Stream parsing, comments in JSON, better error messages.
  • Parse directly from NSString or NSData.
  • Generate JSON from default or custom types.
  • Properly handles large numeric types.
  • Document style parser.
  • Error by exception or out error.

Integration

CocoaPods

pod "YAJLO"

Swift Package Manager

You can use The Swift Package Manager to install yajl-objc by adding the proper description to your Package.swift file:

// swift-tools-version:5.5
import PackageDescription

let package = Package(
    name: "YOUR_PROJECT_NAME",
    dependencies: [
        .package(url: "https://github.com/gabriel/yajl-objc.git", from: "0.3.4"),
    ]
)

Usage

#import <YAJLO/NSObject+YAJL.h>
#import <YAJLO/YAJLDocument.h>
#import <YAJLO/YAJLGen.h>
#import <YAJLO/YAJLParser.h>

To parse JSON from NSData

NSData *JSONData = [NSData dataWithContentsOfFile:@"example.json"];
NSArray *arrayFromData = [JSONData yajl_JSON];

To parse JSON from NSString

NSString *JSONString = @"[1, 2, 3]";
NSArray *arrayFromString = [JSONString yajl_JSON];

To parse JSON from NSString with error and comments

// With options and out error
NSString *JSONString = @"[1, 2, 3] // Allow comments";
NSError *error = nil;
NSArray *arrayFromString = [JSONString yajl_JSONWithOptions:YAJLParserOptionsAllowComments error:&error];

To generate JSON from an object, NSArray, NSDictionary, etc.

NSDictionary *dict = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"];
NSString *JSONString = [dict yajl_JSONString];
// ==> {"key":"value"}

To generate JSON from an object, beautified with custom indent

// Beautified with custon indent string
NSArray *array = [NSArray arrayWithObjects:@"value1", @"value2", nil];
NSString *JSONString = [dict yajl_JSONStringWithOptions:YAJLGenOptionsBeautify indentString:@"    "];

To use the streaming (or SAX style) parser, use YAJLParser

NSData *data = [NSData dataWithContentsOfFile:@"example.json"];

YAJLParser *parser = [[YAJLParser alloc] initWithParserOptions:YAJLParserOptionsAllowComments];
parser.delegate = self;
[parser parse:data];
if (parser.parserError) {
  NSLog(@"Error:\n%@", parser.parserError);
}
parser.delegate = nil;

// Include delegate methods from YAJLParserDelegate
- (void)parserDidStartDictionary:(YAJLParser *)parser { }
- (void)parserDidEndDictionary:(YAJLParser *)parser { }

- (void)parserDidStartArray:(YAJLParser *)parser { }
- (void)parserDidEndArray:(YAJLParser *)parser { }

- (void)parser:(YAJLParser *)parser didMapKey:(NSString *)key { }
- (void)parser:(YAJLParser *)parser didAdd:(id)value { }

Parser Options

There are options when parsing that can be specified with initWithParserOptions: (YAJLParser).

  • YAJLParserOptionsAllowComments: Allows comments in JSON
  • YAJLParserOptionsCheckUTF8: Will verify UTF-8
  • YAJLParserOptionsStrictPrecision: Will force strict precision and return integer overflow error, if number is greater than long long.

Parsing as data becomes available

 YAJLParser *parser = [[YAJLParser alloc] init];
 parser.delegate = self;

 // A chunk of data comes...
 YAJLParserStatus status = [parser parse:chunk1];
 // 'status' should be YAJLParserStatusInsufficientData, if its not finished
 if (parser.parserError)
   NSLog(@"Error:\n%@", parser.parserError);

 // Another chunk of data comes...
 YAJLParserStatus status = [parser parse:chunk2];
 // 'status' should be YAJLParserStatusOK if its finished
 if (parser.parserError)
   NSLog(@"Error:\n%@", parser.parserError);

Document style parsing

To use the document style, use YAJLDocument. Usage should be very similar to NSXMLDocument.

 NSData *data = [NSData dataWithContentsOfFile:@"example.json"];
 NSError *error = nil;
 YAJLDocument *document = [[YAJLDocument alloc] initWithData:data parserOptions:YAJLParserOptionsNone error:&error];
 // Access root element at document.root
 NSLog(@"Root: %@", document.root);

Document style parsing as data becomes available

 YAJLDocument *document = [[YAJLDocument alloc] init];
 document.delegate = self;

 NSError *error = nil;
 [document parse:chunk1 error:error];
 [document parse:chunk2 error:error];

 // You can access root element at document.root
 NSLog(@"Root: %@", document.root);

 // Or via the YAJLDocumentDelegate delegate methods

 - (void)document:(YAJLDocument *)document didAddDictionary:(NSDictionary *)dict { }
 - (void)document:(YAJLDocument *)document didAddArray:(NSArray *)array { }
 - (void)document:(YAJLDocument *)document didAddObject:(id)object toArray:(NSArray *)array { }
 - (void)document:(YAJLDocument *)document didSetObject:(id)object forKey:(id)key inDictionary:(NSDictionary *)dict { }

Load JSON from Bundle

id JSONValue = [[NSBundle mainBundle] yajl_JSONFromResource:@"kegs.json"];

Customized Encoding

To implement JSON encodable value for custom objects or override for existing objects, implement - (id)JSON;

For example:

@interface CustomObject : NSObject
@end

@implementation CustomObject

- (id)JSON {
 return [NSArray arrayWithObject:[NSNumber numberWithInteger:1]];
}

@end

yajl-objc's People

Contributors

a2 avatar aki-null avatar augustl avatar gabriel avatar macinspak avatar pegli avatar psychs avatar timgates42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yajl-objc's Issues

compiling on iphone 4.

Guys,
Even after replace the library with the new version, Im still getting problems with some undefined symbols, any hint? I'm already clean all targets

thanks!

Undefined symbols:
".objc_class_name_NSString", referenced from:
literal-pointer@__OBJC@__cls_refs@NSString in libYAJLIPhone.a(YAJLDocument.o)
literal-pointer@__OBJC@__cls_refs@NSString in libYAJLIPhone.a(YAJLParser.o)
literal-pointer@__OBJC@__cls_refs@NSString in libYAJLIPhone.a(YAJLGen.o)
literal-pointer@__OBJC@__cls_refs@NSString in libYAJLIPhone.a(YAJL_GTMBase64.o)
".objc_class_name_NSArray", referenced from:
literal-pointer@__OBJC@__cls_refs@NSArray in libYAJLIPhone.a(YAJLDocument.o)
literal-pointer@__OBJC@__cls_refs@NSArray in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSMutableArray", referenced from:
literal-pointer@__OBJC@__cls_refs@NSMutableArray in libYAJLIPhone.a(YAJLDocument.o)
".objc_class_name_NSData", referenced from:
literal-pointer@__OBJC@__cls_refs@NSData in libYAJLIPhone.a(NSObject+YAJL.o)
literal-pointer@__OBJC@__cls_refs@NSData in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSDate", referenced from:
literal-pointer@__OBJC@__cls_refs@NSDate in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSURL", referenced from:
literal-pointer@__OBJC@__cls_refs@NSURL in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSNull", referenced from:
literal-pointer@__OBJC@__cls_refs@NSNull in libYAJLIPhone.a(YAJLParser.o)
literal-pointer@__OBJC@__cls_refs@NSNull in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSDictionary", referenced from:
literal-pointer@__OBJC@__cls_refs@NSDictionary in libYAJLIPhone.a(YAJLDocument.o)
literal-pointer@__OBJC@__cls_refs@NSDictionary in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSMutableData", referenced from:
literal-pointer@__OBJC@__cls_refs@NSMutableData in libYAJLIPhone.a(YAJL_GTMBase64.o)
".objc_class_name_NSException", referenced from:
literal-pointer@__OBJC@__cls_refs@NSException in libYAJLIPhone.a(NSObject+YAJL.o)
literal-pointer@__OBJC@__cls_refs@NSException in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSAssertionHandler", referenced from:
literal-pointer@__OBJC@__cls_refs@NSAssertionHandler in libYAJLIPhone.a(YAJLDocument.o)
literal-pointer@__OBJC@__cls_refs@NSAssertionHandler in libYAJLIPhone.a(YAJLParser.o)
".objc_class_name_NSNumber", referenced from:
literal-pointer@__OBJC@__cls_refs@NSNumber in libYAJLIPhone.a(YAJLParser.o)
literal-pointer@__OBJC@__cls_refs@NSNumber in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSMutableDictionary", referenced from:
literal-pointer@__OBJC@__cls_refs@NSMutableDictionary in libYAJLIPhone.a(YAJLDocument.o)
literal-pointer@__OBJC@__cls_refs@NSMutableDictionary in libYAJLIPhone.a(YAJLParser.o)
".objc_class_name_NSError", referenced from:
literal-pointer@__OBJC@__cls_refs@NSError in libYAJLIPhone.a(YAJLParser.o)
".objc_class_name_NSObject", referenced from:
.objc_class_name_YAJLDocument in libYAJLIPhone.a(YAJLDocument.o)
.objc_class_name_YAJLParser in libYAJLIPhone.a(YAJLParser.o)
.objc_class_name_YAJLGen in libYAJLIPhone.a(YAJLGen.o)
.objc_class_name_YAJL_GTMBase64 in libYAJLIPhone.a(YAJL_GTMBase64.o)
ld: symbol(s) not found

Use same framework name for iOS and Mac

This might not be a good idea but is there a reason you use YAJLIOS for the iOS framework name and YAJL for the Mac? I was trying to avoid a ifdef while compiling a shared library that I am using for Mac and iOS apps.

should iPhoneFramework.sh work from the command line?

When I run the iPhoneFramework.sh I get:
lipo: can't open input file: build/Release-iphoneos/libYAJLIOSDevice.a (No such file or directory)

There is a something existing under Example/TestApp/Frameworks, is that useful per the README instructions? I've also tried using the most recent release of the download and I can get that to seemingly build in a test Xcode 4.01 project but then can't import any of the headers in my example class.

I can run the test project from the cloned repo, just can't get it working in another project.

Yajl/yajl_common.h: No such file or directory

Hello,
everytime i build my project with an included YAJLIOS.framework i get:
Yajl/yajl_common.h: No such file or directory

The "broken" import is in the yajl_parse.h on line 38. I have no idea why this error occures. The framework is linked and in my project settings the paths and flags are correct.

Regards,
Serowy

yajl-objc is ARC compatible?

I just want to confirm that, whether the latest version of YAJL-OBJC is really ARC compatible.

I could see "release" method calls in deallocs. Thats why I had this doubt. Please confirm.

Thanks,
Ramesh

Compile errors in iPhone libs

I'm getting weird errors when trying to compile the iPhone project. It's showing these as two errors and one warning each, all with identical messages. I'm using the latest (non-beta) SDK.

YAJLDocument.m:88: warning: '-document:didAddObject:toArray:' not found in protocol(s)
YAJLDocument.m:94: warning: '-document:didSetObject:forKey:inDictionary:' not found in protocol(s)
YAJLDocument.m:128: warning: '-document:didAddDictionary:' not found in protocol(s)
YAJLDocument.m:147: warning: '-document:didAddArray:' not found in protocol(s)

The functions are defined in the protocol, I have no idea what it's complaining about. Any ideas?

Yajl is not working in Xcode 5

Could you please update Yajl for Xcode 5?
I tried linking yajl in xcode 5.1 but it is giving me the exception "'NSInvalidArgumentException', reason: '-[__NSCFConstantString yajl_JSON]: unrecognized selector sent to instance".
I would like to mention that in simulators, it work fine.

Error when trying to parse stream data

Whenever I try to parse a stream of data using ASIHTTPRequest I get the following error:

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[NSCFDictionary initWithObjects:forKeys:count:]: attempt to insert nil value at objects[0](key: NSLocalizedDescription)'

The method that fails is 'yajl_lex_lex'. It looks like the code is showing an invalid char no matter what get's fed in.

The code I used is simple:
YAJLDocument *jsonDoc = [[[YAJLDocument alloc] init] retain]; // defined globally

  • (void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data {
    NSError *error = nil;
    YAJLParserStatus status = [jsonDoc parse:data error:&error];
    }

No matter what JSON data I try, same error. If I parse on completion, the data parses fine.

__weak issue

Recently I've been having problems with dict_, array_, and key_ in YAJLDocument.h. They're all marked as __weak but ARC is disabled as per warnings I'm getting from pod linting my own pod that uses yajl-objc as a dependency. My problems vanish when I remove the '__weak' from each of this variables. Are there plans to update this repo to account for this bug?

duplicate symbol _YAJLDocumentStackCapacity

Hi There

I'm getting the following error after upgrading to the ios4 version. Not sure what I need to change, is there another libYAJLiPhone.a file available, I've looked for it but haven't found it.

Thanks

ld: duplicate symbol _YAJLDocumentStackCapacity in /Users/julie/bi_iphone/libYAJLIPhone.a(YAJLDocument.o) and /Users/julie/bi_iphone/build/businessinsider.build/Debug-iphonesimulator/businessinsider.build/Objects-normal/i386/YAJLDocument.o
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

Binary seems tied to Gabe's computer's compile path

I followed the directions for getting the library installed at the project level, and got the following runtime error:

dyld: Library not loaded: /Users/gabe/Library/Frameworks/YAJL.framework/Versions/A/YAJL

Referenced from: /Users/matt/Library/Application Support/iPhone Simulator/User/Applications/BLABLAH/MyApp.app/MyApp
Reason: image not found

Getting crashed during parsing

iOS Version: 17.2
Device: iPad

*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]
Screenshot 2024-01-08 at 7 41 01 PM

Release new podspec to cocoapods repo

I noticed the podspec hasn't been pushed to the cocoapods repo for a long time. I would gladly help you with it (I use this podspec in my own library, right now I setup my own pod spec repo to do that).

@rpath error still exists

Seems the @rpath image not found error still exists with 0.2.24 framework. Followed the instructions exactly. Shame really, would love to use this framework in my project...

Push new version to cocoapods master repo

Hi, could you please push the current podspec to the master repo. It hasn't been updated in quite a while and since my own framework depends on yajl-objc I have to maintain a private repo dependency for this.

Thanks!

Build failed with pod lib lint when yajl-obj dependency

Hello,

I'm trying to create a CocoaPod lib. My Project has a dependency on yajl-obj and this dependency doesn't compile during pod lib lint step.

I have created a stackoverflow question about this subject.

Do you have any idea about this issue ?

The yajl project seems to be no maintained anymore, so i prefer not create an issue on that repo.

is "CombineLibs.sh" necessary in the Makefile anymore?

In the makefile, the "default" build executes both "CombineLibs.sh" and "iPhoneFramework.sh". Both of these scripts run "lipo" to combine the Simulator & Device builds. Couldn't we make the output of "CombineLibs" the path of the lipo'd library, and pipe it into iPhoneFramework.sh? Or just not have "CombineLibs.sh" in the build process at all?

Or, am I just misunderstanding something about the build process?

YAJL throws exception while parsing long

This json causes an exception on the 12.11 version of YAJL, the previous version of the library parses it as a long ok, showing 1.23434e34 and 3.4343e26 respectively.

{
"subject": 12343434343434343434343434344343434,
"body": 343434343434344343434343434
}

While this may be valuable from a precision standpoint it causes parsing issues in large data sets in that the entire parsing operation fails. It would be preferable to lose the precision and have the parsing operation succeed, perhaps this would be best be specified as a parser option?

-[NSConcreteMutableData yajl_JSON:]: unrecognized selector sent to instance

When running the Test.app in the iPhoneSimulator4.2, I tried the "HLJSONDataSourceTest/testFail" and I got an exception with yajl:

2011-02-09 22:38:35.151 Tests[43724:207] HLJSONDataSourceTest/testFail
2011-02-09 22:38:37.413 Tests[43724:207] Re-running: HLJSONDataSourceTest/testFail <GHTest: 0x60e9020>
2011-02-09 22:38:37.920 Tests[43724:207] -[NSConcreteMutableData yajl_JSON:]: unrecognized selector sent to instance 0x60f6760
2011-02-09 22:38:37.935 Tests[43724:207] -[NSConcreteMutableData yajl_JSON:]: unrecognized selector sent to instance 0x60f6760
#0 0xe11bcc __exceptionPreprocess() (/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation)

[..more]

I found a similar issue at StackOverflow:

http://stackoverflow.com/questions/2415631/has-anyone-had-experience-using-the-objective-c-bindings-for-yajl

I followed the advice of adding -ObjC and -all_load compiler flags(all configurations). Compiled with these new linker warning but ignored them:

Ld build/YAJL.build/Release/YAJL.build/Objects-normal/ppc/YAJL normal ppc
cd /Users/sidha/git/yajl-objc/Project
setenv MACOSX_DEPLOYMENT_TARGET 10.5
/Developer/usr/bin/gcc-4.2 -arch ppc -dynamiclib -isysroot /Developer/SDKs/MacOSX10.5.sdk -L/Users/sidha/git/yajl-objc/Project/build/Release -F/Users/sidha/git/yajl-objc/Project/build/Release -filelist /Users/sidha/git/yajl-objc/Project/build/YAJL.build/Release/YAJL.build/Objects-normal/ppc/YAJL.LinkFileList -install_name @rpath/YAJL.framework/Versions/A/YAJL -Xlinker -rpath -Xlinker @loader_path/../Frameworks -mmacosx-version-min=10.5 -ObjC -all_load -framework Cocoa -single_module -compatibility_version 0 -current_version 0.2.25 -o /Users/sidha/git/yajl-objc/Project/build/YAJL.build/Release/YAJL.build/Objects-normal/ppc/YAJL

ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /Developer/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /Developer/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /Developer/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /Developer/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /Developer/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /Developer/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from /Developer/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/libgcc.a(darwin-tramp.o)

Anyway, re-running the test still crashes the same way. Should I worry about this or ignore it?

Michael

import fix for case-sensitive filesystems

I just downloaded YAJL-0.2.26.zip and had to do a sed -i "" 's:(#include\ <)yajl/:\1YAJL/:' YAJL.framework/Headers/* , since yajl/yajl_common.h was not found on my case-sensitive filesystem

Wrong instruction on XCode 4 for iOS Install

Hello, just a comment, I'm not sure if this is the right place to put this comment, but in the instructions for installing YAJL for XCode 4 for iOS, it says Import with #import <YAJL/YAJL.h>, just after a while I figure it out that it should say: #import <YAJLiOS/YAJL.h> (with the "iOS" as expected).

I know this is obvious, but took about half an hour just to find that and I took it from your example.

Thanks!
Santiago

how to pass multiple parameters...

I'm fairly new to Objective C and Json so I was wondering if you could help me figure out how to pass multiple parameters to a JSON Service Request. Let's say the service is called CAServices.svc and the method is called "SearchTalent("string searchName, string agentName, string agencyName).

thanks in advance.

mark

'yajl/yajl_common.h' file not found

I get this, any help?

/Volumes/WS/xxx/Frameworks/YAJL.framework/Headers/yajl_parse.h:38:10: 'yajl/yajl_common.h' file not found

Using XCode 4

Xcode 4 (IOS) Install - clarification on "Other Linker Flags"

Gabriel,

Thanks for putting together this nice framework. I'm running Xcode 4.2. Under my "Other Linker Flags" in Build Settings fro my target, I have two entries: "Debug" and "Release". I am unable to add the instructed parameters "-ObjC" and "all_load" as I can only add one on "Debug" and one on Release".

Please advise on how I should address this for proper functionality.

Thanks and regards,
Ethan

parser:didAdd: does not fire for isolated number.

Sending the parser @"1.0" does not result in a value because the parser does not know if more data is pending. Conversely @"true", @"null", and @\"test\"" work because the parser infers a complete object.

I believe the correct approach would be to add a [parser close] method which invokes yajl_complete_parse that can be executed when the end of the stream is reached.

iPhone OS 4 Simulator doesn't link

When I'm trying to build my App using yajl-objc against iPhone OS 4 and Simulator, I'm getting linker errors:

Ld build/Debug-iphonesimulator/Doublemill.app/Doublemill normal i386
cd /Users/dlinsin/Development/area51/doublemill/client/iphone
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk -L/Users/dlinsin/Development/area51/doublemill/client/iphone/build/Debug-iphonesimulator -L/Users/dlinsin/Development/area51/doublemill/client/iphone/Frameworks/libYAJLIPhone-0.2.16 -L/Users/dlinsin/Development/area51/doublemill/client/iphone/libYAJLIPhone-0.2.17 -F/Users/dlinsin/Development/area51/doublemill/client/iphone/build/Debug-iphonesimulator -filelist /Users/dlinsin/Development/area51/doublemill/client/iphone/build/doublemill.build/Debug-iphonesimulator/doublemill.build/Objects-normal/i386/Doublemill.LinkFileList -mmacosx-version-min=10.6 -ObjC -all_load -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework CoreGraphics -framework QuartzCore -framework MessageUI -lYAJLIPhone -o /Users/dlinsin/Development/area51/doublemill/client/iphone/build/Debug-iphonesimulator/Doublemill.app/Doublemill

Undefined symbols:
".objc_class_name_NSMutableArray", referenced from:
literal-pointer@__OBJC@__cls_refs@NSMutableArray in libYAJLIPhone.a(YAJLDocument.o)
".objc_class_name_NSMutableDictionary", referenced from:
literal-pointer@__OBJC@__cls_refs@NSMutableDictionary in libYAJLIPhone.a(YAJLDocument.o)
literal-pointer@__OBJC@__cls_refs@NSMutableDictionary in libYAJLIPhone.a(YAJLParser.o)
".objc_class_name_NSMutableData", referenced from:
literal-pointer@__OBJC@__cls_refs@NSMutableData in libYAJLIPhone.a(YAJL_GTMBase64.o)
".objc_class_name_NSNumber", referenced from:
literal-pointer@__OBJC@__cls_refs@NSNumber in libYAJLIPhone.a(YAJLParser.o)
literal-pointer@__OBJC@__cls_refs@NSNumber in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSArray", referenced from:
literal-pointer@__OBJC@__cls_refs@NSArray in libYAJLIPhone.a(YAJLDocument.o)
literal-pointer@__OBJC@__cls_refs@NSArray in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSException", referenced from:
literal-pointer@__OBJC@__cls_refs@NSException in libYAJLIPhone.a(NSObject+YAJL.o)
literal-pointer@__OBJC@__cls_refs@NSException in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSAssertionHandler", referenced from:
literal-pointer@__OBJC@__cls_refs@NSAssertionHandler in libYAJLIPhone.a(YAJLDocument.o)
literal-pointer@__OBJC@__cls_refs@NSAssertionHandler in libYAJLIPhone.a(YAJLParser.o)
".objc_class_name_NSData", referenced from:
literal-pointer@__OBJC@__cls_refs@NSData in libYAJLIPhone.a(NSObject+YAJL.o)
literal-pointer@__OBJC@__cls_refs@NSData in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSDate", referenced from:
literal-pointer@__OBJC@__cls_refs@NSDate in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSDictionary", referenced from:
literal-pointer@__OBJC@__cls_refs@NSDictionary in libYAJLIPhone.a(YAJLDocument.o)
literal-pointer@__OBJC@__cls_refs@NSDictionary in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSURL", referenced from:
literal-pointer@__OBJC@__cls_refs@NSURL in libYAJLIPhone.a(YAJLGen.o)
".objc_class_name_NSObject", referenced from:
.objc_class_name_YAJLDocument in libYAJLIPhone.a(YAJLDocument.o)
.objc_class_name_YAJLParser in libYAJLIPhone.a(YAJLParser.o)
.objc_class_name_YAJLGen in libYAJLIPhone.a(YAJLGen.o)
.objc_class_name_YAJL_GTMBase64 in libYAJLIPhone.a(YAJL_GTMBase64.o)
".objc_class_name_NSError", referenced from:
literal-pointer@__OBJC@__cls_refs@NSError in libYAJLIPhone.a(YAJLParser.o)
".objc_class_name_NSString", referenced from:
literal-pointer@__OBJC@__cls_refs@NSString in libYAJLIPhone.a(YAJLDocument.o)
literal-pointer@__OBJC@__cls_refs@NSString in libYAJLIPhone.a(YAJLParser.o)
literal-pointer@__OBJC@__cls_refs@NSString in libYAJLIPhone.a(YAJLGen.o)
literal-pointer@__OBJC@__cls_refs@NSString in libYAJLIPhone.a(YAJL_GTMBase64.o)
".objc_class_name_NSNull", referenced from:
literal-pointer@__OBJC@__cls_refs@NSNull in libYAJLIPhone.a(YAJLParser.o)
literal-pointer@__OBJC@__cls_refs@NSNull in libYAJLIPhone.a(YAJLGen.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status

ARC

is it possible to use this with ARC projects?

I get the following error when trying to make use of the framework:

In YAJLParser.h -

@Property (assign, nonatomic) __weak id delegate;

Weak and Assign are mutually exclusive properties...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.