diff --git a/Xmod/Autocustomize Entity Classes.applescript b/Xmod/Autocustomize Entity Classes.applescript deleted file mode 100644 index e371047b..00000000 --- a/Xmod/Autocustomize Entity Classes.applescript +++ /dev/null @@ -1 +0,0 @@ -tell application "Xcode" if version = "3.2" or version = "3.2.1" then display alert "Xcode Incompatiblity" message "Xcode 3.2 and 3.2.1 broke the AppleScript interface for manipulating entities, breaking this script. Dupe http://openradar.me/7289446 if you want it back." as warning return end if activate if not (exists active project document) then error "No active project. Please open an Xcode project and re-run the script." end if set mainWindowFilePath to associated file name of main window if mainWindowFilePath does not end with ".xcdatamodel" then error "Please open an .xcdatamodel file and re-run the script." end if tell item 1 of (every data model document whose path is mainWindowFilePath) using terms from application "Finder" display alert "Autocustomize Entity Classes" message "Automatically customize all generic entity classes based on their names? (This is undoable.)" buttons {"Cancel", "Auto-customize"} cancel button 1 end using terms from if button returned of result is "Auto-customize" then repeat with entityIt in (every entity) set object class of entityIt to name of entityIt & "MO" end repeat end if end tell end tell activate \ No newline at end of file diff --git a/Xmod/English.lproj/InfoPlist.strings b/Xmod/English.lproj/InfoPlist.strings deleted file mode 100644 index 948e12b9..00000000 Binary files a/Xmod/English.lproj/InfoPlist.strings and /dev/null differ diff --git a/Xmod/Info.plist b/Xmod/Info.plist deleted file mode 100644 index 53468e4c..00000000 --- a/Xmod/Info.plist +++ /dev/null @@ -1,30 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.rentzsch.xmod - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - BNDL - CFBundleSignature - ???? - CFBundleVersion - 1.8 - NSPrincipalClass - - XCPluginHasUI - - XCGCReady - YES - - diff --git a/Xmod/JRSwizzle/JRSwizzle.h b/Xmod/JRSwizzle/JRSwizzle.h deleted file mode 100644 index ceb0528d..00000000 --- a/Xmod/JRSwizzle/JRSwizzle.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright (c) 2007-2011 Jonathan 'Wolf' Rentzsch: http://rentzsch.com -// Some rights reserved: http://opensource.org/licenses/mit-license.php - -#import - -@interface NSObject (JRSwizzle) - -+ (BOOL)jr_swizzleMethod:(SEL)origSel_ withMethod:(SEL)altSel_ error:(NSError**)error_; -+ (BOOL)jr_swizzleClassMethod:(SEL)origSel_ withClassMethod:(SEL)altSel_ error:(NSError**)error_; - -@end diff --git a/Xmod/JRSwizzle/JRSwizzle.m b/Xmod/JRSwizzle/JRSwizzle.m deleted file mode 100644 index 2e6ed036..00000000 --- a/Xmod/JRSwizzle/JRSwizzle.m +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright (c) 2007-2011 Jonathan 'Wolf' Rentzsch: http://rentzsch.com -// Some rights reserved: http://opensource.org/licenses/mit-license.php - -#import "JRSwizzle.h" -#import - -#define SetNSErrorFor(FUNC, ERROR_VAR, FORMAT,...) \ - if (ERROR_VAR) { \ - NSString *errStr = [NSString stringWithFormat:@"%s: " FORMAT,FUNC,##__VA_ARGS__]; \ - *ERROR_VAR = [NSError errorWithDomain:@"NSCocoaErrorDomain" \ - code:-1 \ - userInfo:[NSDictionary dictionaryWithObject:errStr forKey:NSLocalizedDescriptionKey]]; \ - } -#define SetNSError(ERROR_VAR, FORMAT,...) SetNSErrorFor(__func__, ERROR_VAR, FORMAT, ##__VA_ARGS__) - -#if OBJC_API_VERSION >= 2 -#define GetClass(obj) object_getClass(obj) -#else -#define GetClass(obj) (obj ? obj->isa : Nil) -#endif - -@implementation NSObject (JRSwizzle) - -+ (BOOL)jr_swizzleMethod:(SEL)origSel_ withMethod:(SEL)altSel_ error:(NSError**)error_ { -#if OBJC_API_VERSION >= 2 - Method origMethod = class_getInstanceMethod(self, origSel_); - if (!origMethod) { - SetNSError(error_, @"original method %@ not found for class %@", NSStringFromSelector(origSel_), [self className]); - return NO; - } - - Method altMethod = class_getInstanceMethod(self, altSel_); - if (!altMethod) { - SetNSError(error_, @"alternate method %@ not found for class %@", NSStringFromSelector(altSel_), [self className]); - return NO; - } - - class_addMethod(self, - origSel_, - class_getMethodImplementation(self, origSel_), - method_getTypeEncoding(origMethod)); - class_addMethod(self, - altSel_, - class_getMethodImplementation(self, altSel_), - method_getTypeEncoding(altMethod)); - - method_exchangeImplementations(class_getInstanceMethod(self, origSel_), class_getInstanceMethod(self, altSel_)); - return YES; -#else - // Scan for non-inherited methods. - Method directOriginalMethod = NULL, directAlternateMethod = NULL; - - void *iterator = NULL; - struct objc_method_list *mlist = class_nextMethodList(self, &iterator); - while (mlist) { - int method_index = 0; - for (; method_index < mlist->method_count; method_index++) { - if (mlist->method_list[method_index].method_name == origSel_) { - assert(!directOriginalMethod); - directOriginalMethod = &mlist->method_list[method_index]; - } - if (mlist->method_list[method_index].method_name == altSel_) { - assert(!directAlternateMethod); - directAlternateMethod = &mlist->method_list[method_index]; - } - } - mlist = class_nextMethodList(self, &iterator); - } - - // If either method is inherited, copy it up to the target class to make it non-inherited. - if (!directOriginalMethod || !directAlternateMethod) { - Method inheritedOriginalMethod = NULL, inheritedAlternateMethod = NULL; - if (!directOriginalMethod) { - inheritedOriginalMethod = class_getInstanceMethod(self, origSel_); - if (!inheritedOriginalMethod) { - SetNSError(error_, @"original method %@ not found for class %@", NSStringFromSelector(origSel_), [self className]); - return NO; - } - } - if (!directAlternateMethod) { - inheritedAlternateMethod = class_getInstanceMethod(self, altSel_); - if (!inheritedAlternateMethod) { - SetNSError(error_, @"alternate method %@ not found for class %@", NSStringFromSelector(altSel_), [self className]); - return NO; - } - } - - int hoisted_method_count = !directOriginalMethod && !directAlternateMethod ? 2 : 1; - struct objc_method_list *hoisted_method_list = malloc(sizeof(struct objc_method_list) + (sizeof(struct objc_method)*(hoisted_method_count-1))); - hoisted_method_list->obsolete = NULL; // soothe valgrind - apparently ObjC runtime accesses this value and it shows as uninitialized in valgrind - hoisted_method_list->method_count = hoisted_method_count; - Method hoisted_method = hoisted_method_list->method_list; - - if (!directOriginalMethod) { - bcopy(inheritedOriginalMethod, hoisted_method, sizeof(struct objc_method)); - directOriginalMethod = hoisted_method++; - } - if (!directAlternateMethod) { - bcopy(inheritedAlternateMethod, hoisted_method, sizeof(struct objc_method)); - directAlternateMethod = hoisted_method; - } - class_addMethods(self, hoisted_method_list); - } - - // Swizzle. - IMP temp = directOriginalMethod->method_imp; - directOriginalMethod->method_imp = directAlternateMethod->method_imp; - directAlternateMethod->method_imp = temp; - - return YES; -#endif -} - -+ (BOOL)jr_swizzleClassMethod:(SEL)origSel_ withClassMethod:(SEL)altSel_ error:(NSError**)error_ { - return [GetClass((id)self) jr_swizzleMethod:origSel_ withMethod:altSel_ error:error_]; -} - -@end diff --git a/Xmod/JRSwizzle/JRSwizzleTest/10.3 Test-Info.plist b/Xmod/JRSwizzle/JRSwizzleTest/10.3 Test-Info.plist deleted file mode 100644 index 738cf17f..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/10.3 Test-Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.10.3 Test - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - BNDL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/Xmod/JRSwizzle/JRSwizzleTest/10.4 Test-Info.plist b/Xmod/JRSwizzle/JRSwizzleTest/10.4 Test-Info.plist deleted file mode 100644 index b0a67265..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/10.4 Test-Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.10.4 Test - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - BNDL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/Xmod/JRSwizzle/JRSwizzleTest/10.5 32-bit Test-Info.plist b/Xmod/JRSwizzle/JRSwizzleTest/10.5 32-bit Test-Info.plist deleted file mode 100644 index 6f5c60b5..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/10.5 32-bit Test-Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.10.5 32-bit Test - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - BNDL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/Xmod/JRSwizzle/JRSwizzleTest/10.5 64-bit Test-Info.plist b/Xmod/JRSwizzle/JRSwizzleTest/10.5 64-bit Test-Info.plist deleted file mode 100644 index 737d82ed..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/10.5 64-bit Test-Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - com.yourcompany.10.5 64-bit Test - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - BNDL - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/Xmod/JRSwizzle/JRSwizzleTest/AppleSwizzleTest.h b/Xmod/JRSwizzle/JRSwizzleTest/AppleSwizzleTest.h deleted file mode 100644 index bbe9cc04..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/AppleSwizzleTest.h +++ /dev/null @@ -1,10 +0,0 @@ -#import - -@interface AppleSwizzleTest : SenTestCase { - -} - -- (void)testAppleSwizzleOfDirectMethod; -- (void)testAppleSwizzleOfInheritedMethod; - -@end diff --git a/Xmod/JRSwizzle/JRSwizzleTest/AppleSwizzleTest.m b/Xmod/JRSwizzle/JRSwizzleTest/AppleSwizzleTest.m deleted file mode 100644 index 74b34e95..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/AppleSwizzleTest.m +++ /dev/null @@ -1,129 +0,0 @@ -#import "AppleSwizzleTest.h" -#import - -BOOL aFooCalled, bFooCalled, bAltFooCalled; - -@interface A5 : NSObject {} -- (void)foo5; -@end -@implementation A5 -- (void)foo5 { - aFooCalled = YES; -} -@end - -@interface B5 : A5 {} -@end -@implementation B5 -- (void)foo5 { - bFooCalled = YES; -} -@end - -@interface B5 (altFoo5) -- (void)altFoo5; -@end -@implementation B5 (altFoo5) -- (void)altFoo5 { - bAltFooCalled = YES; -} -@end - -@interface A6 : NSObject {} -- (void)foo6; -@end -@implementation A6 -- (void)foo6 { - aFooCalled = YES; -} -@end - -@interface B6 : A6 {} -@end -@implementation B6 -@end - -@interface B6 (altFoo6) -- (void)altFoo6; -@end -@implementation B6 (altFoo6) -- (void)altFoo6 { - bAltFooCalled = YES; -} -@end - -@implementation AppleSwizzleTest - -- (void)testAppleSwizzleOfDirectMethod { - A5 *a = [[[A5 alloc] init] autorelease]; - B5 *b = [[[B5 alloc] init] autorelease]; - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo5]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo5]; - STAssertFalse(aFooCalled, nil); - STAssertTrue(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - } - - method_exchangeImplementations(class_getInstanceMethod([B5 class], @selector(foo5)), - class_getInstanceMethod([B5 class], @selector(altFoo5))); - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo5]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo5]; - STAssertFalse(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertTrue(bAltFooCalled, nil); - } -} - -- (void)testAppleSwizzleOfInheritedMethod { - A6 *a = [[[A6 alloc] init] autorelease]; - B6 *b = [[[B6 alloc] init] autorelease]; - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo6]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo6]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - } - - method_exchangeImplementations(class_getInstanceMethod([B6 class], @selector(foo6)), - class_getInstanceMethod([B6 class], @selector(altFoo6))); - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo6]; - STAssertFalse(aFooCalled, nil); // KNOWN INCORRECT BEHAVIOR: [a foo6] resulted in calling B6(altFoo6)'s -altFoo6! - STAssertFalse(bFooCalled, nil); - STAssertTrue(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo6]; - STAssertFalse(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertTrue(bAltFooCalled, nil); - } -} - -@end diff --git a/Xmod/JRSwizzle/JRSwizzleTest/BallardSwizzleTest.h b/Xmod/JRSwizzle/JRSwizzleTest/BallardSwizzleTest.h deleted file mode 100644 index 4b1b0b0b..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/BallardSwizzleTest.h +++ /dev/null @@ -1,10 +0,0 @@ -#import - -@interface BallardSwizzleTest : SenTestCase { - -} - -- (void)testBallardSwizzleOfDirectMethod; -- (void)testBallardSwizzleOfInheritedMethod; - -@end diff --git a/Xmod/JRSwizzle/JRSwizzleTest/BallardSwizzleTest.m b/Xmod/JRSwizzle/JRSwizzleTest/BallardSwizzleTest.m deleted file mode 100644 index 0b013163..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/BallardSwizzleTest.m +++ /dev/null @@ -1,127 +0,0 @@ -#import "BallardSwizzleTest.h" -#import "MethodSwizzle.h" - -BOOL aFooCalled, bFooCalled, bAltFooCalled; - -@interface A3 : NSObject {} -- (void)foo3; -@end -@implementation A3 -- (void)foo3 { - aFooCalled = YES; -} -@end - -@interface B3 : A3 {} -@end -@implementation B3 -- (void)foo3 { - bFooCalled = YES; -} -@end - -@interface B3 (altFoo3) -- (void)altFoo3; -@end -@implementation B3 (altFoo3) -- (void)altFoo3 { - bAltFooCalled = YES; -} -@end - -@interface A4 : NSObject {} -- (void)foo4; -@end -@implementation A4 -- (void)foo4 { - aFooCalled = YES; -} -@end - -@interface B4 : A4 {} -@end -@implementation B4 -@end - -@interface B4 (altFoo4) -- (void)altFoo4; -@end -@implementation B4 (altFoo4) -- (void)altFoo4 { - bAltFooCalled = YES; -} -@end - -@implementation BallardSwizzleTest - -- (void)testBallardSwizzleOfDirectMethod { - A3 *a = [[[A3 alloc] init] autorelease]; - B3 *b = [[[B3 alloc] init] autorelease]; - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo3]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo3]; - STAssertFalse(aFooCalled, nil); - STAssertTrue(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - } - - MethodSwizzle([B3 class], @selector(foo3), @selector(altFoo3)); - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo3]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo3]; - STAssertFalse(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertTrue(bAltFooCalled, nil); - } -} - -- (void)testBallardSwizzleOfInheritedMethod { - A4 *a = [[[A4 alloc] init] autorelease]; - B4 *b = [[[B4 alloc] init] autorelease]; - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo4]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo4]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - } - - MethodSwizzle([B4 class], @selector(foo4), @selector(altFoo4)); - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo4]; - STAssertTrue(aFooCalled, nil); // CORRECT BEHAVIOR - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo4]; - STAssertFalse(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertTrue(bAltFooCalled, nil); - } -} - -@end diff --git a/Xmod/JRSwizzle/JRSwizzleTest/ClassicSwizzleTest.h b/Xmod/JRSwizzle/JRSwizzleTest/ClassicSwizzleTest.h deleted file mode 100644 index b4f5702c..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/ClassicSwizzleTest.h +++ /dev/null @@ -1,10 +0,0 @@ -#import - -@interface ClassicSwizzleTest : SenTestCase { - -} - -- (void)testClassicSwizzleOfDirectMethod; -- (void)testClassicSwizzleOfInheritedMethod; - -@end diff --git a/Xmod/JRSwizzle/JRSwizzleTest/ClassicSwizzleTest.m b/Xmod/JRSwizzle/JRSwizzleTest/ClassicSwizzleTest.m deleted file mode 100644 index 30f7bc19..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/ClassicSwizzleTest.m +++ /dev/null @@ -1,151 +0,0 @@ -#import "ClassicSwizzleTest.h" -#import - -// Lifted from http://www.cocoadev.com/index.pl?MethodSwizzling -void ClassicMethodSwizzle(Class aClass, SEL orig_sel, SEL alt_sel) { - Method orig_method = nil, alt_method = nil; - - // First, look for the methods - orig_method = class_getInstanceMethod(aClass, orig_sel); - alt_method = class_getInstanceMethod(aClass, alt_sel); - - // If both are found, swizzle them - if ((orig_method != nil) && (alt_method != nil)) - { - char *temp1; - IMP temp2; - - temp1 = orig_method->method_types; - orig_method->method_types = alt_method->method_types; - alt_method->method_types = temp1; - - temp2 = orig_method->method_imp; - orig_method->method_imp = alt_method->method_imp; - alt_method->method_imp = temp2; - } -} - -BOOL aFooCalled, bFooCalled, bAltFooCalled; - -@interface A1 : NSObject {} -- (void)foo1; -@end -@implementation A1 -- (void)foo1 { - aFooCalled = YES; -} -@end - -@interface B1 : A1 {} -@end -@implementation B1 -- (void)foo1 { - bFooCalled = YES; -} -@end - -@interface B1 (altFoo1) -- (void)altFoo1; -@end -@implementation B1 (altFoo1) -- (void)altFoo1 { - bAltFooCalled = YES; -} -@end - -@interface A2 : NSObject {} -- (void)foo2; -@end -@implementation A2 -- (void)foo2 { - aFooCalled = YES; -} -@end - -@interface B2 : A2 {} -@end -@implementation B2 -@end - -@interface B2 (altFoo2) -- (void)altFoo2; -@end -@implementation B2 (altFoo2) -- (void)altFoo2 { - bAltFooCalled = YES; -} -@end - -@implementation ClassicSwizzleTest - -- (void)testClassicSwizzleOfDirectMethod { - A1 *a = [[[A1 alloc] init] autorelease]; - B1 *b = [[[B1 alloc] init] autorelease]; - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo1]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo1]; - STAssertFalse(aFooCalled, nil); - STAssertTrue(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - } - - ClassicMethodSwizzle([B1 class], @selector(foo1), @selector(altFoo1)); - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo1]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo1]; - STAssertFalse(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertTrue(bAltFooCalled, nil); - } -} - -- (void)testClassicSwizzleOfInheritedMethod { - A2 *a = [[[A2 alloc] init] autorelease]; - B2 *b = [[[B2 alloc] init] autorelease]; - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo2]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo2]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - } - - ClassicMethodSwizzle([B2 class], @selector(foo2), @selector(altFoo2)); - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo2]; - STAssertFalse(aFooCalled, nil); // KNOWN INCORRECT BEHAVIOR: [a foo2] resulted in calling B2(altFoo2)'s -altFoo2! - STAssertFalse(bFooCalled, nil); - STAssertTrue(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo2]; - STAssertFalse(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertTrue(bAltFooCalled, nil); - } -} - -@end diff --git a/Xmod/JRSwizzle/JRSwizzleTest/JRSwizzleTest.h b/Xmod/JRSwizzle/JRSwizzleTest/JRSwizzleTest.h deleted file mode 100644 index 8ed8dbe6..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/JRSwizzleTest.h +++ /dev/null @@ -1,4 +0,0 @@ -#import - -@interface JRSwizzleTest : SenTestCase {} -@end \ No newline at end of file diff --git a/Xmod/JRSwizzle/JRSwizzleTest/JRSwizzleTest.m b/Xmod/JRSwizzle/JRSwizzleTest/JRSwizzleTest.m deleted file mode 100644 index 15990f77..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/JRSwizzleTest.m +++ /dev/null @@ -1,156 +0,0 @@ -#import "JRSwizzleTest.h" -#import "JRSwizzle.h" - -BOOL aFooCalled, bFooCalled, bAltFooCalled; - -#pragma mark - -#pragma mark Scenario 7: Test JRSwizzle of Direct Implementation -#pragma mark - - -@interface A7 : NSObject {} -- (void)foo7; -@end -@implementation A7 -- (void)foo7 { - aFooCalled = YES; -} -@end - -@interface B7 : A7 {} -@end -@implementation B7 -- (void)foo7 { - bFooCalled = YES; -} -@end - -@interface B7 (altFoo7) -- (void)altFoo7; -@end -@implementation B7 (altFoo7) -- (void)altFoo7 { - bAltFooCalled = YES; -} -@end - -@interface JRSwizzleTest (testJRSwizzleOfDirectMethod) -- (void)testJRSwizzleOfDirectMethod; -@end -@implementation JRSwizzleTest (testJRSwizzleOfDirectMethod) - -- (void)testJRSwizzleOfDirectMethod { - A7 *a = [[[A7 alloc] init] autorelease]; - B7 *b = [[[B7 alloc] init] autorelease]; - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo7]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo7]; - STAssertFalse(aFooCalled, nil); - STAssertTrue(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - } - - NSError *error = nil; - [B7 jr_swizzleMethod:@selector(foo7) - withMethod:@selector(altFoo7) - error:&error]; - STAssertNil(error, nil); - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo7]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo7]; - STAssertFalse(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertTrue(bAltFooCalled, nil); - } -} - -@end - -#pragma mark - -#pragma mark Scenario 8: Test JRSwizzle of Inherited Implementation -#pragma mark - - -@interface A8 : NSObject {} -- (void)foo8; -@end -@implementation A8 -- (void)foo8 { - aFooCalled = YES; -} -@end - -@interface B8 : A8 {} -@end -@implementation B8 -@end - -@interface B8 (altFoo8) -- (void)altFoo8; -@end -@implementation B8 (altFoo8) -- (void)altFoo8 { - bAltFooCalled = YES; -} -@end - -@interface JRSwizzleTest (testJRSwizzleOfInheritedMethod) -- (void)testJRSwizzleOfInheritedMethod; -@end -@implementation JRSwizzleTest (testJRSwizzleOfInheritedMethod) - -- (void)testJRSwizzleOfInheritedMethod { - A8 *a = [[[A8 alloc] init] autorelease]; - B8 *b = [[[B8 alloc] init] autorelease]; - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo8]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo8]; - STAssertTrue(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - } - - NSError *error = nil; - [B8 jr_swizzleMethod:@selector(foo8) - withMethod:@selector(altFoo8) - error:&error]; - STAssertNil(error, nil); - - { - aFooCalled = bFooCalled = bAltFooCalled = NO; - [a foo8]; - STAssertTrue(aFooCalled, nil); // CORRECT BEHAVIOR - STAssertFalse(bFooCalled, nil); - STAssertFalse(bAltFooCalled, nil); - - aFooCalled = bFooCalled = bAltFooCalled = NO; - [b foo8]; - STAssertFalse(aFooCalled, nil); - STAssertFalse(bFooCalled, nil); - STAssertTrue(bAltFooCalled, nil); - } -} - -@end - -@implementation JRSwizzleTest -@end \ No newline at end of file diff --git a/Xmod/JRSwizzle/JRSwizzleTest/JRSwizzleTest.xcodeproj/project.pbxproj b/Xmod/JRSwizzle/JRSwizzleTest/JRSwizzleTest.xcodeproj/project.pbxproj deleted file mode 100644 index 6588aff8..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/JRSwizzleTest.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1168 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 44; - objects = { - -/* Begin PBXAggregateTarget section */ - 79F3DBFA0CF33EE500733703 /* All Tests */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 79F3DC0C0CF33EFB00733703 /* Build configuration list for PBXAggregateTarget "All Tests" */; - buildPhases = ( - ); - dependencies = ( - 792609490CF3FA4A00A93D12 /* PBXTargetDependency */, - 7926085F0CF3F32700A93D12 /* PBXTargetDependency */, - 79F3DC3E0CF358B300733703 /* PBXTargetDependency */, - 79F3DC400CF358B300733703 /* PBXTargetDependency */, - ); - name = "All Tests"; - productName = "All Tests"; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 7926079B0CF3EE5400A93D12 /* AppleSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F3DC870CF3EAAD00733703 /* AppleSwizzleTest.m */; }; - 792607C80CF3F0A900A93D12 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; - 792608460CF3F0AE00A93D12 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* main.m */; }; - 792608640CF3F34000A93D12 /* BallardSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F3DC5E0CF36BC300733703 /* BallardSwizzleTest.m */; }; - 792608650CF3F34100A93D12 /* ClassicSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F3DC1C0CF3411300733703 /* ClassicSwizzleTest.m */; }; - 792608690CF3F36900A93D12 /* MethodSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F3DC540CF36B3500733703 /* MethodSwizzle.m */; }; - 792608800CF3F57B00A93D12 /* JRSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 7926087E0CF3F57B00A93D12 /* JRSwizzle.m */; }; - 792608810CF3F57B00A93D12 /* JRSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 7926087E0CF3F57B00A93D12 /* JRSwizzle.m */; }; - 792608820CF3F57B00A93D12 /* JRSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 7926087E0CF3F57B00A93D12 /* JRSwizzle.m */; }; - 792608880CF3F6BF00A93D12 /* JRSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 792608870CF3F6BF00A93D12 /* JRSwizzleTest.m */; }; - 792608890CF3F6BF00A93D12 /* JRSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 792608870CF3F6BF00A93D12 /* JRSwizzleTest.m */; }; - 7926088A0CF3F6BF00A93D12 /* JRSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 792608870CF3F6BF00A93D12 /* JRSwizzleTest.m */; }; - 792608A80CF3F8DA00A93D12 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; - 792609260CF3F8E500A93D12 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* main.m */; }; - 7926094C0CF3FA6400A93D12 /* BallardSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F3DC5E0CF36BC300733703 /* BallardSwizzleTest.m */; }; - 7926094D0CF3FA6500A93D12 /* ClassicSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F3DC1C0CF3411300733703 /* ClassicSwizzleTest.m */; }; - 7926094E0CF3FA6600A93D12 /* JRSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 792608870CF3F6BF00A93D12 /* JRSwizzleTest.m */; }; - 792609500CF3FA7400A93D12 /* MethodSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F3DC540CF36B3500733703 /* MethodSwizzle.m */; }; - 792609510CF3FA7700A93D12 /* JRSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 7926087E0CF3F57B00A93D12 /* JRSwizzle.m */; }; - 79F3DBE80CF33E6000733703 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* main.m */; settings = {ATTRIBUTES = (); }; }; - 79F3DBEA0CF33E6000733703 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; - 79F3DC1D0CF3411300733703 /* ClassicSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F3DC1C0CF3411300733703 /* ClassicSwizzleTest.m */; }; - 79F3DC560CF36B3500733703 /* MethodSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F3DC540CF36B3500733703 /* MethodSwizzle.m */; }; - 79F3DC5F0CF36BC300733703 /* BallardSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F3DC5E0CF36BC300733703 /* BallardSwizzleTest.m */; }; - 79F3DC880CF3EAAD00733703 /* AppleSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 79F3DC870CF3EAAD00733703 /* AppleSwizzleTest.m */; }; - 8DD76F9A0486AA7600D96B5E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* main.m */; settings = {ATTRIBUTES = (); }; }; - 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 792607970CF3EE2100A93D12 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 79F3DBE60CF33E6000733703; - remoteInfo = "10.5 64-bit"; - }; - 7926085C0CF3F26000A93D12 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 792607C20CF3F05800A93D12; - remoteInfo = 10.4; - }; - 7926085E0CF3F32700A93D12 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 792608540CF3F24400A93D12; - remoteInfo = "10.4 Test"; - }; - 792609480CF3FA4A00A93D12 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 7926093E0CF3F98E00A93D12; - remoteInfo = "10.3 Test"; - }; - 7926094A0CF3FA5300A93D12 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 792608A20CF3F88400A93D12; - remoteInfo = 10.3; - }; - 79F3DC1F0CF3417200733703 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8DD76F960486AA7600D96B5E; - remoteInfo = "10.5 32-bit"; - }; - 79F3DC3D0CF358B300733703 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 79F3DC140CF33F5000733703; - remoteInfo = "10.5 32-bit Test"; - }; - 79F3DC3F0CF358B300733703 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 79F3DC2C0CF341EC00733703; - remoteInfo = "10.5 64-bit Test"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 08FB7796FE84155DC02AAC07 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 32A70AAB03705E1F00C91783 /* JRSwizzleTest_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JRSwizzleTest_Prefix.pch; sourceTree = ""; }; - 792607C30CF3F05800A93D12 /* JRSwizzleTest_1040 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = JRSwizzleTest_1040; sourceTree = BUILT_PRODUCTS_DIR; }; - 792608550CF3F24400A93D12 /* 10.4 Test.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "10.4 Test.octest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 792608560CF3F24400A93D12 /* 10.4 Test-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "10.4 Test-Info.plist"; sourceTree = ""; }; - 7926087E0CF3F57B00A93D12 /* JRSwizzle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = JRSwizzle.m; path = ../JRSwizzle.m; sourceTree = ""; }; - 7926087F0CF3F57B00A93D12 /* JRSwizzle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JRSwizzle.h; path = ../JRSwizzle.h; sourceTree = ""; }; - 792608860CF3F6BF00A93D12 /* JRSwizzleTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JRSwizzleTest.h; sourceTree = ""; }; - 792608870CF3F6BF00A93D12 /* JRSwizzleTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JRSwizzleTest.m; sourceTree = ""; }; - 792608A30CF3F88400A93D12 /* JRSwizzleTest_1030 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = JRSwizzleTest_1030; sourceTree = BUILT_PRODUCTS_DIR; }; - 7926093F0CF3F98E00A93D12 /* 10.3 Test.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "10.3 Test.octest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 792609400CF3F98E00A93D12 /* 10.3 Test-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "10.3 Test-Info.plist"; sourceTree = ""; }; - 79F3DBEE0CF33E6000733703 /* JRSwizzleTest_1050_64 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = JRSwizzleTest_1050_64; sourceTree = BUILT_PRODUCTS_DIR; }; - 79F3DC150CF33F5000733703 /* 10.5 32-bit Test.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "10.5 32-bit Test.octest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 79F3DC160CF33F5000733703 /* 10.5 32-bit Test-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "10.5 32-bit Test-Info.plist"; sourceTree = ""; }; - 79F3DC1B0CF3411300733703 /* ClassicSwizzleTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClassicSwizzleTest.h; sourceTree = ""; }; - 79F3DC1C0CF3411300733703 /* ClassicSwizzleTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ClassicSwizzleTest.m; sourceTree = ""; }; - 79F3DC2D0CF341EC00733703 /* 10.5 64-bit Test.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "10.5 64-bit Test.octest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 79F3DC2E0CF341EC00733703 /* 10.5 64-bit Test-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "10.5 64-bit Test-Info.plist"; sourceTree = ""; }; - 79F3DC540CF36B3500733703 /* MethodSwizzle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MethodSwizzle.m; sourceTree = ""; }; - 79F3DC550CF36B3500733703 /* MethodSwizzle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MethodSwizzle.h; sourceTree = ""; }; - 79F3DC5D0CF36BC300733703 /* BallardSwizzleTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BallardSwizzleTest.h; sourceTree = ""; }; - 79F3DC5E0CF36BC300733703 /* BallardSwizzleTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BallardSwizzleTest.m; sourceTree = ""; }; - 79F3DC860CF3EAAD00733703 /* AppleSwizzleTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppleSwizzleTest.h; sourceTree = ""; }; - 79F3DC870CF3EAAD00733703 /* AppleSwizzleTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppleSwizzleTest.m; sourceTree = ""; }; - 8DD76FA10486AA7600D96B5E /* JRSwizzleTest_1050_32 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = JRSwizzleTest_1050_32; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 792607C10CF3F05800A93D12 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 792607C80CF3F0A900A93D12 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 792608520CF3F24400A93D12 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 792608A10CF3F88400A93D12 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 792608A80CF3F8DA00A93D12 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 7926093C0CF3F98E00A93D12 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 79F3DBE90CF33E6000733703 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 79F3DBEA0CF33E6000733703 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 79F3DC120CF33F5000733703 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 79F3DC2A0CF341EC00733703 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8DD76F9B0486AA7600D96B5E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 08FB7794FE84155DC02AAC07 /* JRSwizzleTest */ = { - isa = PBXGroup; - children = ( - 79F3DC4B0CF36AC400733703 /* Tests */, - 08FB7795FE84155DC02AAC07 /* Source */, - 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */, - 1AB674ADFE9D54B511CA2CBB /* Products */, - 792609400CF3F98E00A93D12 /* 10.3 Test-Info.plist */, - 792608560CF3F24400A93D12 /* 10.4 Test-Info.plist */, - 79F3DC160CF33F5000733703 /* 10.5 32-bit Test-Info.plist */, - 79F3DC2E0CF341EC00733703 /* 10.5 64-bit Test-Info.plist */, - ); - name = JRSwizzleTest; - sourceTree = ""; - }; - 08FB7795FE84155DC02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - 08FB7796FE84155DC02AAC07 /* main.m */, - 7926087F0CF3F57B00A93D12 /* JRSwizzle.h */, - 7926087E0CF3F57B00A93D12 /* JRSwizzle.m */, - 79F3DC550CF36B3500733703 /* MethodSwizzle.h */, - 79F3DC540CF36B3500733703 /* MethodSwizzle.m */, - 32A70AAB03705E1F00C91783 /* JRSwizzleTest_Prefix.pch */, - ); - name = Source; - sourceTree = ""; - }; - 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 08FB779EFE84155DC02AAC07 /* Foundation.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = ""; - }; - 1AB674ADFE9D54B511CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8DD76FA10486AA7600D96B5E /* JRSwizzleTest_1050_32 */, - 79F3DBEE0CF33E6000733703 /* JRSwizzleTest_1050_64 */, - 79F3DC150CF33F5000733703 /* 10.5 32-bit Test.octest */, - 79F3DC2D0CF341EC00733703 /* 10.5 64-bit Test.octest */, - 792607C30CF3F05800A93D12 /* JRSwizzleTest_1040 */, - 792608550CF3F24400A93D12 /* 10.4 Test.octest */, - 792608A30CF3F88400A93D12 /* JRSwizzleTest_1030 */, - 7926093F0CF3F98E00A93D12 /* 10.3 Test.octest */, - ); - name = Products; - sourceTree = ""; - }; - 79F3DC4B0CF36AC400733703 /* Tests */ = { - isa = PBXGroup; - children = ( - 79F3DC1B0CF3411300733703 /* ClassicSwizzleTest.h */, - 79F3DC1C0CF3411300733703 /* ClassicSwizzleTest.m */, - 79F3DC5D0CF36BC300733703 /* BallardSwizzleTest.h */, - 79F3DC5E0CF36BC300733703 /* BallardSwizzleTest.m */, - 79F3DC860CF3EAAD00733703 /* AppleSwizzleTest.h */, - 79F3DC870CF3EAAD00733703 /* AppleSwizzleTest.m */, - 792608860CF3F6BF00A93D12 /* JRSwizzleTest.h */, - 792608870CF3F6BF00A93D12 /* JRSwizzleTest.m */, - ); - name = Tests; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 792607C20CF3F05800A93D12 /* 10.4 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 792607C70CF3F09500A93D12 /* Build configuration list for PBXNativeTarget "10.4" */; - buildPhases = ( - 792607C00CF3F05800A93D12 /* Sources */, - 792607C10CF3F05800A93D12 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = 10.4; - productName = 10.4; - productReference = 792607C30CF3F05800A93D12 /* JRSwizzleTest_1040 */; - productType = "com.apple.product-type.tool"; - }; - 792608540CF3F24400A93D12 /* 10.4 Test */ = { - isa = PBXNativeTarget; - buildConfigurationList = 792608590CF3F24400A93D12 /* Build configuration list for PBXNativeTarget "10.4 Test" */; - buildPhases = ( - 792608500CF3F24400A93D12 /* Resources */, - 792608510CF3F24400A93D12 /* Sources */, - 792608520CF3F24400A93D12 /* Frameworks */, - 792608530CF3F24400A93D12 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - 7926085D0CF3F26000A93D12 /* PBXTargetDependency */, - ); - name = "10.4 Test"; - productName = "10.4 Test"; - productReference = 792608550CF3F24400A93D12 /* 10.4 Test.octest */; - productType = "com.apple.product-type.bundle"; - }; - 792608A20CF3F88400A93D12 /* 10.3 */ = { - isa = PBXNativeTarget; - buildConfigurationList = 792608A70CF3F8AC00A93D12 /* Build configuration list for PBXNativeTarget "10.3" */; - buildPhases = ( - 792608A00CF3F88400A93D12 /* Sources */, - 792608A10CF3F88400A93D12 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = 10.3; - productName = 10.3; - productReference = 792608A30CF3F88400A93D12 /* JRSwizzleTest_1030 */; - productType = "com.apple.product-type.tool"; - }; - 7926093E0CF3F98E00A93D12 /* 10.3 Test */ = { - isa = PBXNativeTarget; - buildConfigurationList = 792609430CF3F98E00A93D12 /* Build configuration list for PBXNativeTarget "10.3 Test" */; - buildPhases = ( - 7926093A0CF3F98E00A93D12 /* Resources */, - 7926093B0CF3F98E00A93D12 /* Sources */, - 7926093C0CF3F98E00A93D12 /* Frameworks */, - 7926093D0CF3F98E00A93D12 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - 7926094B0CF3FA5300A93D12 /* PBXTargetDependency */, - ); - name = "10.3 Test"; - productName = "10.3 Test"; - productReference = 7926093F0CF3F98E00A93D12 /* 10.3 Test.octest */; - productType = "com.apple.product-type.bundle"; - }; - 79F3DBE60CF33E6000733703 /* 10.5 64-bit */ = { - isa = PBXNativeTarget; - buildConfigurationList = 79F3DBEB0CF33E6000733703 /* Build configuration list for PBXNativeTarget "10.5 64-bit" */; - buildPhases = ( - 79F3DBE70CF33E6000733703 /* Sources */, - 79F3DBE90CF33E6000733703 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "10.5 64-bit"; - productInstallPath = "$(HOME)/bin"; - productName = JRSwizzleTest; - productReference = 79F3DBEE0CF33E6000733703 /* JRSwizzleTest_1050_64 */; - productType = "com.apple.product-type.tool"; - }; - 79F3DC140CF33F5000733703 /* 10.5 32-bit Test */ = { - isa = PBXNativeTarget; - buildConfigurationList = 79F3DC190CF33F5100733703 /* Build configuration list for PBXNativeTarget "10.5 32-bit Test" */; - buildPhases = ( - 79F3DC100CF33F5000733703 /* Resources */, - 79F3DC110CF33F5000733703 /* Sources */, - 79F3DC120CF33F5000733703 /* Frameworks */, - 79F3DC130CF33F5000733703 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - 79F3DC200CF3417200733703 /* PBXTargetDependency */, - ); - name = "10.5 32-bit Test"; - productName = "10.5 32-bit Test"; - productReference = 79F3DC150CF33F5000733703 /* 10.5 32-bit Test.octest */; - productType = "com.apple.product-type.bundle"; - }; - 79F3DC2C0CF341EC00733703 /* 10.5 64-bit Test */ = { - isa = PBXNativeTarget; - buildConfigurationList = 79F3DC310CF341EC00733703 /* Build configuration list for PBXNativeTarget "10.5 64-bit Test" */; - buildPhases = ( - 79F3DC280CF341EC00733703 /* Resources */, - 79F3DC290CF341EC00733703 /* Sources */, - 79F3DC2A0CF341EC00733703 /* Frameworks */, - 79F3DC2B0CF341EC00733703 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - 792607980CF3EE2100A93D12 /* PBXTargetDependency */, - ); - name = "10.5 64-bit Test"; - productName = "10.5 64-bit Test"; - productReference = 79F3DC2D0CF341EC00733703 /* 10.5 64-bit Test.octest */; - productType = "com.apple.product-type.bundle"; - }; - 8DD76F960486AA7600D96B5E /* 10.5 32-bit */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "10.5 32-bit" */; - buildPhases = ( - 8DD76F990486AA7600D96B5E /* Sources */, - 8DD76F9B0486AA7600D96B5E /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "10.5 32-bit"; - productInstallPath = "$(HOME)/bin"; - productName = JRSwizzleTest; - productReference = 8DD76FA10486AA7600D96B5E /* JRSwizzleTest_1050_32 */; - productType = "com.apple.product-type.tool"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 08FB7793FE84155DC02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "JRSwizzleTest" */; - compatibilityVersion = "Xcode 3.0"; - hasScannedForEncodings = 1; - mainGroup = 08FB7794FE84155DC02AAC07 /* JRSwizzleTest */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 79F3DBFA0CF33EE500733703 /* All Tests */, - 792608A20CF3F88400A93D12 /* 10.3 */, - 792607C20CF3F05800A93D12 /* 10.4 */, - 8DD76F960486AA7600D96B5E /* 10.5 32-bit */, - 79F3DBE60CF33E6000733703 /* 10.5 64-bit */, - 7926093E0CF3F98E00A93D12 /* 10.3 Test */, - 792608540CF3F24400A93D12 /* 10.4 Test */, - 79F3DC140CF33F5000733703 /* 10.5 32-bit Test */, - 79F3DC2C0CF341EC00733703 /* 10.5 64-bit Test */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 792608500CF3F24400A93D12 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 7926093A0CF3F98E00A93D12 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 79F3DC100CF33F5000733703 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 79F3DC280CF341EC00733703 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 792608530CF3F24400A93D12 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; - }; - 7926093D0CF3F98E00A93D12 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; - }; - 79F3DC130CF33F5000733703 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; - }; - 79F3DC2B0CF341EC00733703 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 792607C00CF3F05800A93D12 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 792608460CF3F0AE00A93D12 /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 792608510CF3F24400A93D12 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 792608640CF3F34000A93D12 /* BallardSwizzleTest.m in Sources */, - 792608650CF3F34100A93D12 /* ClassicSwizzleTest.m in Sources */, - 792608690CF3F36900A93D12 /* MethodSwizzle.m in Sources */, - 792608820CF3F57B00A93D12 /* JRSwizzle.m in Sources */, - 792608880CF3F6BF00A93D12 /* JRSwizzleTest.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 792608A00CF3F88400A93D12 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 792609260CF3F8E500A93D12 /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 7926093B0CF3F98E00A93D12 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 7926094C0CF3FA6400A93D12 /* BallardSwizzleTest.m in Sources */, - 7926094D0CF3FA6500A93D12 /* ClassicSwizzleTest.m in Sources */, - 7926094E0CF3FA6600A93D12 /* JRSwizzleTest.m in Sources */, - 792609500CF3FA7400A93D12 /* MethodSwizzle.m in Sources */, - 792609510CF3FA7700A93D12 /* JRSwizzle.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 79F3DBE70CF33E6000733703 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 79F3DBE80CF33E6000733703 /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 79F3DC110CF33F5000733703 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 79F3DC1D0CF3411300733703 /* ClassicSwizzleTest.m in Sources */, - 79F3DC560CF36B3500733703 /* MethodSwizzle.m in Sources */, - 79F3DC5F0CF36BC300733703 /* BallardSwizzleTest.m in Sources */, - 79F3DC880CF3EAAD00733703 /* AppleSwizzleTest.m in Sources */, - 792608800CF3F57B00A93D12 /* JRSwizzle.m in Sources */, - 7926088A0CF3F6BF00A93D12 /* JRSwizzleTest.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 79F3DC290CF341EC00733703 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 7926079B0CF3EE5400A93D12 /* AppleSwizzleTest.m in Sources */, - 792608810CF3F57B00A93D12 /* JRSwizzle.m in Sources */, - 792608890CF3F6BF00A93D12 /* JRSwizzleTest.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8DD76F990486AA7600D96B5E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8DD76F9A0486AA7600D96B5E /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 792607980CF3EE2100A93D12 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 79F3DBE60CF33E6000733703 /* 10.5 64-bit */; - targetProxy = 792607970CF3EE2100A93D12 /* PBXContainerItemProxy */; - }; - 7926085D0CF3F26000A93D12 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 792607C20CF3F05800A93D12 /* 10.4 */; - targetProxy = 7926085C0CF3F26000A93D12 /* PBXContainerItemProxy */; - }; - 7926085F0CF3F32700A93D12 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 792608540CF3F24400A93D12 /* 10.4 Test */; - targetProxy = 7926085E0CF3F32700A93D12 /* PBXContainerItemProxy */; - }; - 792609490CF3FA4A00A93D12 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 7926093E0CF3F98E00A93D12 /* 10.3 Test */; - targetProxy = 792609480CF3FA4A00A93D12 /* PBXContainerItemProxy */; - }; - 7926094B0CF3FA5300A93D12 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 792608A20CF3F88400A93D12 /* 10.3 */; - targetProxy = 7926094A0CF3FA5300A93D12 /* PBXContainerItemProxy */; - }; - 79F3DC200CF3417200733703 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8DD76F960486AA7600D96B5E /* 10.5 32-bit */; - targetProxy = 79F3DC1F0CF3417200733703 /* PBXContainerItemProxy */; - }; - 79F3DC3E0CF358B300733703 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 79F3DC140CF33F5000733703 /* 10.5 32-bit Test */; - targetProxy = 79F3DC3D0CF358B300733703 /* PBXContainerItemProxy */; - }; - 79F3DC400CF358B300733703 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 79F3DC2C0CF341EC00733703 /* 10.5 64-bit Test */; - targetProxy = 79F3DC3F0CF358B300733703 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 1DEB927508733DD40010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = JRSwizzleTest_Prefix.pch; - INSTALL_PATH = /usr/local/bin; - PRODUCT_NAME = JRSwizzleTest_1050_32; - ZERO_LINK = YES; - }; - name = Debug; - }; - 1DEB927608733DD40010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = JRSwizzleTest_Prefix.pch; - INSTALL_PATH = /usr/local/bin; - PRODUCT_NAME = JRSwizzleTest_1050_32; - }; - name = Release; - }; - 1DEB927908733DD40010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; - }; - name = Debug; - }; - 1DEB927A08733DD40010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; - }; - name = Release; - }; - 792607C50CF3F05800A93D12 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - INSTALL_PATH = /usr/local/bin; - PREBINDING = NO; - PRODUCT_NAME = JRSwizzleTest_1040; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; - ZERO_LINK = YES; - }; - name = Debug; - }; - 792607C60CF3F05800A93D12 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_MODEL_TUNING = G5; - INSTALL_PATH = /usr/local/bin; - PREBINDING = NO; - PRODUCT_NAME = JRSwizzleTest_1040; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; - ZERO_LINK = NO; - }; - name = Release; - }; - 792608570CF3F24400A93D12 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/JRSwizzleTest_1040"; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "10.4 Test-Info.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PREBINDING = NO; - PRODUCT_NAME = "10.4 Test"; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = octest; - }; - name = Debug; - }; - 792608580CF3F24400A93D12 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/JRSwizzleTest_1040"; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "10.4 Test-Info.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PREBINDING = NO; - PRODUCT_NAME = "10.4 Test"; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = octest; - ZERO_LINK = NO; - }; - name = Release; - }; - 792608A50CF3F88500A93D12 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ppc; - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; - INSTALL_PATH = /usr/local/bin; - PREBINDING = NO; - PRODUCT_NAME = JRSwizzleTest_1030; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.3.9.sdk"; - VALID_ARCHS = ppc; - ZERO_LINK = YES; - }; - name = Debug; - }; - 792608A60CF3F88500A93D12 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ppc; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; - INSTALL_PATH = /usr/local/bin; - PREBINDING = NO; - PRODUCT_NAME = JRSwizzleTest_1030; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.3.9.sdk"; - VALID_ARCHS = ppc; - ZERO_LINK = NO; - }; - name = Release; - }; - 792609410CF3F98E00A93D12 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ppc; - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/JRSwizzleTest_1030"; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "10.3 Test-Info.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PREBINDING = NO; - PRODUCT_NAME = "10.3 Test"; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.3.9.sdk"; - TEST_HOST = "$(BUNDLE_LOADER)"; - VALID_ARCHS = ppc; - WRAPPER_EXTENSION = octest; - }; - name = Debug; - }; - 792609420CF3F98E00A93D12 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ppc; - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/JRSwizzleTest_1030"; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "10.3 Test-Info.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PREBINDING = NO; - PRODUCT_NAME = "10.3 Test"; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.3.9.sdk"; - TEST_HOST = "$(BUNDLE_LOADER)"; - VALID_ARCHS = ppc; - WRAPPER_EXTENSION = octest; - ZERO_LINK = NO; - }; - name = Release; - }; - 79F3DBEC0CF33E6000733703 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = JRSwizzleTest_Prefix.pch; - INSTALL_PATH = /usr/local/bin; - PRODUCT_NAME = JRSwizzleTest_1050_64; - ZERO_LINK = YES; - }; - name = Debug; - }; - 79F3DBED0CF33E6000733703 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc64, - x86_64, - ); - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = JRSwizzleTest_Prefix.pch; - INSTALL_PATH = /usr/local/bin; - PRODUCT_NAME = JRSwizzleTest_1050_64; - }; - name = Release; - }; - 79F3DBFB0CF33EE500733703 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - PRODUCT_NAME = "All Tests"; - }; - name = Debug; - }; - 79F3DBFC0CF33EE500733703 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - PRODUCT_NAME = "All Tests"; - ZERO_LINK = NO; - }; - name = Release; - }; - 79F3DC170CF33F5100733703 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/JRSwizzleTest_1050_32"; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "10.5 32-bit Test-Info.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PREBINDING = NO; - PRODUCT_NAME = "10.5 32-bit Test"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = octest; - }; - name = Debug; - }; - 79F3DC180CF33F5100733703 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/JRSwizzleTest_1050_32"; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "10.5 32-bit Test-Info.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PREBINDING = NO; - PRODUCT_NAME = "10.5 32-bit Test"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = octest; - ZERO_LINK = NO; - }; - name = Release; - }; - 79F3DC2F0CF341EC00733703 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc64, - x86_64, - ); - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/JRSwizzleTest_1050_64"; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "10.5 64-bit Test-Info.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PREBINDING = NO; - PRODUCT_NAME = "10.5 64-bit Test"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = octest; - }; - name = Debug; - }; - 79F3DC300CF341EC00733703 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - ppc64, - x86_64, - ); - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/JRSwizzleTest_1050_64"; - COPY_PHASE_STRIP = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = "$(DEVELOPER_LIBRARY_DIR)/Frameworks"; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Cocoa.framework/Headers/Cocoa.h"; - INFOPLIST_FILE = "10.5 64-bit Test-Info.plist"; - INSTALL_PATH = "$(USER_LIBRARY_DIR)/Bundles"; - OTHER_LDFLAGS = ( - "-framework", - Cocoa, - "-framework", - SenTestingKit, - ); - PREBINDING = NO; - PRODUCT_NAME = "10.5 64-bit Test"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = octest; - ZERO_LINK = NO; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "10.5 32-bit" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB927508733DD40010E9CD /* Debug */, - 1DEB927608733DD40010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "JRSwizzleTest" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB927908733DD40010E9CD /* Debug */, - 1DEB927A08733DD40010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 792607C70CF3F09500A93D12 /* Build configuration list for PBXNativeTarget "10.4" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 792607C50CF3F05800A93D12 /* Debug */, - 792607C60CF3F05800A93D12 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 792608590CF3F24400A93D12 /* Build configuration list for PBXNativeTarget "10.4 Test" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 792608570CF3F24400A93D12 /* Debug */, - 792608580CF3F24400A93D12 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 792608A70CF3F8AC00A93D12 /* Build configuration list for PBXNativeTarget "10.3" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 792608A50CF3F88500A93D12 /* Debug */, - 792608A60CF3F88500A93D12 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 792609430CF3F98E00A93D12 /* Build configuration list for PBXNativeTarget "10.3 Test" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 792609410CF3F98E00A93D12 /* Debug */, - 792609420CF3F98E00A93D12 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 79F3DBEB0CF33E6000733703 /* Build configuration list for PBXNativeTarget "10.5 64-bit" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 79F3DBEC0CF33E6000733703 /* Debug */, - 79F3DBED0CF33E6000733703 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 79F3DC0C0CF33EFB00733703 /* Build configuration list for PBXAggregateTarget "All Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 79F3DBFB0CF33EE500733703 /* Debug */, - 79F3DBFC0CF33EE500733703 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 79F3DC190CF33F5100733703 /* Build configuration list for PBXNativeTarget "10.5 32-bit Test" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 79F3DC170CF33F5100733703 /* Debug */, - 79F3DC180CF33F5100733703 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 79F3DC310CF341EC00733703 /* Build configuration list for PBXNativeTarget "10.5 64-bit Test" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 79F3DC2F0CF341EC00733703 /* Debug */, - 79F3DC300CF341EC00733703 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; -} diff --git a/Xmod/JRSwizzle/JRSwizzleTest/JRSwizzleTest_Prefix.pch b/Xmod/JRSwizzle/JRSwizzleTest/JRSwizzleTest_Prefix.pch deleted file mode 100644 index edfae8e0..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/JRSwizzleTest_Prefix.pch +++ /dev/null @@ -1,7 +0,0 @@ -// -// Prefix header for all source files of the 'JRSwizzleTest' target in the 'JRSwizzleTest' project. -// - -#ifdef __OBJC__ - #import -#endif diff --git a/Xmod/JRSwizzle/JRSwizzleTest/MethodSwizzle.h b/Xmod/JRSwizzle/JRSwizzleTest/MethodSwizzle.h deleted file mode 100644 index f1127f2b..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/MethodSwizzle.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// MethodSwizzle.h -// -// Copyright (c) 2006 Tildesoft. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#import - -BOOL ClassMethodSwizzle(Class klass, SEL origSel, SEL altSel); -BOOL MethodSwizzle(Class klass, SEL origSel, SEL altSel); diff --git a/Xmod/JRSwizzle/JRSwizzleTest/MethodSwizzle.m b/Xmod/JRSwizzle/JRSwizzleTest/MethodSwizzle.m deleted file mode 100644 index 8104696e..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/MethodSwizzle.m +++ /dev/null @@ -1,121 +0,0 @@ -// -// MethodSwizzle.m -// -// Copyright (c) 2006 Tildesoft. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -// Implementation of Method Swizzling, inspired by -// http://www.cocoadev.com/index.pl?MethodSwizzling - -// solves the inherited method problem - -#import "MethodSwizzle.h" -#import -#import -#import -#import - -static BOOL _PerformSwizzle(Class klass, SEL origSel, SEL altSel, BOOL forInstance); - -BOOL ClassMethodSwizzle(Class klass, SEL origSel, SEL altSel) { - return _PerformSwizzle(klass, origSel, altSel, NO); -} - -BOOL MethodSwizzle(Class klass, SEL origSel, SEL altSel) { - return _PerformSwizzle(klass, origSel, altSel, YES); -} - -// if the origSel isn't present in the class, pull it up from where it exists -// then do the swizzle -BOOL _PerformSwizzle(Class klass, SEL origSel, SEL altSel, BOOL forInstance) { - // First, make sure the class isn't nil - if (klass != nil) { - Method origMethod = NULL, altMethod = NULL; - - // Next, look for the methods - Class iterKlass = (forInstance ? klass : klass->isa); - void *iterator = NULL; - struct objc_method_list *mlist = class_nextMethodList(iterKlass, &iterator); - while (mlist != NULL) { - int i; - for (i = 0; i < mlist->method_count; ++i) { - if (mlist->method_list[i].method_name == origSel) { - origMethod = &mlist->method_list[i]; - break; - } - if (mlist->method_list[i].method_name == altSel) { - altMethod = &mlist->method_list[i]; - break; - } - } - mlist = class_nextMethodList(iterKlass, &iterator); - } - - if (origMethod == NULL || altMethod == NULL) { - // one or both methods are not in the immediate class - // try searching the entire hierarchy - // remember, iterKlass is the class we care about - klass || klass->isa - // class_getInstanceMethod on a metaclass is the same as class_getClassMethod on the real class - BOOL pullOrig = NO, pullAlt = NO; - if (origMethod == NULL) { - origMethod = class_getInstanceMethod(iterKlass, origSel); - pullOrig = YES; - } - if (altMethod == NULL) { - altMethod = class_getInstanceMethod(iterKlass, altSel); - pullAlt = YES; - } - - // die now if one of the methods doesn't exist anywhere in the hierarchy - // this way we won't make any changes to the class if we can't finish - if (origMethod == NULL || altMethod == NULL) { - return NO; - } - - // we can safely assume one of the two methods, at least, will be pulled - // pull them up - size_t listSize = sizeof(struct objc_method_list); - if (pullOrig && pullAlt) listSize += sizeof(struct objc_method); // need 2 methods - struct objc_method_list *mlist = malloc(listSize); - mlist->obsolete = NULL; - int i = 0; - if (pullOrig) { - memcpy(&mlist->method_list[i], origMethod, sizeof(struct objc_method)); - origMethod = &mlist->method_list[i]; - i++; - } - if (pullAlt) { - memcpy(&mlist->method_list[i], altMethod, sizeof(struct objc_method)); - altMethod = &mlist->method_list[i]; - i++; - } - mlist->method_count = i; - class_addMethods(iterKlass, mlist); - } - - // now swizzle - IMP temp = origMethod->method_imp; - origMethod->method_imp = altMethod->method_imp; - altMethod->method_imp = temp; - - return YES; - } - return NO; -} diff --git a/Xmod/JRSwizzle/JRSwizzleTest/main.m b/Xmod/JRSwizzle/JRSwizzleTest/main.m deleted file mode 100644 index abef408f..00000000 --- a/Xmod/JRSwizzle/JRSwizzleTest/main.m +++ /dev/null @@ -1,33 +0,0 @@ -#import - -#if 0 - - Scenario Swizzle Technology Method Implementation Correct Behavior 10.4 64-bit - ======== ================================ ===================== ================ ==== ====== - 1 Classic Direct YES YES NO - 2 Classic Inherited NO YES NO - 3 Ballard Direct YES YES NO - 4 Ballard Inherited YES YES NO - 5 method_exchangeImplementations Direct YES NO YES - 6 method_exchangeImplementations Inherited NO NO YES - 7 +swizzleMethod:withMethod:error: Direct YES YES YES - 8 +swizzleMethod:withMethod:error: Inherited YES YES YES - - * build+test 10.3 ppc (1, 2, 3, 4, 7, 8) - * build+test 10.4 ppc + i386 (1, 2, 3, 4, 7, 8) - * build+test 10.5 32-bit ppc + i386 (1, 2, 3, 4, 5, 6, 7, 8) - * build+test 10.5 64-bit x86_64 + ppc64 (5, 6, 7, 8) - -#endif - -int main (int argc, const char * argv[]) { - BOOL sixty_four_bit; -#ifdef __LP64__ - sixty_four_bit = YES; -#else - sixty_four_bit = NO; -#endif - - printf("JRSwizzleTest success SDK:%d %s\n", MAC_OS_X_VERSION_MAX_ALLOWED, sixty_four_bit ? "64-bit" : "32-bit"); - return 0; -} \ No newline at end of file diff --git a/Xmod/JRSwizzle/README.markdown b/Xmod/JRSwizzle/README.markdown deleted file mode 100644 index 4de4da51..00000000 --- a/Xmod/JRSwizzle/README.markdown +++ /dev/null @@ -1,144 +0,0 @@ -# JRSwizzle - -## Description - -JRSwizzle is source code package that offers a single, easy, correct+consistent interface for exchanging Objective-C method implementations ("method swizzling") across many versions of Mac OS X, Objective-C and runtime architectures. - -More succinctly: *JRSwizzle wants to be your one-stop-shop for all your method swizzling needs.* - -## Download - - $ cd /path/to/top/of/your/project - $ git submodule add git://github.com/rentzsch/jrswizzle.git JRSwizzle - $ git submodule init && git submodule update - - # OPTIONAL: Execute the following commands if you want to explicitly peg - # to a certain version. Otherwise `git submodule update` will keep you - # current with HEAD. - - $ cd JRSwizzle - $ git checkout v1.0d1 - -## Reasons for Existence - -* **Easy:** Just do this: `[SomeClass jr_swizzle:@selector(foo) withMethod:@selector(my_foo) error:&error];` Voila. -* **Correct:** There's a subtle interaction between method swizzling and method inheritance. Following in Kevin Ballard's footsteps, this package Does The Right Thing. -* **Compatible:** JRSwizzle should Just Work on any version of Mac OS X you care about. Here's the exhaustive compatibility list: - * Mac OS X v10.3/ppc (Ballard implementation) - * Mac OS X v10.4/ppc (Ballard implementation) - * Mac OS X v10.4/i386 (Ballard implementation) - * Mac OS X v10.5/ppc (method_exchangeImplementations+Ballard implementation) - * Mac OS X v10.5/i386 (method_exchangeImplementations+Ballard implementation) - * Mac OS X v10.5/ppc64 (method_exchangeImplementations+Ballard implementation) - * Mac OS X v10.5/x86_64 (method_exchangeImplementations+Ballard implementation) -* **Robust:** All parameters are checked and JRSwizzle returns an optional `NSError` with high-quality diagnostics. - -## Support - -Please use [JRSwizzle's Lighthouse project site](http://rentzsch.lighthouseapp.com/projects/28971-jrswizzle/tickets?q=all) to [file bugs or feature requests](http://rentzsch.lighthouseapp.com/projects/28971-jrswizzle/tickets/new). - -To contribute, please fork this project, make+commit your changes and then send me a pull request. - -## Comparison - -There's at least four swizzling implementations floating around. Here's a comparison chart to help you make sense of how they relate to each other and why JRSwizzle exists. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ScenarioSwizzle TechnologyMethod ImplementationCorrect Behavior10.464-bit
1ClassicDirectYESYESNO
2ClassicInheritedNOYESNO
3BallardDirectYESYESNO
4BallardInheritedYESYESNO
5AppleDirectYESNOYES
6AppleInheritedNONOYES
7JRSwizzleDirectYESYESYES
8JRSwizzleInheritedYESYESYES
- - * *Classic* is the canonical `MethodSwizzle()` implementation as described in [CocoaDev's MethodSwizzling page](http://www.cocoadev.com/index.pl?MethodSwizzling). - * *Ballard* is [Kevin Ballard's improved implementation](http://kevin.sb.org/2006/12/30/method-swizzling-reimplemented/) which solves the inherited method problem. - * *Apple* is 10.5's new `method_exchangeImplementations` API. - * *JRSwizzle* is this package. - -## License - -The source code is distributed under the nonviral [MIT License](http://opensource.org/licenses/mit-license.php). It's the simplest most permissive license available. - -## Version History - -* **v1.0d1:** May 31 2009 - - * [FIX] Soothe valgrind by nulling out `hoisted_method_list->obsolete`, which it apparently reads. ([Daniel Jalkut](http://github.com/rentzsch/jrswizzle/commit/2f677d063202b443ca7a1c46e8b67d67ea6fc88e)) - - * [FIX] Xcode 3.2 apparently now needs `ARCHS` set explicitly for 10.3 targets. ([rentzsch](http://github.com/rentzsch/jrswizzle/commit/4478faa40e4fdb322201da20f24d3996193ea48b)) - -* **v1.0d0:** Apr 09 2009 - - * Moved to github. - -* **v1.0d0:** Dec 28 2007 - - * Under development. \ No newline at end of file diff --git a/Xmod/TODO.txt b/Xmod/TODO.txt deleted file mode 100644 index 1fd810eb..00000000 --- a/Xmod/TODO.txt +++ /dev/null @@ -1,15 +0,0 @@ -MUST - -SHOULD -- Default-install Xmo'd (but allow opt-out) -- Metapackage (post-processing script to dynamically put plugin where it should go) -- bundle mogenerator into Xmo'd plugin bundle -- Undesirable effect when nuke+re-add opened human files. Make source group reload smarter. - -NICE -- - -NOTES - -DONE -- Add opt-in "xmod" into datamodel's comment field. \ No newline at end of file diff --git a/Xmod/Xmod.applescript b/Xmod/Xmod.applescript deleted file mode 100644 index 0570a6ff..00000000 --- a/Xmod/Xmod.applescript +++ /dev/null @@ -1,295 +0,0 @@ -property kExplicitlyProcessedOptions : {"--human-dir ", "--machine-dir ", "--output-dir ", "--log-command"} - -tell application "Xcode" - if not (exists active project document) then � - error "No active project. Please open an Xcode project and re-run the script." - try - my updateProjectXmod(project of active project document) - on error errMsg - my logger("Xmod.scpt exception: " & errMsg) - end try -end tell - -on updateProjectXmod(_project) - tell application "Xcode" - -- Iterate over every .xcdatamodel in the project. - set modelList to every file reference of _project whose file kind is "wrapper.xcdatamodel" and comments contains "xmod" - repeat with modelItr in modelList - my updateModel(_project, modelItr, comments of modelItr) - end repeat - -- Iterate over every .xcdatamodeld (notice the 'd') in the project. - set modeldList to every group of _project whose name contains ".xcdatamodeld" and comments contains "xmod" - repeat with modeldIt in modeldList - -- Find the 'active' model version - set currentVersionFile to full path of modeldIt & "/.xccurrentversion" - tell application "System Events" - set currentVersionPlist to contents of property list file currentVersionFile - set activeModelVersionFilename to value of property list item "_XCCurrentVersionName" of currentVersionPlist - end tell - set activeModelVersion to full path of modeldIt & "/" & activeModelVersionFilename - set modelItr to item 1 of (every file reference of modeldIt whose name is activeModelVersionFilename) - -- Then update it - my updateModel(_project, modelItr, comments of modeldIt) - end repeat - end tell -end updateProjectXmod - -on updateModel(_project, modelItr, theComments) - tell application "Xcode" - - set modelInfo to my getModelInfo(full path of modelItr, theComments) - set humanGroupRef to null - set machineGroupRef to null - - -- Figure out the model's parent group. - -- Unversioned models are simple files so their group is the answer. - -- Version models are bundles, which are represented as pseudo-groups in Xcode. You can't ask a pseudo-group for its parent group, - -- so we discover it by querying project-wide all groups that contain the pseudo-group and using the first result. - set modelItemRef to item 1 of (every item reference of _project whose full path is (full path of modelItr)) - set modelGroupRef to group of modelItemRef - if isBundle of modelInfo then - set modelGroupRef to item 1 of (every group of _project whose groups contains modelGroupRef) - end if - - -- look for a group in the project that has the full path of the human manageable files - set groupRefs to (every group of _project whose full path is (humanDirPath of modelInfo)) - -- if we don't find one, create it in the same group as the model file - if (count of groupRefs) = 0 then - tell modelGroupRef - -- if we have different human and machine paths, then append '_human' to the model name for the group name - if (humanDirPath of modelInfo) is not equal to (machineDirPath of modelInfo) then - make new group with properties {full path:(humanDirPath of modelInfo), name:(name of modelInfo & "_human")} - else - make new group with properties {full path:(humanDirPath of modelInfo), name:(name of modelInfo)} - end if - set groupRefs to (every group of _project whose full path is (humanDirPath of modelInfo)) - end tell - end if - set humanGroupRef to item 1 of groupRefs - - -- if we have different human and machine paths, then look for a group for the machine files - if (humanDirPath of modelInfo) is not equal to (machineDirPath of modelInfo) then - set groupRefs to (every group of _project whose full path is (machineDirPath of modelInfo)) - -- if we don't find one, create it in the same group as the model file... named with '_machine' appended to the model name - if (count of groupRefs) = 0 then - tell modelGroupRef - make new group with properties {full path:(machineDirPath of modelInfo), name:(name of modelInfo & "_machine")} - end tell - set groupRefs to (every group of _project whose full path is (machineDirPath of modelInfo)) - end if - set machineGroupRef to item 1 of groupRefs - end if - - -- Create the do shell script string and append any custom per model options to it, skipping the ones we've already parsed out - set logCommand to false - set theScript to "/usr/bin/mogenerator --model '" & full path of modelItr & "' --human-dir '" & (humanDirPath of modelInfo) & "' --machine-dir '" & (machineDirPath of modelInfo) & "'" - set theParagraphs to every paragraph of theComments - repeat with theParagraph in theParagraphs - if theParagraph starts with "--" then - set isExplicitlyProcessedOption to false - repeat with explicitlyProcessedOption in kExplicitlyProcessedOptions - if theParagraph starts with explicitlyProcessedOption then set isExplicitlyProcessedOption to true - end repeat - if not isExplicitlyProcessedOption then - set theScript to theScript & " " & the text of theParagraph - end if - if theParagraph starts with "--log-command" then - set logCommand to true - end if - end if - end repeat - - -- Meat. - if logCommand then - my logger(theScript) - end if - do shell script theScript - - my addFilesFromPathToGroup(_project, modelItr, humanGroupRef) - if machineGroupRef is not null then - my addFilesFromPathToGroup(_project, modelItr, machineGroupRef) - end if - end tell -end updateModel - -on everyTargetWithBuildFilePath(_project, _buildFilePath) - set theResult to {} - tell application "Xcode" - repeat with targetItr in (every target of _project) - repeat with buildFileItr in build files of targetItr - if full path of file reference of buildFileItr is _buildFilePath then set theResult to theResult & {(targetItr as anything)} - end repeat - end repeat - end tell - return theResult -end everyTargetWithBuildFilePath - -on getModelInfo(modelFileUnixPath, theComments) - set modelFilePosixRef to POSIX file modelFileUnixPath - set modelFileAlias to modelFilePosixRef as alias - set theOutputDir to "" - set theHumanDir to "" - set theMachineDir to "" - - -- check for any directory path options specified in the commments - set theParagraphs to every paragraph of theComments - repeat with theParagraph in theParagraphs - set paragraphLength to (length of theParagraph) - if (offset of "--human-dir " in theParagraph) = 1 then - set remainderOffset to (length of "--human-dir ") + 1 - if remainderOffset > paragraphLength then - set theHumanDir to "" - else - set theHumanDir to text remainderOffset thru -1 of theParagraph - end if - else if (offset of "--machine-dir " in theParagraph) = 1 then - set remainderOffset to (length of "--machine-dir ") + 1 - if remainderOffset > paragraphLength then - set theMachineDir to "" - else - set theMachineDir to text remainderOffset thru -1 of theParagraph - end if - else if (offset of "--output-dir " in theParagraph) = 1 then - set remainderOffset to (length of "--output-dir ") + 1 - if remainderOffset > paragraphLength then - set theOutputDir to "" - else - set theOutputDir to text remainderOffset thru -1 of theParagraph - end if - end if - end repeat - - -- remove any leading/trailing spaces or tabs from the paths - if (length of theHumanDir) > 0 then - repeat while character 1 of theHumanDir = tab or character 1 of theHumanDir = space - set theHumanDir to text 2 thru -1 of theHumanDir - end repeat - repeat while last character of theHumanDir = tab or last character of theHumanDir = space - set theHumanDir to text 1 thru -2 of theHumanDir - end repeat - end if - - if (length of theMachineDir) > 0 then - repeat while character 1 of theMachineDir = tab or character 1 of theMachineDir = space - set theMachineDir to text 2 thru -1 of theMachineDir - end repeat - repeat while last character of theMachineDir = tab or last character of theMachineDir = space - set theMachineDir to text 1 thru -2 of theMachineDir - end repeat - end if - - if (length of theOutputDir) > 0 then - repeat while character 1 of theOutputDir = tab or character 1 of theOutputDir = space - set theOutputDir to text 2 thru -1 of theOutputDir - end repeat - repeat while last character of theOutputDir = tab or last character of theOutputDir = space - set theOutputDir to text 1 thru -2 of theOutputDir - end repeat - end if - - -- get actual the model info and modify value for theOutputDir if necessary - tell application "Finder" - set modelFileFolder to folder of modelFileAlias - - set isModelBundle to name of modelFileFolder ends with ".xcdatamodeld" - if isModelBundle then - set modelFileAlias to (folder of modelFileAlias) as alias -- it's a bundle, go up one folder - set modelFileFolder to folder of modelFileAlias - end if - - set modelFileName to name of modelFileAlias - if isModelBundle then - set extensionLength to length of ".xcdatamodeld" - else - set extensionLength to length of ".xcdatamodel" - end if - - set modelName to text 1 thru -(extensionLength + 1) of modelFileName -- pull off the extension - - -- if we didn't find any directory specifiers in the comments, then make theOutputDir the folder containg the model file - if ((length of theOutputDir) = 0) and ((length of theHumanDir) = 0) and ((length of theMachineDir) = 0) then - if not (exists folder modelName of modelFileFolder) then � - make folder at modelFileFolder with properties {name:modelName} - set modelSrcFolder to folder modelName of modelFileFolder - set theOutputDir to text 1 thru -2 of (POSIX path of (modelSrcFolder as alias)) - -- otherwise, if theOutputDir isn't a full path itself already, set theOutputDir to a full path relative to the model file - else if theOutputDir does not start with "/" then - set modelFolderPath to text 1 thru -2 of (POSIX path of (modelFileFolder as alias)) - if (length of theOutputDir) = 0 then - set theOutputDir to modelFolderPath - else - copy modelFolderPath & "/" & theOutputDir to theOutputDir - end if - end if - - end tell - - - -- if theHumanDir is empty, use theOutputDir value instead, if theHumanDir not empty and it isn't a full path, then treat it as a relative path to theOutputDir - if (length of theHumanDir) = 0 then - set theHumanDir to theOutputDir - else if theHumanDir does not start with "/" then - copy theOutputDir & "/" & theHumanDir to theHumanDir - end if - - -- if theMachineDir is empty, use theOutputDir value instead, if theMachineDir not empty and it isn't a full path, then treat it as a relative path to theOutputDir - if (length of theMachineDir) = 0 then - set theMachineDir to theOutputDir - else if theMachineDir does not start with "/" then - copy theOutputDir & "/" & theMachineDir to theMachineDir - end if - - -- ensure the directories exist - do shell script "mkdir -p '" & theHumanDir & "'" - do shell script "mkdir -p '" & theMachineDir & "'" - - -- the following should resolve any symlinks, '..', or '~' in the paths - tell application "System Events" - set dirAlias to POSIX file theHumanDir as alias - set theHumanDir to (POSIX path of (dirAlias as alias)) - set dirAlias to POSIX file theMachineDir as alias - set theMachineDir to (POSIX path of (dirAlias as alias)) - end tell - - return {name:modelName, isBundle:isModelBundle, machineDirPath:theMachineDir, humanDirPath:theHumanDir} - -end getModelInfo - -on logger(msg) - do shell script "logger '" & msg & "'" -end logger - -on addFilesFromPathToGroup(_project, modelItr, groupRef) - tell application "Xcode" - -- get the full path of the directory that the groupRef represents - set groupPath to full path of groupRef - - -- Build a list of source files in the group's directory - tell application "System Events" - set modelSrcDirAlias to POSIX file groupPath as alias - set fileList to (every file of modelSrcDirAlias whose (name ends with ".m" or name ends with ".mm" or name ends with ".h")) - set pathList to {} - repeat with fileItem in fileList - set pathList to pathList & POSIX path of fileItem - end repeat - end tell - - -- Add the source files to the group and the model's targets, but only if they don't exist already - set targetList to null - repeat with pathItr in pathList - tell groupRef - set fileRefs to (every file reference of _project whose full path is pathItr) - if (count of fileRefs) = 0 then - set modelSrcFileRef to make new file reference with properties {full path:pathItr, name:name of (info for POSIX file pathItr)} - if targetList is null then - set targetList to my everyTargetWithBuildFilePath(_project, full path of modelItr) - end if - repeat with targetIndex from 1 to (count of targetList) - set targetItr to item targetIndex of targetList - add modelSrcFileRef to targetItr - end repeat - end if - end tell - end repeat - end tell -end addFilesFromPathToGroup diff --git a/Xmod/Xmod.h b/Xmod/Xmod.h deleted file mode 100644 index e13c7e8d..00000000 --- a/Xmod/Xmod.h +++ /dev/null @@ -1,11 +0,0 @@ -#import -#import - -@interface Xmod : NSObject { - NSBundle *bundle; -} -+ (id)sharedXmod; -- (id)initWithBundle:(NSBundle*)bundle_; -- (IBAction)autocustomizeEntityClasses:(id)sender_; -- (void)runScriptNamed:(NSString*)scriptName_; -@end \ No newline at end of file diff --git a/Xmod/Xmod.m b/Xmod/Xmod.m deleted file mode 100644 index 35b22679..00000000 --- a/Xmod/Xmod.m +++ /dev/null @@ -1,118 +0,0 @@ -#import "Xmod.h" -#import "JRSwizzle.h" - -/* -Xcode 2.4 - 10.4 SDK ppc, i386 -Xcode 2.5 - 10.5 SDK ppc, i386 -Xcode 3.0 - 10.5 SDK ppc GC, ppc64 GC, i386 GC, x86_64 GC -Xcode 3.2 - 10.6 SDK i386 GC, x86_64 GC -*/ - -@interface NSObject (xmod_saveModelToFile) -@end -@implementation NSObject (xmod_saveModelToFile) -- (BOOL)xmod_saveModelToFile:(NSString*)modelPackagePath_ { - BOOL result = [self xmod_saveModelToFile:modelPackagePath_]; - if (result) - [[Xmod sharedXmod] performSelector:@selector(runScriptNamed:) withObject:@"Xmod" afterDelay:0.0]; - return result; -} -@end - -@implementation Xmod - -Xmod *gSharedXmod; - -+ (void)pluginDidLoad:(NSBundle*)bundle_ { - gSharedXmod = [[self alloc] initWithBundle:bundle_]; -} - -+ (id)sharedXmod { - return gSharedXmod; -} - -- (id)initWithBundle:(NSBundle*)bundle_ { - self = [super init]; - if (self) { - bundle = [bundle_ retain]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(applicationDidFinishLaunching:) - name:NSApplicationDidFinishLaunchingNotification - object:nil]; - } - return self; -} - -- (void)applicationDidFinishLaunching:(NSNotification*)notification_ { - // Force loading of the Core Data XDesign plugin so we can find the class to swizzle its instance method. - NSBundle *coreDataPlugin = nil; - - NSString *xcodeVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]; - NSAssert(xcodeVersion, @"failed to read Xcode version"); - if ([xcodeVersion isEqualToString:@"2.4"]) { - coreDataPlugin = [NSBundle bundleWithPath:@"/Library/Application Support/Apple/Developer Tools/Plug-ins/XDCoreDataModel.xdplugin"]; - } else if ([xcodeVersion isEqualToString:@"2.5"]) { - coreDataPlugin = [NSBundle bundleWithPath:@"/Xcode2.5/Library/Xcode/Plug-ins/XDCoreDataModel.xdplugin"]; - } else if ([xcodeVersion isEqualToString:@"3.0"] || [xcodeVersion hasPrefix:@"3.1"] || [xcodeVersion hasPrefix:@"3.2"]) { - coreDataPlugin = [NSBundle bundleWithPath:@"/Developer/Library/Xcode/Plug-ins/XDCoreDataModel.xdplugin"]; - } else { - NSLog(@"Xmod: unknown Xcode version (%@), not loading.", xcodeVersion); - return; - } - NSAssert(coreDataPlugin, @"failed to load XDCoreDataModel.xdplugin"); - [coreDataPlugin load]; - - Class persistenceDocumentController = NSClassFromString(@"XDPersistenceDocumentController"); - NSAssert(persistenceDocumentController, @"failed to load XDPersistenceDocumentController"); - - NSError *error = nil; - BOOL swizzled = [persistenceDocumentController jr_swizzleMethod:@selector(saveModelToFile:) - withMethod:@selector(xmod_saveModelToFile:) - error:&error]; - NSAssert1(swizzled, @"failed to swizzle -[XDPersistenceDocumentController saveModelToFile:]: %@", error); - - // Install the Autocustomize menu item. - NSMenu *designMenu = [[[NSApp mainMenu] itemWithTitle:@"Design"] submenu]; - NSMenu *dataModelMenu = [[designMenu itemWithTitle:@"Data Model"] submenu]; - - NSMenuItem *myMenuItem = [dataModelMenu insertItemWithTitle:@"Autocustomize Entity Classes" - action:@selector(autocustomizeEntityClasses:) - keyEquivalent:@"" - atIndex:0]; - [myMenuItem setTarget:self]; -} - -- (IBAction)autocustomizeEntityClasses:(id)sender_ { - [self runScriptNamed:@"Autocustomize Entity Classes"]; -} - -- (void)runScriptNamed:(NSString*)scriptName_ { - NSString *scriptPath = [bundle pathForResource:scriptName_ ofType:@"scpt" inDirectory:@"Scripts"]; - NSAssert1(scriptPath, @"failed to find %@.scpt", scriptName_); -#if 1 - NSTask *osascriptTask = [[[NSTask alloc] init] autorelease]; - [osascriptTask setLaunchPath:@"/usr/bin/osascript"]; - [osascriptTask setArguments:[NSArray arrayWithObject:scriptPath]]; - [osascriptTask launch]; -#else - // Executing an AppleScript inside Xcode's context is weird. - // Scripts like `tell app "Finder" to get folder of file` simply fail. I suspect rogue - // coercion handlers or namespace bugs. So now I just fire off an osascript invocation - // to give the script a clean nonweird enironment. - NSDictionary *scriptInitError = nil; - NSAppleScript *script = [[[NSAppleScript alloc] initWithContentsOfURL:[NSURL fileURLWithPath:scriptPath] - error:&scriptInitError] autorelease]; - NSAssert2(!scriptInitError, @"failed to init %@.scpt: %@", scriptName_, scriptInitError); - if (!scriptInitError) { - NSDictionary *scriptExecuteError = nil; - [script executeAndReturnError:&scriptExecuteError]; - NSAssert2(!scriptInitError, @"failed to execute %@.scpt: %@", scriptName_, scriptExecuteError); - } -#endif -} - -@end diff --git a/Xmod/Xmod.xcodeproj/project.pbxproj b/Xmod/Xmod.xcodeproj/project.pbxproj deleted file mode 100644 index c209e69f..00000000 --- a/Xmod/Xmod.xcodeproj/project.pbxproj +++ /dev/null @@ -1,304 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 42; - objects = { - -/* Begin PBXAppleScriptBuildPhase section */ - 79D150FC0C8FBDF9006706AF /* AppleScript */ = { - isa = PBXAppleScriptBuildPhase; - buildActionMask = 2147483647; - contextName = ""; - files = ( - 79D150FE0C8FBE01006706AF /* Xmod.applescript in AppleScript */, - 79F8A9C30C8FF06700082291 /* Autocustomize Entity Classes.applescript in AppleScript */, - ); - isSharedContext = 0; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXAppleScriptBuildPhase section */ - -/* Begin PBXBuildFile section */ - 79D150FE0C8FBE01006706AF /* Xmod.applescript in AppleScript */ = {isa = PBXBuildFile; fileRef = 79D150FA0C8FBDE9006706AF /* Xmod.applescript */; settings = {ATTRIBUTES = (Debug, ); }; }; - 79DFC11F0B59B8C80056C80E /* Xmod.m in Sources */ = {isa = PBXBuildFile; fileRef = 79DFC11E0B59B8C80056C80E /* Xmod.m */; }; - 79E65E0D0D5631EA00B09941 /* JRSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 79E65E0B0D5631EA00B09941 /* JRSwizzle.m */; }; - 79F8A9C30C8FF06700082291 /* Autocustomize Entity Classes.applescript in AppleScript */ = {isa = PBXBuildFile; fileRef = 79F8A9C20C8FF06600082291 /* Autocustomize Entity Classes.applescript */; settings = {ATTRIBUTES = (Debug, ); }; }; - 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; - 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; - 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - 32DBCF630370AF2F00C91783 /* Xmod_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xmod_Prefix.pch; sourceTree = ""; }; - 79D150FA0C8FBDE9006706AF /* Xmod.applescript */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.applescript; path = Xmod.applescript; sourceTree = ""; }; - 79DFC11D0B59B8C80056C80E /* Xmod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Xmod.h; sourceTree = ""; }; - 79DFC11E0B59B8C80056C80E /* Xmod.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Xmod.m; sourceTree = ""; }; - 79E65E0B0D5631EA00B09941 /* JRSwizzle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = JRSwizzle.m; path = JRSwizzle/JRSwizzle.m; sourceTree = ""; }; - 79E65E0C0D5631EA00B09941 /* JRSwizzle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = JRSwizzle.m; path = JRSwizzle/JRSwizzle.m; sourceTree = ""; }; - 79F8A9C20C8FF06600082291 /* Autocustomize Entity Classes.applescript */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.applescript; path = "Autocustomize Entity Classes.applescript"; sourceTree = ""; }; - 8D5B49B6048680CD000E48DA /* Xmod.pbplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Xmod.pbplugin; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D5B49B3048680CD000E48DA /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 089C166AFE841209C02AAC07 /* Xmod */ = { - isa = PBXGroup; - children = ( - 08FB77AFFE84173DC02AAC07 /* Classes */, - 32C88E010371C26100C91783 /* Other Sources */, - 089C167CFE841241C02AAC07 /* Resources */, - 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, - 19C28FB8FE9D52D311CA2CBB /* Products */, - ); - name = Xmod; - sourceTree = ""; - }; - 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */, - 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */, - ); - name = "Frameworks and Libraries"; - sourceTree = ""; - }; - 089C167CFE841241C02AAC07 /* Resources */ = { - isa = PBXGroup; - children = ( - 8D5B49B7048680CD000E48DA /* Info.plist */, - 089C167DFE841241C02AAC07 /* InfoPlist.strings */, - 79D150FA0C8FBDE9006706AF /* Xmod.applescript */, - 79F8A9C20C8FF06600082291 /* Autocustomize Entity Classes.applescript */, - ); - name = Resources; - sourceTree = ""; - }; - 08FB77AFFE84173DC02AAC07 /* Classes */ = { - isa = PBXGroup; - children = ( - 79DFC11D0B59B8C80056C80E /* Xmod.h */, - 79DFC11E0B59B8C80056C80E /* Xmod.m */, - 79E65E0C0D5631EA00B09941 /* JRSwizzle.m */, - 79E65E0B0D5631EA00B09941 /* JRSwizzle.m */, - ); - name = Classes; - sourceTree = ""; - }; - 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = { - isa = PBXGroup; - children = ( - 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, - ); - name = "Linked Frameworks"; - sourceTree = ""; - }; - 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = { - isa = PBXGroup; - children = ( - 089C167FFE841241C02AAC07 /* AppKit.framework */, - D2F7E65807B2D6F200F64583 /* CoreData.framework */, - 089C1672FE841209C02AAC07 /* Foundation.framework */, - ); - name = "Other Frameworks"; - sourceTree = ""; - }; - 19C28FB8FE9D52D311CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8D5B49B6048680CD000E48DA /* Xmod.pbplugin */, - ); - name = Products; - sourceTree = ""; - }; - 32C88E010371C26100C91783 /* Other Sources */ = { - isa = PBXGroup; - children = ( - 32DBCF630370AF2F00C91783 /* Xmod_Prefix.pch */, - ); - name = "Other Sources"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 8D5B49AC048680CD000E48DA /* Xmod */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "Xmod" */; - buildPhases = ( - 79D150FC0C8FBDF9006706AF /* AppleScript */, - 8D5B49AF048680CD000E48DA /* Resources */, - 8D5B49B1048680CD000E48DA /* Sources */, - 8D5B49B3048680CD000E48DA /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Xmod; - productInstallPath = "$(HOME)/Library/Bundles"; - productName = Xmod; - productReference = 8D5B49B6048680CD000E48DA /* Xmod.pbplugin */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 089C1669FE841209C02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "Xmod" */; - compatibilityVersion = "Xcode 2.4"; - hasScannedForEncodings = 1; - mainGroup = 089C166AFE841209C02AAC07 /* Xmod */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D5B49AC048680CD000E48DA /* Xmod */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D5B49AF048680CD000E48DA /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D5B49B1048680CD000E48DA /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 79DFC11F0B59B8C80056C80E /* Xmod.m in Sources */, - 79E65E0D0D5631EA00B09941 /* JRSwizzle.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 089C167EFE841241C02AAC07 /* English */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 1DEB913B08733D840010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - i386, - x86_64, - ); - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = Xmod_Prefix.pch; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Bundles"; - PRODUCT_NAME = Xmod; - WRAPPER_EXTENSION = pbplugin; - }; - name = Debug; - }; - 1DEB913C08733D840010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = ( - i386, - x86_64, - ); - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = Xmod_Prefix.pch; - INFOPLIST_FILE = Info.plist; - INSTALL_PATH = "$(HOME)/Library/Bundles"; - PRODUCT_NAME = Xmod; - WRAPPER_EXTENSION = pbplugin; - }; - name = Release; - }; - 1DEB913F08733D840010E9CD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ONLY_ACTIVE_ARCH_PRE_XCODE_3_1)"; - GCC_ENABLE_OBJC_GC = YES; - GCC_VERSION = ""; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - ONLY_ACTIVE_ARCH_PRE_XCODE_3_1 = "$(NATIVE_ARCH_ACTUAL)"; - PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk"; - }; - name = Debug; - }; - 1DEB914008733D840010E9CD /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; - ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; - GCC_ENABLE_OBJC_GC = YES; - GCC_VERSION = ""; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PREBINDING = NO; - SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "Xmod" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB913B08733D840010E9CD /* Debug */, - 1DEB913C08733D840010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "Xmod" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1DEB913F08733D840010E9CD /* Debug */, - 1DEB914008733D840010E9CD /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 089C1669FE841209C02AAC07 /* Project object */; -} diff --git a/Xmod/Xmod.xcodeproj/wolf.mode1 b/Xmod/Xmod.xcodeproj/wolf.mode1 deleted file mode 100644 index 0e93aa0c..00000000 --- a/Xmod/Xmod.xcodeproj/wolf.mode1 +++ /dev/null @@ -1,1414 +0,0 @@ - - - - - ActivePerspectiveName - Project - AllowedModules - - - BundleLoadPath - - MaxInstances - n - Module - PBXSmartGroupTreeModule - Name - Groups and Files Outline View - - - BundleLoadPath - - MaxInstances - n - Module - PBXNavigatorGroup - Name - Editor - - - BundleLoadPath - - MaxInstances - n - Module - XCTaskListModule - Name - Task List - - - BundleLoadPath - - MaxInstances - n - Module - XCDetailModule - Name - File and Smart Group Detail Viewer - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXBuildResultsModule - Name - Detailed Build Results Viewer - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXProjectFindModule - Name - Project Batch Find Tool - - - BundleLoadPath - - MaxInstances - n - Module - PBXRunSessionModule - Name - Run Log - - - BundleLoadPath - - MaxInstances - n - Module - PBXBookmarksModule - Name - Bookmarks Tool - - - BundleLoadPath - - MaxInstances - n - Module - PBXClassBrowserModule - Name - Class Browser - - - BundleLoadPath - - MaxInstances - n - Module - PBXCVSModule - Name - Source Code Control Tool - - - BundleLoadPath - - MaxInstances - n - Module - PBXDebugBreakpointsModule - Name - Debug Breakpoints Tool - - - BundleLoadPath - - MaxInstances - n - Module - XCDockableInspector - Name - Inspector - - - BundleLoadPath - - MaxInstances - n - Module - PBXOpenQuicklyModule - Name - Open Quickly Tool - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXDebugSessionModule - Name - Debugger - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXDebugCLIModule - Name - Debug Console - - - Description - DefaultDescriptionKey - DockingSystemVisible - - Extension - mode1 - FavBarConfig - - PBXProjectModuleGUID - 79DFC1160B59B8870056C80E - XCBarModuleItemNames - - XCBarModuleItems - - - FirstTimeWindowDisplayed - - Identifier - com.apple.perspectives.project.mode1 - MajorVersion - 31 - MinorVersion - 1 - Name - Default - Notifications - - OpenEditors - - - Content - - PBXProjectModuleGUID - 7907BA1F0CED0E23003A8BA0 - PBXProjectModuleLabel - Xmod.m - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 7907BA200CED0E23003A8BA0 - PBXProjectModuleLabel - Xmod.m - _historyCapacity - 0 - bookmark - 794C2E670CF0CA330003EC27 - history - - 79A7D2BE0CF0C56F00193A80 - - - SplitCount - 1 - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {921, 831}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 396 144 921 872 0 0 1680 1028 - - - - Content - - PBXProjectModuleGUID - 798EFBDB0CF0B4980090D926 - PBXProjectModuleLabel - Xmod.h - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 798EFBDC0CF0B4980090D926 - PBXProjectModuleLabel - Xmod.h - _historyCapacity - 0 - bookmark - 794C2E680CF0CA330003EC27 - history - - 794C2E520CF0CA070003EC27 - - - SplitCount - 1 - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {743, 597}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 896 377 743 638 0 0 1680 1028 - - - - PerspectiveWidths - - -1 - -1 - - Perspectives - - - ChosenToolbarItems - - active-target-popup - active-buildstyle-popup - action - NSToolbarFlexibleSpaceItem - buildOrClean - build-and-runOrDebug - com.apple.ide.PBXToolbarStopButton - get-info - toggle-editor - NSToolbarFlexibleSpaceItem - com.apple.pbx.toolbar.searchfield - - ControllerClassBaseName - - IconName - WindowOfProjectWithEditor - Identifier - perspective.project - IsVertical - - Layout - - - BecomeActive - - ContentConfiguration - - PBXBottomSmartGroupGIDs - - 1C37FBAC04509CD000000102 - 1C37FAAC04509CD000000102 - 1C08E77C0454961000C914BD - 1C37FABC05509CD000000102 - 1C37FABC05539CD112110102 - E2644B35053B69B200211256 - 1C37FABC04509CD000100104 - 1CC0EA4004350EF90044410B - 1CC0EA4004350EF90041110B - - PBXProjectModuleGUID - 1CE0B1FE06471DED0097A5F4 - PBXProjectModuleLabel - Files - PBXProjectStructureProvided - yes - PBXSmartGroupTreeModuleColumnData - - PBXSmartGroupTreeModuleColumnWidthsKey - - 186 - - PBXSmartGroupTreeModuleColumnsKey_v4 - - MainColumn - - - PBXSmartGroupTreeModuleOutlineStateKey_v7 - - PBXSmartGroupTreeModuleOutlineStateExpansionKey - - 089C166AFE841209C02AAC07 - 08FB77AFFE84173DC02AAC07 - 089C167CFE841241C02AAC07 - 19C28FB8FE9D52D311CA2CBB - 1C37FBAC04509CD000000102 - 1C37FABC05509CD000000102 - - PBXSmartGroupTreeModuleOutlineStateSelectionKey - - - 14 - 13 - 0 - - - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {186, 412}} - - PBXTopSmartGroupGIDs - - XCIncludePerspectivesSwitch - - XCSharingToken - com.apple.Xcode.GFSharingToken - - GeometryConfiguration - - Frame - {{0, 0}, {203, 430}} - GroupTreeTableConfiguration - - MainColumn - 186 - - RubberWindowFrame - 536 535 853 471 0 0 1680 1028 - - Module - PBXSmartGroupTreeModule - Proportion - 203pt - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1CE0B20306471E060097A5F4 - PBXProjectModuleLabel - MyNewFile14.java - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1CE0B20406471E060097A5F4 - PBXProjectModuleLabel - MyNewFile14.java - - SplitCount - 1 - - StatusBarVisibility - - - GeometryConfiguration - - Frame - {{0, 0}, {645, 0}} - RubberWindowFrame - 536 535 853 471 0 0 1680 1028 - - Module - PBXNavigatorGroup - Proportion - 0pt - - - ContentConfiguration - - PBXProjectModuleGUID - 1CE0B20506471E060097A5F4 - PBXProjectModuleLabel - Detail - - GeometryConfiguration - - Frame - {{0, 5}, {645, 425}} - RubberWindowFrame - 536 535 853 471 0 0 1680 1028 - - Module - XCDetailModule - Proportion - 425pt - - - Proportion - 645pt - - - Name - Project - ServiceClasses - - XCModuleDock - PBXSmartGroupTreeModule - XCModuleDock - PBXNavigatorGroup - XCDetailModule - - TableOfContents - - 794C2E4B0CF0C61A0003EC27 - 1CE0B1FE06471DED0097A5F4 - 794C2E4C0CF0C61A0003EC27 - 1CE0B20306471E060097A5F4 - 1CE0B20506471E060097A5F4 - - ToolbarConfiguration - xcode.toolbar.config.default - - - ControllerClassBaseName - - IconName - WindowOfProject - Identifier - perspective.morph - IsVertical - 0 - Layout - - - BecomeActive - 1 - ContentConfiguration - - PBXBottomSmartGroupGIDs - - 1C37FBAC04509CD000000102 - 1C37FAAC04509CD000000102 - 1C08E77C0454961000C914BD - 1C37FABC05509CD000000102 - 1C37FABC05539CD112110102 - E2644B35053B69B200211256 - 1C37FABC04509CD000100104 - 1CC0EA4004350EF90044410B - 1CC0EA4004350EF90041110B - - PBXProjectModuleGUID - 11E0B1FE06471DED0097A5F4 - PBXProjectModuleLabel - Files - PBXProjectStructureProvided - yes - PBXSmartGroupTreeModuleColumnData - - PBXSmartGroupTreeModuleColumnWidthsKey - - 186 - - PBXSmartGroupTreeModuleColumnsKey_v4 - - MainColumn - - - PBXSmartGroupTreeModuleOutlineStateKey_v7 - - PBXSmartGroupTreeModuleOutlineStateExpansionKey - - 29B97314FDCFA39411CA2CEA - 1C37FABC05509CD000000102 - - PBXSmartGroupTreeModuleOutlineStateSelectionKey - - - 0 - - - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {186, 337}} - - PBXTopSmartGroupGIDs - - XCIncludePerspectivesSwitch - 1 - XCSharingToken - com.apple.Xcode.GFSharingToken - - GeometryConfiguration - - Frame - {{0, 0}, {203, 355}} - GroupTreeTableConfiguration - - MainColumn - 186 - - RubberWindowFrame - 373 269 690 397 0 0 1440 878 - - Module - PBXSmartGroupTreeModule - Proportion - 100% - - - Name - Morph - PreferredWidth - 300 - ServiceClasses - - XCModuleDock - PBXSmartGroupTreeModule - - TableOfContents - - 11E0B1FE06471DED0097A5F4 - - ToolbarConfiguration - xcode.toolbar.config.default.short - - - PerspectivesBarVisible - - ShelfIsVisible - - SourceDescription - file at '/System/Library/PrivateFrameworks/DevToolsInterface.framework/Versions/A/Resources/XCPerspectivesSpecificationMode1.xcperspec' - StatusbarIsVisible - - TimeStamp - 0.0 - ToolbarDisplayMode - 2 - ToolbarIsVisible - - ToolbarSizeMode - 2 - Type - Perspectives - UpdateMessage - The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? - WindowJustification - 5 - WindowOrderList - - 79DFC1390B59BFE80056C80E - 798EFBDB0CF0B4980090D926 - 7907BA1F0CED0E23003A8BA0 - /Users/wolf/code/sf/redshed/cocoa/mogenerator/Xmod/Xmod.xcodeproj - - WindowString - 536 535 853 471 0 0 1680 1028 - WindowTools - - - FirstTimeWindowDisplayed - - Identifier - windowTool.build - IsVertical - - Layout - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1CD0528F0623707200166675 - PBXProjectModuleLabel - - StatusBarVisibility - - - GeometryConfiguration - - Frame - {{0, 0}, {500, 218}} - RubberWindowFrame - 36 501 500 500 0 0 1680 1028 - - Module - PBXNavigatorGroup - Proportion - 218pt - - - ContentConfiguration - - PBXProjectModuleGUID - XCMainBuildResultsModuleGUID - PBXProjectModuleLabel - Build - XCBuildResultsTrigger_Collapse - 1021 - XCBuildResultsTrigger_Open - 1011 - - GeometryConfiguration - - Frame - {{0, 223}, {500, 236}} - RubberWindowFrame - 36 501 500 500 0 0 1680 1028 - - Module - PBXBuildResultsModule - Proportion - 236pt - - - Proportion - 459pt - - - Name - Build Results - ServiceClasses - - PBXBuildResultsModule - - StatusbarIsVisible - - TableOfContents - - 79DFC1390B59BFE80056C80E - 794C2E540CF0CA070003EC27 - 1CD0528F0623707200166675 - XCMainBuildResultsModuleGUID - - ToolbarConfiguration - xcode.toolbar.config.build - WindowString - 36 501 500 500 0 0 1680 1028 - WindowToolGUID - 79DFC1390B59BFE80056C80E - WindowToolIsVisible - - - - Identifier - windowTool.debugger - Layout - - - Dock - - - ContentConfiguration - - Debugger - - HorizontalSplitView - - _collapsingFrameDimension - 0.0 - _indexOfCollapsedView - 0 - _percentageOfCollapsedView - 0.0 - isCollapsed - yes - sizes - - {{0, 0}, {317, 164}} - {{317, 0}, {377, 164}} - - - VerticalSplitView - - _collapsingFrameDimension - 0.0 - _indexOfCollapsedView - 0 - _percentageOfCollapsedView - 0.0 - isCollapsed - yes - sizes - - {{0, 0}, {694, 164}} - {{0, 164}, {694, 216}} - - - - LauncherConfigVersion - 8 - PBXProjectModuleGUID - 1C162984064C10D400B95A72 - PBXProjectModuleLabel - Debug - GLUTExamples (Underwater) - - GeometryConfiguration - - DebugConsoleDrawerSize - {100, 120} - DebugConsoleVisible - None - DebugConsoleWindowFrame - {{200, 200}, {500, 300}} - DebugSTDIOWindowFrame - {{200, 200}, {500, 300}} - Frame - {{0, 0}, {694, 380}} - RubberWindowFrame - 321 238 694 422 0 0 1440 878 - - Module - PBXDebugSessionModule - Proportion - 100% - - - Proportion - 100% - - - Name - Debugger - ServiceClasses - - PBXDebugSessionModule - - StatusbarIsVisible - 1 - TableOfContents - - 1CD10A99069EF8BA00B06720 - 1C0AD2AB069F1E9B00FABCE6 - 1C162984064C10D400B95A72 - 1C0AD2AC069F1E9B00FABCE6 - - ToolbarConfiguration - xcode.toolbar.config.debug - WindowString - 321 238 694 422 0 0 1440 878 - WindowToolGUID - 1CD10A99069EF8BA00B06720 - WindowToolIsVisible - 0 - - - Identifier - windowTool.find - Layout - - - Dock - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1CDD528C0622207200134675 - PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1CD0528D0623707200166675 - - SplitCount - 1 - - StatusBarVisibility - 1 - - GeometryConfiguration - - Frame - {{0, 0}, {781, 167}} - RubberWindowFrame - 62 385 781 470 0 0 1440 878 - - Module - PBXNavigatorGroup - Proportion - 781pt - - - Proportion - 50% - - - BecomeActive - 1 - ContentConfiguration - - PBXProjectModuleGUID - 1CD0528E0623707200166675 - PBXProjectModuleLabel - Project Find - - GeometryConfiguration - - Frame - {{8, 0}, {773, 254}} - RubberWindowFrame - 62 385 781 470 0 0 1440 878 - - Module - PBXProjectFindModule - Proportion - 50% - - - Proportion - 428pt - - - Name - Project Find - ServiceClasses - - PBXProjectFindModule - - StatusbarIsVisible - 1 - TableOfContents - - 1C530D57069F1CE1000CFCEE - 1C530D58069F1CE1000CFCEE - 1C530D59069F1CE1000CFCEE - 1CDD528C0622207200134675 - 1C530D5A069F1CE1000CFCEE - 1CE0B1FE06471DED0097A5F4 - 1CD0528E0623707200166675 - - WindowString - 62 385 781 470 0 0 1440 878 - WindowToolGUID - 1C530D57069F1CE1000CFCEE - WindowToolIsVisible - 0 - - - Identifier - MENUSEPARATOR - - - Identifier - windowTool.debuggerConsole - Layout - - - Dock - - - BecomeActive - 1 - ContentConfiguration - - PBXProjectModuleGUID - 1C78EAAC065D492600B07095 - PBXProjectModuleLabel - Debugger Console - - GeometryConfiguration - - Frame - {{0, 0}, {440, 358}} - RubberWindowFrame - 650 41 440 400 0 0 1280 1002 - - Module - PBXDebugCLIModule - Proportion - 358pt - - - Proportion - 358pt - - - Name - Debugger Console - ServiceClasses - - PBXDebugCLIModule - - StatusbarIsVisible - 1 - TableOfContents - - 1C78EAAD065D492600B07095 - 1C78EAAE065D492600B07095 - 1C78EAAC065D492600B07095 - - WindowString - 650 41 440 400 0 0 1280 1002 - - - Identifier - windowTool.run - Layout - - - Dock - - - ContentConfiguration - - LauncherConfigVersion - 3 - PBXProjectModuleGUID - 1CD0528B0623707200166675 - PBXProjectModuleLabel - Run - Runner - - HorizontalSplitView - - _collapsingFrameDimension - 0.0 - _indexOfCollapsedView - 0 - _percentageOfCollapsedView - 0.0 - isCollapsed - yes - sizes - - {{0, 0}, {493, 167}} - {{0, 176}, {493, 267}} - - - VerticalSplitView - - _collapsingFrameDimension - 0.0 - _indexOfCollapsedView - 0 - _percentageOfCollapsedView - 0.0 - isCollapsed - yes - sizes - - {{0, 0}, {405, 443}} - {{414, 0}, {514, 443}} - - - - - GeometryConfiguration - - Frame - {{0, 0}, {460, 159}} - RubberWindowFrame - 316 696 459 200 0 0 1280 1002 - - Module - PBXRunSessionModule - Proportion - 159pt - - - Proportion - 159pt - - - Name - Run Log - ServiceClasses - - PBXRunSessionModule - - StatusbarIsVisible - 1 - TableOfContents - - 1C0AD2B3069F1EA900FABCE6 - 1C0AD2B4069F1EA900FABCE6 - 1CD0528B0623707200166675 - 1C0AD2B5069F1EA900FABCE6 - - ToolbarConfiguration - xcode.toolbar.config.run - WindowString - 316 696 459 200 0 0 1280 1002 - WindowToolGUID - 1C0AD2B3069F1EA900FABCE6 - WindowToolIsVisible - 0 - - - Identifier - windowTool.scm - Layout - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1C78EAB2065D492600B07095 - PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1C78EAB3065D492600B07095 - - SplitCount - 1 - - StatusBarVisibility - 1 - - GeometryConfiguration - - Frame - {{0, 0}, {452, 0}} - RubberWindowFrame - 743 379 452 308 0 0 1280 1002 - - Module - PBXNavigatorGroup - Proportion - 0pt - - - BecomeActive - 1 - ContentConfiguration - - PBXProjectModuleGUID - 1CD052920623707200166675 - PBXProjectModuleLabel - SCM - - GeometryConfiguration - - ConsoleFrame - {{0, 259}, {452, 0}} - Frame - {{0, 7}, {452, 259}} - RubberWindowFrame - 743 379 452 308 0 0 1280 1002 - TableConfiguration - - Status - 30 - FileName - 199 - Path - 197.09500122070312 - - TableFrame - {{0, 0}, {452, 250}} - - Module - PBXCVSModule - Proportion - 262pt - - - Proportion - 266pt - - - Name - SCM - ServiceClasses - - PBXCVSModule - - StatusbarIsVisible - 1 - TableOfContents - - 1C78EAB4065D492600B07095 - 1C78EAB5065D492600B07095 - 1C78EAB2065D492600B07095 - 1CD052920623707200166675 - - ToolbarConfiguration - xcode.toolbar.config.scm - WindowString - 743 379 452 308 0 0 1280 1002 - - - Identifier - windowTool.breakpoints - IsVertical - 0 - Layout - - - Dock - - - BecomeActive - 1 - ContentConfiguration - - PBXBottomSmartGroupGIDs - - 1C77FABC04509CD000000102 - - PBXProjectModuleGUID - 1CE0B1FE06471DED0097A5F4 - PBXProjectModuleLabel - Files - PBXProjectStructureProvided - no - PBXSmartGroupTreeModuleColumnData - - PBXSmartGroupTreeModuleColumnWidthsKey - - 168 - - PBXSmartGroupTreeModuleColumnsKey_v4 - - MainColumn - - - PBXSmartGroupTreeModuleOutlineStateKey_v7 - - PBXSmartGroupTreeModuleOutlineStateExpansionKey - - 1C77FABC04509CD000000102 - - PBXSmartGroupTreeModuleOutlineStateSelectionKey - - - 0 - - - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {168, 350}} - - PBXTopSmartGroupGIDs - - XCIncludePerspectivesSwitch - 0 - - GeometryConfiguration - - Frame - {{0, 0}, {185, 368}} - GroupTreeTableConfiguration - - MainColumn - 168 - - RubberWindowFrame - 315 424 744 409 0 0 1440 878 - - Module - PBXSmartGroupTreeModule - Proportion - 185pt - - - ContentConfiguration - - PBXProjectModuleGUID - 1CA1AED706398EBD00589147 - PBXProjectModuleLabel - Detail - - GeometryConfiguration - - Frame - {{190, 0}, {554, 368}} - RubberWindowFrame - 315 424 744 409 0 0 1440 878 - - Module - XCDetailModule - Proportion - 554pt - - - Proportion - 368pt - - - MajorVersion - 2 - MinorVersion - 0 - Name - Breakpoints - ServiceClasses - - PBXSmartGroupTreeModule - XCDetailModule - - StatusbarIsVisible - 1 - TableOfContents - - 1CDDB66807F98D9800BB5817 - 1CDDB66907F98D9800BB5817 - 1CE0B1FE06471DED0097A5F4 - 1CA1AED706398EBD00589147 - - ToolbarConfiguration - xcode.toolbar.config.breakpoints - WindowString - 315 424 744 409 0 0 1440 878 - WindowToolGUID - 1CDDB66807F98D9800BB5817 - WindowToolIsVisible - 1 - - - Identifier - windowTool.debugAnimator - Layout - - - Dock - - - Module - PBXNavigatorGroup - Proportion - 100% - - - Proportion - 100% - - - Name - Debug Visualizer - ServiceClasses - - PBXNavigatorGroup - - StatusbarIsVisible - 1 - ToolbarConfiguration - xcode.toolbar.config.debugAnimator - WindowString - 100 100 700 500 0 0 1280 1002 - - - Identifier - windowTool.bookmarks - Layout - - - Dock - - - Module - PBXBookmarksModule - Proportion - 100% - - - Proportion - 100% - - - Name - Bookmarks - ServiceClasses - - PBXBookmarksModule - - StatusbarIsVisible - 0 - WindowString - 538 42 401 187 0 0 1280 1002 - - - Identifier - windowTool.classBrowser - Layout - - - Dock - - - BecomeActive - 1 - ContentConfiguration - - OptionsSetName - Hierarchy, all classes - PBXProjectModuleGUID - 1CA6456E063B45B4001379D8 - PBXProjectModuleLabel - Class Browser - NSObject - - GeometryConfiguration - - ClassesFrame - {{0, 0}, {374, 96}} - ClassesTreeTableConfiguration - - PBXClassNameColumnIdentifier - 208 - PBXClassBookColumnIdentifier - 22 - - Frame - {{0, 0}, {630, 331}} - MembersFrame - {{0, 105}, {374, 395}} - MembersTreeTableConfiguration - - PBXMemberTypeIconColumnIdentifier - 22 - PBXMemberNameColumnIdentifier - 216 - PBXMemberTypeColumnIdentifier - 97 - PBXMemberBookColumnIdentifier - 22 - - PBXModuleWindowStatusBarHidden2 - 1 - RubberWindowFrame - 385 179 630 352 0 0 1440 878 - - Module - PBXClassBrowserModule - Proportion - 332pt - - - Proportion - 332pt - - - Name - Class Browser - ServiceClasses - - PBXClassBrowserModule - - StatusbarIsVisible - 0 - TableOfContents - - 1C0AD2AF069F1E9B00FABCE6 - 1C0AD2B0069F1E9B00FABCE6 - 1CA6456E063B45B4001379D8 - - ToolbarConfiguration - xcode.toolbar.config.classbrowser - WindowString - 385 179 630 352 0 0 1440 878 - WindowToolGUID - 1C0AD2AF069F1E9B00FABCE6 - WindowToolIsVisible - 0 - - - - diff --git a/Xmod/Xmod_Prefix.pch b/Xmod/Xmod_Prefix.pch deleted file mode 100644 index 468286f0..00000000 --- a/Xmod/Xmod_Prefix.pch +++ /dev/null @@ -1,7 +0,0 @@ -// -// Prefix header for all source files of the 'Xmod' target in the 'Xmod' project. -// - -#ifdef __OBJC__ - #import -#endif