Skip to content

Instantly share code, notes, and snippets.

@gabriel
gabriel / README
Created July 22, 2008 21:11
Ruby script to find iphones
Looks like the JSON feed now only works after 9pm. Thanks Daring Fireball! ;)
//
// GTMStackTrace.m
//
// Copyright 2007-2008 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy
// of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// GTMStackTrace.h
//
// Copyright 2007-2008 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy
// of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Colors</key>
<dict>
<key>Background</key>
<string>0.078 0.078 0.078</string>
<key>InsertionPoint</key>
<string>1.000 1.000 1.000</string>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Colors</key>
<dict>
<key>Background</key>
<string>0.078 0.078 0.078</string>
<key>InsertionPoint</key>
<string>1.000 1.000 1.000</string>
# Goes to the current iPhone simulator app directory
alias simwd='cd "/Users/$USER/Library/Application Support/iPhone Simulator/User/Applications/" && cd `ls -t | cut -f 1 | head -1` && echo "Changed to `pwd`"'
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;
YAJLParser *parser = [[[YAJLParser alloc] initWithParserOptions:0] autorelease];
parser.delegate = self;
// A chunk of data comes...
YAJLParserStatus status = [parser parse:chunk1];
// 'status' should be YAJLParserStatusInsufficientData, if its not finished
if (parser.parserError) ...;
// Another chunk of data comes...
YAJLParserStatus status = [parser parse:chunk2];
NSData *data = [NSData dataWithContentsOfFile:@"example.json"];
NSError *error = nil;
YAJLDocument *document = [[YAJLDocument alloc] initWithData:data parserOptions:0 error:&error];
// Access root element at document.root
NSLog(@"Root: %@", document.root);
[document release];
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[self methodSignatureForSelector:@selector(listWithOffset:limit:)]];
[theInvocation setSelector:@selector(listWithOffset:limit:)];
[theInvocation setTarget:self];
NSInteger offset = 40;
[theInvocation setArgument:&offset atIndex:2];
NSInteger limit = 20;
[theInvocation setArgument:&limit atIndex:3];
[invocation performSelector:@selector(invoke) onThread:thread withObject:nil waitUntilDone:NO];