-
-
Save grantland/1068362 to your computer and use it in GitHub Desktop.
Fix for categories in static libraries requiring -all_load/-force_load
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Build/Products/three20/Three20/.fix b/Build/Products/three20/Three20/.fix | |
new file mode 100644 | |
index 0000000..e69de29 | |
diff --git a/Build/Products/three20/Three20Core/.fix b/Build/Products/three20/Three20Core/.fix | |
new file mode 100644 | |
index 0000000..e69de29 | |
diff --git a/Build/Products/three20/Three20Network/.fix b/Build/Products/three20/Three20Network/.fix | |
new file mode 100644 | |
index 0000000..e69de29 | |
diff --git a/Build/Products/three20/Three20Style/.fix b/Build/Products/three20/Three20Style/.fix | |
new file mode 100644 | |
index 0000000..e69de29 | |
diff --git a/Build/Products/three20/Three20UI/.fix b/Build/Products/three20/Three20UI/.fix | |
new file mode 100644 | |
index 0000000..e69de29 | |
diff --git a/Build/Products/three20/Three20UICommon/.fix b/Build/Products/three20/Three20UICommon/.fix | |
new file mode 100644 | |
index 0000000..e69de29 | |
diff --git a/Build/Products/three20/Three20UINavigator/.fix b/Build/Products/three20/Three20UINavigator/.fix | |
new file mode 100644 | |
index 0000000..e69de29 | |
diff --git a/README.mdown b/README.mdown | |
index 264ca60..841cf63 100644 | |
--- a/README.mdown | |
+++ b/README.mdown | |
@@ -1,6 +1,13 @@ | |
Three20 | |
======= | |
+**IMPORTANT** | |
+ | |
+**The official three20 page now says to add all the Three20XXX projects to your XCode project. If you do this, you WILL get build errors at link time** | |
+ | |
+Specifically you will get duplicate symbols in three20.a and three20ui.a etc. I am looking to see if there is a build fix for this, but why waste time adding 5 projects that are already included by the master project? | |
+ | |
+ | |
Three20 is a collection of iPhone UI classes, like a photo viewer, and general | |
utilities, like an HTTP disk cache. Three20 is derived from the | |
[Facebook iPhone app][], which is one of the most downloaded iPhone apps ever. | |
diff --git a/iphoneos32-runtime-checks.patch b/iphoneos32-runtime-checks.patch | |
new file mode 100644 | |
index 0000000..30b221a | |
--- /dev/null | |
+++ b/iphoneos32-runtime-checks.patch | |
@@ -0,0 +1,223 @@ | |
+Index: src/Three20UICommon/Sources/UIViewControllerAdditions.m | |
+=================================================================== | |
+--- src/Three20UICommon/Sources/UIViewControllerAdditions.m (revision 1193) | |
++++ src/Three20UICommon/Sources/UIViewControllerAdditions.m (working copy) | |
+@@ -294,10 +294,14 @@ | |
+ /////////////////////////////////////////////////////////////////////////////////////////////////// | |
+ - (void)showBars:(BOOL)show animated:(BOOL)animated { | |
+ #if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
+- [[UIApplication sharedApplication] setStatusBarHidden:!show withAnimation:animated]; | |
+-#else | |
+- [[UIApplication sharedApplication] setStatusBarHidden:!show animated:animated]; | |
++ if (TTOSVersion() >= 3.2) { | |
++ [[UIApplication sharedApplication] setStatusBarHidden:!show withAnimation:animated]; | |
++ } | |
++ else | |
+ #endif | |
++ { | |
++ [[UIApplication sharedApplication] setStatusBarHidden:!show animated:animated]; | |
++ } | |
+ | |
+ if (animated) { | |
+ [UIView beginAnimations:nil context:NULL]; | |
+Index: src/Three20UICommon/Sources/TTBaseViewController.m | |
+=================================================================== | |
+--- src/Three20UICommon/Sources/TTBaseViewController.m (revision 1193) | |
++++ src/Three20UICommon/Sources/TTBaseViewController.m (working copy) | |
+@@ -91,28 +91,34 @@ | |
+ | |
+ /////////////////////////////////////////////////////////////////////////////////////////////////// | |
+ - (void)resizeForKeyboard:(NSNotification*)notification appearing:(BOOL)appearing { | |
++ CGRect keyboardBounds = CGRectZero; | |
++ BOOL animated = NO; | |
+ #if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
+- CGRect keyboardStart; | |
+- [[notification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&keyboardStart]; | |
++ if (TTOSVersion() >= 3.2) { | |
++ CGRect keyboardStart; | |
++ [[notification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&keyboardStart]; | |
+ | |
+- CGRect keyboardEnd; | |
+- [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardEnd]; | |
++ CGRect keyboardEnd; | |
++ [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardEnd]; | |
+ | |
+- CGRect keyboardBounds = CGRectMake(0, 0, keyboardEnd.size.width, keyboardEnd.size.height); | |
++ keyboardBounds = CGRectMake(0, 0, keyboardEnd.size.width, keyboardEnd.size.height); | |
+ | |
+- BOOL animated = keyboardStart.origin.y != keyboardEnd.origin.y; | |
+-#else | |
+- CGRect keyboardBounds; | |
+- [[notification.userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardBounds]; | |
++ animated = keyboardStart.origin.y != keyboardEnd.origin.y; | |
++ } | |
++ else | |
++#endif | |
++ { | |
++ [[notification.userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardBounds]; | |
+ | |
+- CGPoint keyboardStart; | |
+- [[notification.userInfo objectForKey:UIKeyboardCenterBeginUserInfoKey] getValue:&keyboardStart]; | |
++ CGPoint keyboardStart; | |
++ [[notification.userInfo objectForKey:UIKeyboardCenterBeginUserInfoKey] getValue:&keyboardStart]; | |
+ | |
+- CGPoint keyboardEnd; | |
+- [[notification.userInfo objectForKey:UIKeyboardCenterEndUserInfoKey] getValue:&keyboardEnd]; | |
++ CGPoint keyboardEnd; | |
++ [[notification.userInfo objectForKey:UIKeyboardCenterEndUserInfoKey] getValue:&keyboardEnd]; | |
+ | |
+- BOOL animated = keyboardStart.y != keyboardEnd.y; | |
+-#endif | |
++ animated = keyboardStart.y != keyboardEnd.y; | |
++ } | |
++ | |
+ if (animated) { | |
+ [UIView beginAnimations:nil context:nil]; | |
+ [UIView setAnimationDuration:TT_TRANSITION_DURATION]; | |
+@@ -287,15 +293,19 @@ | |
+ | |
+ /////////////////////////////////////////////////////////////////////////////////////////////////// | |
+ - (void)keyboardDidShow:(NSNotification*)notification { | |
++ CGRect keyboardBounds; | |
+ #if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
+- CGRect frameStart; | |
+- [[notification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&frameStart]; | |
++ if (TTOSVersion() >= 3.2) { | |
++ CGRect frameStart; | |
++ [[notification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&frameStart]; | |
+ | |
+- CGRect keyboardBounds = CGRectMake(0, 0, frameStart.size.width, frameStart.size.height); | |
+-#else | |
+- CGRect keyboardBounds; | |
+- [[notification.userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardBounds]; | |
++ keyboardBounds = CGRectMake(0, 0, frameStart.size.width, frameStart.size.height); | |
++ } | |
++ else | |
+ #endif | |
++ { | |
++ [[notification.userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardBounds]; | |
++ } | |
+ | |
+ [self keyboardDidAppear:YES withBounds:keyboardBounds]; | |
+ } | |
+@@ -311,15 +321,19 @@ | |
+ | |
+ /////////////////////////////////////////////////////////////////////////////////////////////////// | |
+ - (void)keyboardWillHide:(NSNotification*)notification { | |
++ CGRect keyboardBounds; | |
+ #if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
+- CGRect frameEnd; | |
+- [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&frameEnd]; | |
++ if (TTOSVersion() >= 3.2) { | |
++ CGRect frameEnd; | |
++ [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&frameEnd]; | |
+ | |
+- CGRect keyboardBounds = CGRectMake(0, 0, frameEnd.size.width, frameEnd.size.height); | |
+-#else | |
+- CGRect keyboardBounds; | |
+- [[notification.userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardBounds]; | |
++ keyboardBounds = CGRectMake(0, 0, frameEnd.size.width, frameEnd.size.height); | |
++ } | |
++ else | |
+ #endif | |
++ { | |
++ [[notification.userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardBounds]; | |
++ } | |
+ | |
+ [self keyboardWillDisappear:YES withBounds:keyboardBounds]; | |
+ } | |
+Index: src/Three20UI/Sources/UIViewAdditions.m | |
+=================================================================== | |
+--- src/Three20UI/Sources/UIViewAdditions.m (revision 1193) | |
++++ src/Three20UI/Sources/UIViewAdditions.m (working copy) | |
+@@ -453,27 +453,31 @@ | |
+ - (NSDictionary *)userInfoForKeyboardNotification { | |
+ CGRect screenFrame = TTScreenBounds(); | |
+ #if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
+- CGSize keyboardSize = CGSizeMake(screenFrame.size.width, self.height); | |
+- CGRect frameBegin = CGRectMake(0, screenFrame.size.height + floor(self.height/2), keyboardSize.width, keyboardSize.height); | |
+- CGRect frameEnd = CGRectMake(0, screenFrame.size.height - floor(self.height/2), keyboardSize.width, keyboardSize.height); | |
++ if (TTOSVersion() >= 3.2) { | |
++ CGSize keyboardSize = CGSizeMake(screenFrame.size.width, self.height); | |
++ CGRect frameBegin = CGRectMake(0, screenFrame.size.height + floor(self.height/2), keyboardSize.width, keyboardSize.height); | |
++ CGRect frameEnd = CGRectMake(0, screenFrame.size.height - floor(self.height/2), keyboardSize.width, keyboardSize.height); | |
+ | |
+- return [NSDictionary dictionaryWithObjectsAndKeys: | |
+- [NSValue valueWithCGRect:frameBegin], UIKeyboardFrameBeginUserInfoKey, | |
+- [NSValue valueWithCGRect:frameEnd], UIKeyboardFrameEndUserInfoKey, | |
+- nil]; | |
+-#else | |
+- CGRect bounds = CGRectMake(0, 0, screenFrame.size.width, self.height); | |
+- CGPoint centerBegin = CGPointMake(floor(screenFrame.size.width/2 - self.width/2), | |
+- screenFrame.size.height + floor(self.height/2)); | |
+- CGPoint centerEnd = CGPointMake(floor(screenFrame.size.width/2 - self.width/2), | |
+- screenFrame.size.height - floor(self.height/2)); | |
++ return [NSDictionary dictionaryWithObjectsAndKeys: | |
++ [NSValue valueWithCGRect:frameBegin], UIKeyboardFrameBeginUserInfoKey, | |
++ [NSValue valueWithCGRect:frameEnd], UIKeyboardFrameEndUserInfoKey, | |
++ nil]; | |
++ } | |
++ else | |
++#endif | |
++ { | |
++ CGRect bounds = CGRectMake(0, 0, screenFrame.size.width, self.height); | |
++ CGPoint centerBegin = CGPointMake(floor(screenFrame.size.width/2 - self.width/2), | |
++ screenFrame.size.height + floor(self.height/2)); | |
++ CGPoint centerEnd = CGPointMake(floor(screenFrame.size.width/2 - self.width/2), | |
++ screenFrame.size.height - floor(self.height/2)); | |
+ | |
+- return [NSDictionary dictionaryWithObjectsAndKeys: | |
+- [NSValue valueWithCGRect:bounds], UIKeyboardBoundsUserInfoKey, | |
+- [NSValue valueWithCGPoint:centerBegin], UIKeyboardCenterBeginUserInfoKey, | |
+- [NSValue valueWithCGPoint:centerEnd], UIKeyboardCenterEndUserInfoKey, | |
+- nil]; | |
+-#endif | |
++ return [NSDictionary dictionaryWithObjectsAndKeys: | |
++ [NSValue valueWithCGRect:bounds], UIKeyboardBoundsUserInfoKey, | |
++ [NSValue valueWithCGPoint:centerBegin], UIKeyboardCenterBeginUserInfoKey, | |
++ [NSValue valueWithCGPoint:centerEnd], UIKeyboardCenterEndUserInfoKey, | |
++ nil]; | |
++ } | |
+ } | |
+ | |
+ | |
+Index: src/Three20UI/Sources/TTPostController.m | |
+=================================================================== | |
+--- src/Three20UI/Sources/TTPostController.m (revision 1193) | |
++++ src/Three20UI/Sources/TTPostController.m (working copy) | |
+@@ -142,10 +142,14 @@ | |
+ _originalStatusBarHidden = app.statusBarHidden; | |
+ if (!_originalStatusBarHidden) { | |
+ #if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
+- [app setStatusBarHidden:NO withAnimation:YES]; | |
+-#else | |
+- [app setStatusBarHidden:NO animated:YES]; | |
++ if (TTOSVersion() >= 3.2) { | |
++ [app setStatusBarHidden:NO withAnimation:YES]; | |
++ } | |
++ else | |
+ #endif | |
++ { | |
++ [app setStatusBarHidden:NO animated:YES]; | |
++ } | |
+ [app setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES]; | |
+ } | |
+ [_textView becomeFirstResponder]; | |
+@@ -156,10 +160,14 @@ | |
+ - (void)hideKeyboard { | |
+ UIApplication* app = [UIApplication sharedApplication]; | |
+ #if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
+- [app setStatusBarHidden:_originalStatusBarHidden withAnimation:YES]; | |
+-#else | |
+- [app setStatusBarHidden:_originalStatusBarHidden animated:YES]; | |
++ if (TTOSVersion() >= 3.2) { | |
++ [app setStatusBarHidden:_originalStatusBarHidden withAnimation:YES]; | |
++ } | |
++ else | |
+ #endif | |
++ { | |
++ [app setStatusBarHidden:_originalStatusBarHidden animated:YES]; | |
++ } | |
+ [app setStatusBarStyle:_originalStatusBarStyle animated:NO]; | |
+ [_textView resignFirstResponder]; | |
+ } | |
diff --git a/src/Three20/Three20.xcodeproj/project.pbxproj b/src/Three20/Three20.xcodeproj/project.pbxproj | |
index d6745e8..7f2920e 100755 | |
--- a/src/Three20/Three20.xcodeproj/project.pbxproj | |
+++ b/src/Three20/Three20.xcodeproj/project.pbxproj | |
@@ -440,6 +440,9 @@ | |
/* Begin PBXProject section */ | |
29B97313FDCFA39411CA2CEA /* Project object */ = { | |
isa = PBXProject; | |
+ attributes = { | |
+ BuildIndependentTargetsInParallel = YES; | |
+ }; | |
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Three20" */; | |
compatibilityVersion = "Xcode 3.1"; | |
hasScannedForEncodings = 1; | |
@@ -693,14 +696,16 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
+ IPHONEOS_DEPLOYMENT_TARGET = 3.1.2; | |
ONLY_ACTIVE_ARCH = YES; | |
OTHER_LDFLAGS = "-ObjC"; | |
PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
+ TARGETED_DEVICE_FAMILY = "1,2"; | |
}; | |
name = Internal; | |
}; | |
@@ -713,7 +718,6 @@ | |
GCC_OPTIMIZATION_LEVEL = 0; | |
GCC_PRECOMPILE_PREFIX_HEADER = NO; | |
GCC_PREPROCESSOR_DEFINITIONS = DEBUG; | |
- PREBINDING = NO; | |
RUN_CLANG_STATIC_ANALYZER = YES; | |
}; | |
name = Internal; | |
@@ -747,7 +751,6 @@ | |
GCC_DYNAMIC_NO_PIC = NO; | |
GCC_OPTIMIZATION_LEVEL = 0; | |
GCC_PREPROCESSOR_DEFINITIONS = DEBUG; | |
- PREBINDING = NO; | |
}; | |
name = Debug; | |
}; | |
@@ -758,7 +761,6 @@ | |
COPY_PHASE_STRIP = YES; | |
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | |
GCC_ENABLE_FIX_AND_CONTINUE = NO; | |
- PREBINDING = NO; | |
ZERO_LINK = NO; | |
}; | |
name = Release; | |
@@ -767,14 +769,16 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
+ IPHONEOS_DEPLOYMENT_TARGET = 3.1.2; | |
ONLY_ACTIVE_ARCH = YES; | |
OTHER_LDFLAGS = "-ObjC"; | |
PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
+ TARGETED_DEVICE_FAMILY = "1,2"; | |
}; | |
name = Debug; | |
}; | |
@@ -782,13 +786,16 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
+ IPHONEOS_DEPLOYMENT_TARGET = 3.1.2; | |
+ ONLY_ACTIVE_ARCH = NO; | |
OTHER_LDFLAGS = "-ObjC"; | |
PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
+ TARGETED_DEVICE_FAMILY = "1,2"; | |
}; | |
name = Release; | |
}; | |
diff --git a/src/Three20Core/Headers/CategoryFix.h b/src/Three20Core/Headers/CategoryFix.h | |
new file mode 100644 | |
index 0000000..834cf81 | |
--- /dev/null | |
+++ b/src/Three20Core/Headers/CategoryFix.h | |
@@ -0,0 +1,10 @@ | |
+/* | |
+ * CategoryFix.h | |
+ * Three20Core | |
+ * | |
+ * Created by jamie on 6/11/10. | |
+ * Copyright 2010 binaryfinery.com. All rights reserved. | |
+ * | |
+ */ | |
+ | |
+#define FIX_CATEGORY_BUG(name) @interface FIXCATEGORYBUG ## name @end @implementation FIXCATEGORYBUG ## name @end | |
diff --git a/src/Three20Core/Sources/NSArrayAdditions.m b/src/Three20Core/Sources/NSArrayAdditions.m | |
index 96f97a3..b8bfd85 100644 | |
--- a/src/Three20Core/Sources/NSArrayAdditions.m | |
+++ b/src/Three20Core/Sources/NSArrayAdditions.m | |
@@ -17,7 +17,7 @@ | |
#import "Three20Core/NSArrayAdditions.h" | |
#import "Three20Core/NSObjectAdditions.h" | |
- | |
+#import "Three20Core/CategoryFix.h" | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
@@ -126,3 +126,5 @@ | |
@end | |
+ | |
+FIX_CATEGORY_BUG(NSArrayAdditions) | |
diff --git a/src/Three20Core/Sources/NSDataAdditions.m b/src/Three20Core/Sources/NSDataAdditions.m | |
index d50db48..569cda9 100644 | |
--- a/src/Three20Core/Sources/NSDataAdditions.m | |
+++ b/src/Three20Core/Sources/NSDataAdditions.m | |
@@ -17,7 +17,7 @@ | |
#import "Three20Core/NSDataAdditions.h" | |
#import <CommonCrypto/CommonDigest.h> | |
- | |
+#import "Three20Core/CategoryFix.h" | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
@@ -42,3 +42,5 @@ | |
@end | |
+FIX_CATEGORY_BUG(NSDataAdditions) | |
+ | |
diff --git a/src/Three20Core/Sources/NSDateAdditions.m b/src/Three20Core/Sources/NSDateAdditions.m | |
index 35c7c88..fdcefb6 100644 | |
--- a/src/Three20Core/Sources/NSDateAdditions.m | |
+++ b/src/Three20Core/Sources/NSDateAdditions.m | |
@@ -252,3 +252,6 @@ | |
@end | |
+ | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG(NSDateAdditions) | |
diff --git a/src/Three20Core/Sources/NSMutableArrayAdditions.m b/src/Three20Core/Sources/NSMutableArrayAdditions.m | |
index f208700..3033d06 100644 | |
--- a/src/Three20Core/Sources/NSMutableArrayAdditions.m | |
+++ b/src/Three20Core/Sources/NSMutableArrayAdditions.m | |
@@ -17,7 +17,7 @@ | |
#import "Three20Core/NSMutableArrayAdditions.h" | |
#import "Three20Core/TTGlobalCore.h" | |
- | |
+#import "Three20Core/CategoryFix.h" | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
@@ -37,3 +37,4 @@ | |
@end | |
+FIX_CATEGORY_BUG( NSMutableArrayAdditions ) | |
diff --git a/src/Three20Core/Sources/NSMutableDictionaryAdditions.m b/src/Three20Core/Sources/NSMutableDictionaryAdditions.m | |
index ee6d7bd..8756e70 100644 | |
--- a/src/Three20Core/Sources/NSMutableDictionaryAdditions.m | |
+++ b/src/Three20Core/Sources/NSMutableDictionaryAdditions.m | |
@@ -38,3 +38,5 @@ | |
@end | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG(NSMutableDictionaryAdditions) | |
diff --git a/src/Three20Core/Sources/NSObjectAdditions.m b/src/Three20Core/Sources/NSObjectAdditions.m | |
index 3132ea2..757d97a 100644 | |
--- a/src/Three20Core/Sources/NSObjectAdditions.m | |
+++ b/src/Three20Core/Sources/NSObjectAdditions.m | |
@@ -16,7 +16,7 @@ | |
#import "Three20Core/NSObjectAdditions.h" | |
- | |
+#import "Three20Core/CategoryFix.h" | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
@@ -161,3 +161,5 @@ | |
@end | |
+ | |
+FIX_CATEGORY_BUG( NSObjectAdditions ) | |
diff --git a/src/Three20Core/Sources/NSStringAdditions.m b/src/Three20Core/Sources/NSStringAdditions.m | |
index c42c31e..ee48bbb 100644 | |
--- a/src/Three20Core/Sources/NSStringAdditions.m | |
+++ b/src/Three20Core/Sources/NSStringAdditions.m | |
@@ -140,3 +140,6 @@ | |
@end | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG(NSStringAdditions) | |
+ | |
diff --git a/src/Three20Core/Three20Core.xcodeproj/project.pbxproj b/src/Three20Core/Three20Core.xcodeproj/project.pbxproj | |
index f8091af..b76afe8 100755 | |
--- a/src/Three20Core/Three20Core.xcodeproj/project.pbxproj | |
+++ b/src/Three20Core/Three20Core.xcodeproj/project.pbxproj | |
@@ -43,6 +43,7 @@ | |
6EB460DA1183D8CB00685649 /* libThree20Core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BEF31F3A0F352DF5000DE5D2 /* libThree20Core.a */; }; | |
6EDAE9C7118CA1720008133C /* TTGlobalCoreRects.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EDAE9C6118CA1720008133C /* TTGlobalCoreRects.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
6EDAE9C9118CA1790008133C /* TTGlobalCoreRects.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDAE9C8118CA1790008133C /* TTGlobalCoreRects.m */; }; | |
+ 7D0F232E11C41E3D00B2F14F /* CategoryFix.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D0F232D11C41E3D00B2F14F /* CategoryFix.h */; settings = {ATTRIBUTES = (Public, ); }; }; | |
/* End PBXBuildFile section */ | |
/* Begin PBXContainerItemProxy section */ | |
@@ -98,6 +99,7 @@ | |
6EC8E92411AB936D00A5AD2C /* README.mdown */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.mdown; sourceTree = "<group>"; }; | |
6EDAE9C6118CA1720008133C /* TTGlobalCoreRects.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TTGlobalCoreRects.h; path = Headers/TTGlobalCoreRects.h; sourceTree = "<group>"; }; | |
6EDAE9C8118CA1790008133C /* TTGlobalCoreRects.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TTGlobalCoreRects.m; path = Sources/TTGlobalCoreRects.m; sourceTree = "<group>"; }; | |
+ 7D0F232D11C41E3D00B2F14F /* CategoryFix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CategoryFix.h; path = Headers/CategoryFix.h; sourceTree = "<group>"; }; | |
BEF31F3A0F352DF5000DE5D2 /* libThree20Core.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libThree20Core.a; sourceTree = BUILT_PRODUCTS_DIR; }; | |
EB9E6C6210B6A8F800DE563C /* CoreUnitTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CoreUnitTests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; | |
/* End PBXFileReference section */ | |
@@ -187,6 +189,7 @@ | |
6ED117D21183BDBF0096AEBF /* Global */ = { | |
isa = PBXGroup; | |
children = ( | |
+ 7D0F232D11C41E3D00B2F14F /* CategoryFix.h */, | |
6E178E771183C8D3003B099E /* TTCorePreprocessorMacros.h */, | |
6E178E781183C8DA003B099E /* TTGlobalCore.h */, | |
6E178E7B1183C8E5003B099E /* TTGlobalCore.m */, | |
@@ -293,6 +296,7 @@ | |
6E6454561184BE8600F08CB1 /* Three20Core+Additions.h in Headers */, | |
6EDAE9C7118CA1720008133C /* TTGlobalCoreRects.h in Headers */, | |
6E607CF211AF2FE400C93CD4 /* TTEntityTables.h in Headers */, | |
+ 7D0F232E11C41E3D00B2F14F /* CategoryFix.h in Headers */, | |
); | |
runOnlyForDeploymentPostprocessing = 0; | |
}; | |
@@ -444,14 +448,13 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E6454021184BDD500F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
ONLY_ACTIVE_ARCH = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ OTHER_LDFLAGS = ""; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Internal; | |
}; | |
@@ -465,7 +468,6 @@ | |
GCC_PRECOMPILE_PREFIX_HEADER = NO; | |
GCC_PREPROCESSOR_DEFINITIONS = DEBUG; | |
PREBINDING = NO; | |
- RUN_CLANG_STATIC_ANALYZER = YES; | |
}; | |
name = Internal; | |
}; | |
@@ -511,14 +513,13 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E6454021184BDD500F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
ONLY_ACTIVE_ARCH = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ OTHER_LDFLAGS = ""; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Debug; | |
}; | |
@@ -526,14 +527,13 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E6454021184BDD500F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ OTHER_LDFLAGS = ""; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Release; | |
}; | |
diff --git a/src/Three20Network/Sources/TTRequestLoader.m b/src/Three20Network/Sources/TTRequestLoader.m | |
index efdbc15..1652695 100644 | |
--- a/src/Three20Network/Sources/TTRequestLoader.m | |
+++ b/src/Three20Network/Sources/TTRequestLoader.m | |
@@ -88,8 +88,12 @@ static const NSInteger kLoadMaxRetries = 2; | |
TTNetworkRequestStarted(); | |
TTURLRequest* request = _requests.count == 1 ? [_requests objectAtIndex:0] : nil; | |
- NSURLRequest* URLRequest = [_queue createNSURLRequest:request URL:URL]; | |
- | |
+ | |
+#ifdef BINARYFINERY_COOKIE_HACK | |
+ NSURLRequest* URLRequest = [request createNSURLRequest]; | |
+#else | |
+ NSURLRequest* URLRequest = [_queue createNSURLRequest:request URL:URL]; | |
+#endif | |
_connection = [[NSURLConnection alloc] initWithRequest:URLRequest delegate:self]; | |
} | |
diff --git a/src/Three20Network/Sources/TTURLRequest.m b/src/Three20Network/Sources/TTURLRequest.m | |
index e8d7cb4..f085454 100644 | |
--- a/src/Three20Network/Sources/TTURLRequest.m | |
+++ b/src/Three20Network/Sources/TTURLRequest.m | |
@@ -150,7 +150,7 @@ static NSString* kStringBoundary = @"3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f"; | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
-- (NSData*)generatePostBody { | |
+- (NSData*)generateMultipartPostBody { | |
NSMutableData* body = [NSMutableData data]; | |
NSString* beginLine = [NSString stringWithFormat:@"\r\n--%@\r\n", kStringBoundary]; | |
@@ -221,7 +221,17 @@ static NSString* kStringBoundary = @"3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f"; | |
return body; | |
} | |
- | |
+- (NSData *)generateURLEncodedBody { | |
+ NSMutableString *body = [NSMutableString string]; | |
+ for (NSString *key in [_parameters allKeys]) { | |
+ if (body.length > 0) | |
+ [body appendString:@"&"]; | |
+ [body appendString:[NSString stringWithFormat:@"%@=%@", | |
+ [key stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding], | |
+ [[_parameters objectForKey:key] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]; | |
+ } | |
+ return [body dataUsingEncoding:NSUTF8StringEncoding]; | |
+} | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
- (NSMutableDictionary*)parameters { | |
if (!_parameters) { | |
@@ -230,6 +240,17 @@ static NSString* kStringBoundary = @"3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f"; | |
return _parameters; | |
} | |
+// JAB: Need to support URLEncoded messages | |
+- (NSData*)generatePostBody { | |
+ if ( [@"application/x-www-form-urlencoded" compare:_contentType] == NSOrderedSame ) | |
+ { | |
+ return [self generateURLEncodedBody]; | |
+ } | |
+ else { | |
+ return [self generateMultipartPostBody]; | |
+ } | |
+} | |
+ | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
- (NSData*)httpBody { | |
diff --git a/src/Three20Network/Three20Network.xcodeproj/project.pbxproj b/src/Three20Network/Three20Network.xcodeproj/project.pbxproj | |
index 59bfae8..2ef358b 100755 | |
--- a/src/Three20Network/Three20Network.xcodeproj/project.pbxproj | |
+++ b/src/Three20Network/Three20Network.xcodeproj/project.pbxproj | |
@@ -529,14 +529,12 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64541F1184BDF900F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
ONLY_ACTIVE_ARCH = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Internal; | |
}; | |
@@ -549,8 +547,6 @@ | |
GCC_OPTIMIZATION_LEVEL = 0; | |
GCC_PRECOMPILE_PREFIX_HEADER = NO; | |
GCC_PREPROCESSOR_DEFINITIONS = DEBUG; | |
- PREBINDING = NO; | |
- RUN_CLANG_STATIC_ANALYZER = YES; | |
}; | |
name = Internal; | |
}; | |
@@ -592,7 +588,6 @@ | |
GCC_DYNAMIC_NO_PIC = NO; | |
GCC_OPTIMIZATION_LEVEL = 0; | |
GCC_PREPROCESSOR_DEFINITIONS = DEBUG; | |
- PREBINDING = NO; | |
}; | |
name = Debug; | |
}; | |
@@ -603,7 +598,6 @@ | |
COPY_PHASE_STRIP = YES; | |
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | |
GCC_ENABLE_FIX_AND_CONTINUE = NO; | |
- PREBINDING = NO; | |
ZERO_LINK = NO; | |
}; | |
name = Release; | |
@@ -612,14 +606,12 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64541F1184BDF900F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
ONLY_ACTIVE_ARCH = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Debug; | |
}; | |
@@ -627,13 +619,11 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64541F1184BDF900F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Release; | |
}; | |
diff --git a/src/Three20Style/Sources/UIColorAdditions.m b/src/Three20Style/Sources/UIColorAdditions.m | |
index f06f56b..f3aa172 100644 | |
--- a/src/Three20Style/Sources/UIColorAdditions.m | |
+++ b/src/Three20Style/Sources/UIColorAdditions.m | |
@@ -15,7 +15,7 @@ | |
// | |
#import "Three20Style/UIColorAdditions.h" | |
- | |
+#import "Three20Core/CategoryFix.h" | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
// Color algorithms from http://www.cs.rit.edu/~ncs/color/t_convert.html | |
@@ -210,3 +210,4 @@ void HSVtoRGB( float *r, float *g, float *b, float h, float s, float v ) { | |
@end | |
+FIX_CATEGORY_BUG( UIColorAdditions ) | |
diff --git a/src/Three20Style/Sources/UIFontAdditions.m b/src/Three20Style/Sources/UIFontAdditions.m | |
index aba29f0..3f7cd27 100644 | |
--- a/src/Three20Style/Sources/UIFontAdditions.m | |
+++ b/src/Three20Style/Sources/UIFontAdditions.m | |
@@ -32,3 +32,5 @@ | |
} | |
@end | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG(UIFontAdditions) | |
diff --git a/src/Three20Style/Sources/UIImageAdditions.m b/src/Three20Style/Sources/UIImageAdditions.m | |
index a9d5004..ca0dea9 100644 | |
--- a/src/Three20Style/Sources/UIImageAdditions.m | |
+++ b/src/Three20Style/Sources/UIImageAdditions.m | |
@@ -15,7 +15,7 @@ | |
// | |
#import "Three20Style/UIImageAdditions.h" | |
- | |
+#import "Three20Core/CategoryFix.h" | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
@@ -229,3 +229,6 @@ | |
@end | |
+ | |
+FIX_CATEGORY_BUG( UIImageAdditions ) | |
+ | |
diff --git a/src/Three20Style/Three20Style.xcodeproj/project.pbxproj b/src/Three20Style/Three20Style.xcodeproj/project.pbxproj | |
index 7d97656..721e7af 100755 | |
--- a/src/Three20Style/Three20Style.xcodeproj/project.pbxproj | |
+++ b/src/Three20Style/Three20Style.xcodeproj/project.pbxproj | |
@@ -1058,14 +1058,13 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
ONLY_ACTIVE_ARCH = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ OTHER_LDFLAGS = ""; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Internal; | |
}; | |
@@ -1078,7 +1077,6 @@ | |
GCC_OPTIMIZATION_LEVEL = 0; | |
GCC_PRECOMPILE_PREFIX_HEADER = NO; | |
GCC_PREPROCESSOR_DEFINITIONS = DEBUG; | |
- PREBINDING = NO; | |
RUN_CLANG_STATIC_ANALYZER = YES; | |
}; | |
name = Internal; | |
@@ -1112,7 +1110,6 @@ | |
GCC_DYNAMIC_NO_PIC = NO; | |
GCC_OPTIMIZATION_LEVEL = 0; | |
GCC_PREPROCESSOR_DEFINITIONS = DEBUG; | |
- PREBINDING = NO; | |
}; | |
name = Debug; | |
}; | |
@@ -1123,7 +1120,6 @@ | |
COPY_PHASE_STRIP = YES; | |
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | |
GCC_ENABLE_FIX_AND_CONTINUE = NO; | |
- PREBINDING = NO; | |
ZERO_LINK = NO; | |
}; | |
name = Release; | |
@@ -1132,14 +1128,13 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
ONLY_ACTIVE_ARCH = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ OTHER_LDFLAGS = ""; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Debug; | |
}; | |
@@ -1147,13 +1142,12 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ OTHER_LDFLAGS = ""; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Release; | |
}; | |
diff --git a/src/Three20UI/Sources/TTPostController.m b/src/Three20UI/Sources/TTPostController.m | |
index fe1b9fd..fb8bea1 100644 | |
--- a/src/Three20UI/Sources/TTPostController.m | |
+++ b/src/Three20UI/Sources/TTPostController.m | |
@@ -142,10 +142,14 @@ static const CGFloat kMarginY = 6; | |
_originalStatusBarHidden = app.statusBarHidden; | |
if (!_originalStatusBarHidden) { | |
#if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
- [app setStatusBarHidden:NO withAnimation:YES]; | |
-#else | |
- [app setStatusBarHidden:NO animated:YES]; | |
+ if (TTOSVersion() >= 3.2) { | |
+ [app setStatusBarHidden:NO withAnimation:YES]; | |
+ } | |
+ else | |
#endif | |
+ { | |
+ [app setStatusBarHidden:NO animated:YES]; | |
+ } | |
[app setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES]; | |
} | |
[_textView becomeFirstResponder]; | |
@@ -156,10 +160,14 @@ static const CGFloat kMarginY = 6; | |
- (void)hideKeyboard { | |
UIApplication* app = [UIApplication sharedApplication]; | |
#if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
- [app setStatusBarHidden:_originalStatusBarHidden withAnimation:YES]; | |
-#else | |
- [app setStatusBarHidden:_originalStatusBarHidden animated:YES]; | |
+ if (TTOSVersion() >= 3.2) { | |
+ [app setStatusBarHidden:_originalStatusBarHidden withAnimation:YES]; | |
+ } | |
+ else | |
#endif | |
+ { | |
+ [app setStatusBarHidden:_originalStatusBarHidden animated:YES]; | |
+ } | |
[app setStatusBarStyle:_originalStatusBarStyle animated:NO]; | |
[_textView resignFirstResponder]; | |
} | |
diff --git a/src/Three20UI/Sources/UINSObjectAdditions.m b/src/Three20UI/Sources/UINSObjectAdditions.m | |
index a236d62..f5f2dd8 100644 | |
--- a/src/Three20UI/Sources/UINSObjectAdditions.m | |
+++ b/src/Three20UI/Sources/UINSObjectAdditions.m | |
@@ -45,3 +45,6 @@ | |
@end | |
+ | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG( UINSObjectAdditions ) | |
diff --git a/src/Three20UI/Sources/UINSStringAdditions.m b/src/Three20UI/Sources/UINSStringAdditions.m | |
index cac21ad..0da9317 100644 | |
--- a/src/Three20UI/Sources/UINSStringAdditions.m | |
+++ b/src/Three20UI/Sources/UINSStringAdditions.m | |
@@ -55,3 +55,6 @@ | |
@end | |
+ | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG(UINSStringAdditions) | |
diff --git a/src/Three20UI/Sources/UINavigationControllerAdditions.m b/src/Three20UI/Sources/UINavigationControllerAdditions.m | |
index 0c42f43..6cdf877 100644 | |
--- a/src/Three20UI/Sources/UINavigationControllerAdditions.m | |
+++ b/src/Three20UI/Sources/UINavigationControllerAdditions.m | |
@@ -132,3 +132,6 @@ | |
@end | |
+ | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG(UINavigationControllerAdditions) | |
diff --git a/src/Three20UI/Sources/UITabBarControllerAdditions.m b/src/Three20UI/Sources/UITabBarControllerAdditions.m | |
index 548c876..78ed2bf 100644 | |
--- a/src/Three20UI/Sources/UITabBarControllerAdditions.m | |
+++ b/src/Three20UI/Sources/UITabBarControllerAdditions.m | |
@@ -122,3 +122,7 @@ | |
@end | |
+#import "Three20Core/CategoryFix.h" | |
+ | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG( UITabBarControllerAdditions ) | |
diff --git a/src/Three20UI/Sources/UITableViewAdditions.m b/src/Three20UI/Sources/UITableViewAdditions.m | |
index 5ce4ebe..ec5d570 100644 | |
--- a/src/Three20UI/Sources/UITableViewAdditions.m | |
+++ b/src/Three20UI/Sources/UITableViewAdditions.m | |
@@ -134,3 +134,6 @@ | |
@end | |
+ | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG(UITableViewAdditions) | |
diff --git a/src/Three20UI/Sources/UIToolbarAdditions.m b/src/Three20UI/Sources/UIToolbarAdditions.m | |
index 058a389..9ccaded 100644 | |
--- a/src/Three20UI/Sources/UIToolbarAdditions.m | |
+++ b/src/Three20UI/Sources/UIToolbarAdditions.m | |
@@ -53,3 +53,7 @@ | |
@end | |
+ | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG( UIToolbarAdditions ) | |
+ | |
diff --git a/src/Three20UI/Sources/UIViewAdditions.m b/src/Three20UI/Sources/UIViewAdditions.m | |
index 6ca0d13..76e165a 100644 | |
--- a/src/Three20UI/Sources/UIViewAdditions.m | |
+++ b/src/Three20UI/Sources/UIViewAdditions.m | |
@@ -453,27 +453,31 @@ | |
- (NSDictionary *)userInfoForKeyboardNotification { | |
CGRect screenFrame = TTScreenBounds(); | |
#if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
- CGSize keyboardSize = CGSizeMake(screenFrame.size.width, self.height); | |
- CGRect frameBegin = CGRectMake(0, screenFrame.size.height + floor(self.height/2), keyboardSize.width, keyboardSize.height); | |
- CGRect frameEnd = CGRectMake(0, screenFrame.size.height - floor(self.height/2), keyboardSize.width, keyboardSize.height); | |
- | |
- return [NSDictionary dictionaryWithObjectsAndKeys: | |
- [NSValue valueWithCGRect:frameBegin], UIKeyboardFrameBeginUserInfoKey, | |
- [NSValue valueWithCGRect:frameEnd], UIKeyboardFrameEndUserInfoKey, | |
- nil]; | |
-#else | |
- CGRect bounds = CGRectMake(0, 0, screenFrame.size.width, self.height); | |
- CGPoint centerBegin = CGPointMake(floor(screenFrame.size.width/2 - self.width/2), | |
- screenFrame.size.height + floor(self.height/2)); | |
- CGPoint centerEnd = CGPointMake(floor(screenFrame.size.width/2 - self.width/2), | |
- screenFrame.size.height - floor(self.height/2)); | |
- | |
- return [NSDictionary dictionaryWithObjectsAndKeys: | |
- [NSValue valueWithCGRect:bounds], UIKeyboardBoundsUserInfoKey, | |
- [NSValue valueWithCGPoint:centerBegin], UIKeyboardCenterBeginUserInfoKey, | |
- [NSValue valueWithCGPoint:centerEnd], UIKeyboardCenterEndUserInfoKey, | |
- nil]; | |
+ if (TTOSVersion() >= 3.2) { | |
+ CGSize keyboardSize = CGSizeMake(screenFrame.size.width, self.height); | |
+ CGRect frameBegin = CGRectMake(0, screenFrame.size.height + floor(self.height/2), keyboardSize.width, keyboardSize.height); | |
+ CGRect frameEnd = CGRectMake(0, screenFrame.size.height - floor(self.height/2), keyboardSize.width, keyboardSize.height); | |
+ | |
+ return [NSDictionary dictionaryWithObjectsAndKeys: | |
+ [NSValue valueWithCGRect:frameBegin], UIKeyboardFrameBeginUserInfoKey, | |
+ [NSValue valueWithCGRect:frameEnd], UIKeyboardFrameEndUserInfoKey, | |
+ nil]; | |
+ } | |
+ else | |
#endif | |
+ { | |
+ CGRect bounds = CGRectMake(0, 0, screenFrame.size.width, self.height); | |
+ CGPoint centerBegin = CGPointMake(floor(screenFrame.size.width/2 - self.width/2), | |
+ screenFrame.size.height + floor(self.height/2)); | |
+ CGPoint centerEnd = CGPointMake(floor(screenFrame.size.width/2 - self.width/2), | |
+ screenFrame.size.height - floor(self.height/2)); | |
+ | |
+ return [NSDictionary dictionaryWithObjectsAndKeys: | |
+ [NSValue valueWithCGRect:bounds], UIKeyboardBoundsUserInfoKey, | |
+ [NSValue valueWithCGPoint:centerBegin], UIKeyboardCenterBeginUserInfoKey, | |
+ [NSValue valueWithCGPoint:centerEnd], UIKeyboardCenterEndUserInfoKey, | |
+ nil]; | |
+ } | |
} | |
@@ -548,3 +552,8 @@ | |
@end | |
+ | |
+ | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG( UIViewAdditions ) | |
+ | |
diff --git a/src/Three20UI/Sources/UIWebViewAdditions.m b/src/Three20UI/Sources/UIWebViewAdditions.m | |
index eeeaa93..d1e451e 100644 | |
--- a/src/Three20UI/Sources/UIWebViewAdditions.m | |
+++ b/src/Three20UI/Sources/UIWebViewAdditions.m | |
@@ -67,3 +67,7 @@ | |
@end | |
+ | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG(UIWebViewAdditions) | |
+ | |
diff --git a/src/Three20UI/Three20UI.xcodeproj/project.pbxproj b/src/Three20UI/Three20UI.xcodeproj/project.pbxproj | |
index 2b95a2b..4709c97 100755 | |
--- a/src/Three20UI/Three20UI.xcodeproj/project.pbxproj | |
+++ b/src/Three20UI/Three20UI.xcodeproj/project.pbxproj | |
@@ -2213,14 +2213,14 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
ONLY_ACTIVE_ARCH = YES; | |
OTHER_LDFLAGS = "-ObjC"; | |
PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Internal; | |
}; | |
@@ -2287,14 +2287,14 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
ONLY_ACTIVE_ARCH = YES; | |
OTHER_LDFLAGS = "-ObjC"; | |
PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Debug; | |
}; | |
@@ -2302,13 +2302,13 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
OTHER_LDFLAGS = "-ObjC"; | |
PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Release; | |
}; | |
diff --git a/src/Three20UICommon/Sources/TTBaseViewController.m b/src/Three20UICommon/Sources/TTBaseViewController.m | |
index d5b505d..45815bc 100644 | |
--- a/src/Three20UICommon/Sources/TTBaseViewController.m | |
+++ b/src/Three20UICommon/Sources/TTBaseViewController.m | |
@@ -91,28 +91,34 @@ | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
- (void)resizeForKeyboard:(NSNotification*)notification appearing:(BOOL)appearing { | |
+ CGRect keyboardBounds = CGRectZero; | |
+ BOOL animated = NO; | |
#if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
- CGRect keyboardStart; | |
- [[notification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&keyboardStart]; | |
+ if (TTOSVersion() >= 3.2) { | |
+ CGRect keyboardStart; | |
+ [[notification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&keyboardStart]; | |
- CGRect keyboardEnd; | |
- [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardEnd]; | |
+ CGRect keyboardEnd; | |
+ [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardEnd]; | |
- CGRect keyboardBounds = CGRectMake(0, 0, keyboardEnd.size.width, keyboardEnd.size.height); | |
+ keyboardBounds = CGRectMake(0, 0, keyboardEnd.size.width, keyboardEnd.size.height); | |
- BOOL animated = keyboardStart.origin.y != keyboardEnd.origin.y; | |
-#else | |
- CGRect keyboardBounds; | |
- [[notification.userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardBounds]; | |
+ animated = keyboardStart.origin.y != keyboardEnd.origin.y; | |
+ } | |
+ else | |
+#endif | |
+ { | |
+ [[notification.userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardBounds]; | |
- CGPoint keyboardStart; | |
- [[notification.userInfo objectForKey:UIKeyboardCenterBeginUserInfoKey] getValue:&keyboardStart]; | |
+ CGPoint keyboardStart; | |
+ [[notification.userInfo objectForKey:UIKeyboardCenterBeginUserInfoKey] getValue:&keyboardStart]; | |
- CGPoint keyboardEnd; | |
- [[notification.userInfo objectForKey:UIKeyboardCenterEndUserInfoKey] getValue:&keyboardEnd]; | |
+ CGPoint keyboardEnd; | |
+ [[notification.userInfo objectForKey:UIKeyboardCenterEndUserInfoKey] getValue:&keyboardEnd]; | |
+ | |
+ animated = keyboardStart.y != keyboardEnd.y; | |
+ } | |
- BOOL animated = keyboardStart.y != keyboardEnd.y; | |
-#endif | |
if (animated) { | |
[UIView beginAnimations:nil context:nil]; | |
[UIView setAnimationDuration:TT_TRANSITION_DURATION]; | |
@@ -287,15 +293,19 @@ | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
- (void)keyboardDidShow:(NSNotification*)notification { | |
+ CGRect keyboardBounds; | |
#if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
- CGRect frameStart; | |
- [[notification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&frameStart]; | |
+ if (TTOSVersion() >= 3.2) { | |
+ CGRect frameStart; | |
+ [[notification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] getValue:&frameStart]; | |
- CGRect keyboardBounds = CGRectMake(0, 0, frameStart.size.width, frameStart.size.height); | |
-#else | |
- CGRect keyboardBounds; | |
- [[notification.userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardBounds]; | |
+ keyboardBounds = CGRectMake(0, 0, frameStart.size.width, frameStart.size.height); | |
+ } | |
+ else | |
#endif | |
+ { | |
+ [[notification.userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardBounds]; | |
+ } | |
[self keyboardDidAppear:YES withBounds:keyboardBounds]; | |
} | |
@@ -311,15 +321,19 @@ | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
- (void)keyboardWillHide:(NSNotification*)notification { | |
+ CGRect keyboardBounds; | |
#if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
- CGRect frameEnd; | |
- [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&frameEnd]; | |
+ if (TTOSVersion() >= 3.2) { | |
+ CGRect frameEnd; | |
+ [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&frameEnd]; | |
- CGRect keyboardBounds = CGRectMake(0, 0, frameEnd.size.width, frameEnd.size.height); | |
-#else | |
- CGRect keyboardBounds; | |
- [[notification.userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardBounds]; | |
+ keyboardBounds = CGRectMake(0, 0, frameEnd.size.width, frameEnd.size.height); | |
+ } | |
+ else | |
#endif | |
+ { | |
+ [[notification.userInfo objectForKey:UIKeyboardBoundsUserInfoKey] getValue:&keyboardBounds]; | |
+ } | |
[self keyboardWillDisappear:YES withBounds:keyboardBounds]; | |
} | |
diff --git a/src/Three20UICommon/Sources/UIViewControllerAdditions.m b/src/Three20UICommon/Sources/UIViewControllerAdditions.m | |
index 7ec5022..37911dc 100644 | |
--- a/src/Three20UICommon/Sources/UIViewControllerAdditions.m | |
+++ b/src/Three20UICommon/Sources/UIViewControllerAdditions.m | |
@@ -28,7 +28,7 @@ | |
#import "Three20Core/TTGlobalCore.h" | |
#import "Three20Core/TTDebug.h" | |
#import "Three20Core/TTDebugFlags.h" | |
- | |
+#import "Three20Core/CategoryFix.h" | |
static NSMutableDictionary* gSuperControllers = nil; | |
static NSMutableDictionary* gPopupViewControllers = nil; | |
@@ -294,10 +294,14 @@ static const NSTimeInterval kGarbageCollectionInterval = 20; | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
- (void)showBars:(BOOL)show animated:(BOOL)animated { | |
#if __IPHONE_3_2 && __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED | |
- [[UIApplication sharedApplication] setStatusBarHidden:!show withAnimation:animated]; | |
-#else | |
- [[UIApplication sharedApplication] setStatusBarHidden:!show animated:animated]; | |
+ if (TTOSVersion() >= 3.2) { | |
+ [[UIApplication sharedApplication] setStatusBarHidden:!show withAnimation:animated]; | |
+ } | |
+ else | |
#endif | |
+ { | |
+ [[UIApplication sharedApplication] setStatusBarHidden:!show animated:animated]; | |
+ } | |
if (animated) { | |
[UIView beginAnimations:nil context:NULL]; | |
@@ -377,3 +381,5 @@ static const NSTimeInterval kGarbageCollectionInterval = 20; | |
@end | |
+ | |
+FIX_CATEGORY_BUG( UIViewControllerAdditions ) | |
diff --git a/src/Three20UICommon/Sources/UIWindowAdditions.m b/src/Three20UICommon/Sources/UIWindowAdditions.m | |
index ccc64c3..9fa29d1 100644 | |
--- a/src/Three20UICommon/Sources/UIWindowAdditions.m | |
+++ b/src/Three20UICommon/Sources/UIWindowAdditions.m | |
@@ -15,7 +15,7 @@ | |
// | |
#import "Three20UICommon/UIWindowAdditions.h" | |
- | |
+#import "Three20Core/CategoryFix.h" | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
/////////////////////////////////////////////////////////////////////////////////////////////////// | |
@@ -53,3 +53,5 @@ | |
@end | |
+ | |
+FIX_CATEGORY_BUG( UIWindowAdditions ) | |
diff --git a/src/Three20UICommon/Three20UICommon.xcodeproj/project.pbxproj b/src/Three20UICommon/Three20UICommon.xcodeproj/project.pbxproj | |
index 369f23f..d009957 100755 | |
--- a/src/Three20UICommon/Three20UICommon.xcodeproj/project.pbxproj | |
+++ b/src/Three20UICommon/Three20UICommon.xcodeproj/project.pbxproj | |
@@ -403,14 +403,12 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
ONLY_ACTIVE_ARCH = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Internal; | |
}; | |
@@ -423,7 +421,6 @@ | |
GCC_OPTIMIZATION_LEVEL = 0; | |
GCC_PRECOMPILE_PREFIX_HEADER = NO; | |
GCC_PREPROCESSOR_DEFINITIONS = DEBUG; | |
- PREBINDING = NO; | |
RUN_CLANG_STATIC_ANALYZER = YES; | |
}; | |
name = Internal; | |
@@ -457,7 +454,6 @@ | |
GCC_DYNAMIC_NO_PIC = NO; | |
GCC_OPTIMIZATION_LEVEL = 0; | |
GCC_PREPROCESSOR_DEFINITIONS = DEBUG; | |
- PREBINDING = NO; | |
}; | |
name = Debug; | |
}; | |
@@ -468,7 +464,6 @@ | |
COPY_PHASE_STRIP = YES; | |
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | |
GCC_ENABLE_FIX_AND_CONTINUE = NO; | |
- PREBINDING = NO; | |
ZERO_LINK = NO; | |
}; | |
name = Release; | |
@@ -477,14 +472,12 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
ONLY_ACTIVE_ARCH = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Debug; | |
}; | |
@@ -492,13 +485,11 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Release; | |
}; | |
diff --git a/src/Three20UINavigator/Headers/UIViewController+TTNavigatorGarbageCollection.h b/src/Three20UINavigator/Headers/UIViewController+TTNavigatorGarbageCollection.h | |
index 1dc55b8..869e366 100644 | |
--- a/src/Three20UINavigator/Headers/UIViewController+TTNavigatorGarbageCollection.h | |
+++ b/src/Three20UINavigator/Headers/UIViewController+TTNavigatorGarbageCollection.h | |
@@ -31,3 +31,4 @@ | |
@end | |
+ | |
diff --git a/src/Three20UINavigator/Sources/TTURLPatternInternal.m b/src/Three20UINavigator/Sources/TTURLPatternInternal.m | |
index 184ee4d..b7170b5 100644 | |
--- a/src/Three20UINavigator/Sources/TTURLPatternInternal.m | |
+++ b/src/Three20UINavigator/Sources/TTURLPatternInternal.m | |
@@ -33,3 +33,6 @@ | |
@end | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG(TTURLPatternInternal) | |
+ | |
diff --git a/src/Three20UINavigator/Sources/UIViewController+TTNavigator.m b/src/Three20UINavigator/Sources/UIViewController+TTNavigator.m | |
index 674f288..50eeb5d 100644 | |
--- a/src/Three20UINavigator/Sources/UIViewController+TTNavigator.m | |
+++ b/src/Three20UINavigator/Sources/UIViewController+TTNavigator.m | |
@@ -189,3 +189,7 @@ static const NSTimeInterval kGarbageCollectionInterval = 20; | |
@end | |
+ | |
+#import "Three20Core/CategoryFix.h" | |
+FIX_CATEGORY_BUG(UIViewControllerTTNavigator) | |
+ | |
diff --git a/src/Three20UINavigator/Three20UINavigator.xcodeproj/project.pbxproj b/src/Three20UINavigator/Three20UINavigator.xcodeproj/project.pbxproj | |
index c9c33cc..3c4742c 100755 | |
--- a/src/Three20UINavigator/Three20UINavigator.xcodeproj/project.pbxproj | |
+++ b/src/Three20UINavigator/Three20UINavigator.xcodeproj/project.pbxproj | |
@@ -662,14 +662,12 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
ONLY_ACTIVE_ARCH = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Internal; | |
}; | |
@@ -682,7 +680,6 @@ | |
GCC_OPTIMIZATION_LEVEL = 0; | |
GCC_PRECOMPILE_PREFIX_HEADER = NO; | |
GCC_PREPROCESSOR_DEFINITIONS = DEBUG; | |
- PREBINDING = NO; | |
RUN_CLANG_STATIC_ANALYZER = YES; | |
}; | |
name = Internal; | |
@@ -716,7 +713,6 @@ | |
GCC_DYNAMIC_NO_PIC = NO; | |
GCC_OPTIMIZATION_LEVEL = 0; | |
GCC_PREPROCESSOR_DEFINITIONS = DEBUG; | |
- PREBINDING = NO; | |
}; | |
name = Debug; | |
}; | |
@@ -727,7 +723,6 @@ | |
COPY_PHASE_STRIP = YES; | |
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | |
GCC_ENABLE_FIX_AND_CONTINUE = NO; | |
- PREBINDING = NO; | |
ZERO_LINK = NO; | |
}; | |
name = Release; | |
@@ -736,14 +731,12 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
ONLY_ACTIVE_ARCH = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Debug; | |
}; | |
@@ -751,13 +744,11 @@ | |
isa = XCBuildConfiguration; | |
baseConfigurationReference = 6E64543D1184BE1B00F08CB1 /* Project.xcconfig */; | |
buildSettings = { | |
- ARCHS = "$(ARCHS_STANDARD_32_BIT)"; | |
+ ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; | |
GCC_C_LANGUAGE_STANDARD = c99; | |
GCC_WARN_ABOUT_RETURN_TYPE = YES; | |
GCC_WARN_UNUSED_VARIABLE = YES; | |
- OTHER_LDFLAGS = "-ObjC"; | |
- PREBINDING = NO; | |
- SDKROOT = iphonesimulator3.0; | |
+ SDKROOT = iphoneos3.2; | |
}; | |
name = Release; | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment