Permalink
Browse files

Updating install docs.

  • Loading branch information...
1 parent bb9c2ff commit 2b7ce738f6f0da0c8abc5113912577bd0167cfee @gabriel gabriel committed Jul 17, 2011
Showing with 1,432 additions and 645 deletions.
  1. +141 −47 Classes/GHUnit.h
  2. BIN Documentation/Installing/10_main.png
  3. BIN Documentation/Installing/11_select_target.png
  4. BIN Documentation/Installing/12_running.png
  5. BIN Documentation/Installing/13_adding_test.png
  6. BIN Documentation/Installing/14_running_with_test.png
  7. BIN Documentation/Installing/1_add_target.png
  8. BIN Documentation/Installing/2_select_application.png
  9. BIN Documentation/Installing/3_name_it.png
  10. BIN Documentation/Installing/6_add_framework.png
  11. BIN Documentation/Installing/7_add_framework_dialog.png
  12. BIN Documentation/Installing/8_other_linker_flags.png
  13. BIN Documentation/Installing/9_remove_test_files.png
  14. BIN Documentation/Installing/9b_fix_plist.png
  15. BIN Documentation/Installing/9c_fixed_plist.png
  16. BIN Documentation/RunningCLI/2_add_build_phase.png
  17. BIN Documentation/RunningCLI/3_configure_phase.png
  18. +0 −26 Examples/MyTestable-iOS/Classes/MyTestableAppDelegate.m
  19. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/GHUnitIOS
  20. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Headers
  21. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Resources
  22. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/GHUnitIOS
  23. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHAsyncTestCase.h
  24. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHTest+JUnitXML.h
  25. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHTest.h
  26. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHTestCase.h
  27. 0 ...ples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHTestGroup+JUnitXML.h
  28. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHTestGroup.h
  29. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHTestMacros.h
  30. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHTestOperation.h
  31. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHTestRunner.h
  32. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHTestSuite.h
  33. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHTestViewModel.h
  34. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHTesting.h
  35. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHUnit.h
  36. 0 ...ples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHUnitIOSAppDelegate.h
  37. 0 ...estable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHUnitIOSTableViewDataSource.h
  38. 0 ...Testable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHUnitIOSTestViewController.h
  39. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHUnitIOSView.h
  40. 0 ...s/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHUnitIOSViewController.h
  41. 0 ...s/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/GHUnitIPhoneAppDelegate.h
  42. 0 ...-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/NSException+GHTestFailureExceptions.h
  43. 0 .../MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Headers/NSValue+GHValueFormatter.h
  44. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/A/Resources/Info.plist
  45. 0 Examples/MyTestable-iOS/{Frameworks → }/GHUnitIOS.framework/Versions/Current
  46. +0 −180 Examples/MyTestable-iOS/MainWindow.xib
  47. +3 −5 Examples/MyTestable-iOS/Makefile
  48. +265 −176 Examples/MyTestable-iOS/MyTestable.xcodeproj/project.pbxproj
  49. +47 −0 Examples/MyTestable-iOS/MyTestable/MyTestable-Info.plist
  50. +14 −0 Examples/MyTestable-iOS/MyTestable/MyTestable-Prefix.pch
  51. +3 −4 Examples/MyTestable-iOS/{Classes → MyTestable}/MyTestableAppDelegate.h
  52. +68 −0 Examples/MyTestable-iOS/MyTestable/MyTestableAppDelegate.m
  53. +2 −0 Examples/MyTestable-iOS/MyTestable/en.lproj/InfoPlist.strings
  54. +16 −0 Examples/MyTestable-iOS/MyTestable/iPad/MyTestableAppDelegate_iPad.h
  55. +18 −0 Examples/MyTestable-iOS/MyTestable/iPad/MyTestableAppDelegate_iPad.m
  56. +362 −0 Examples/MyTestable-iOS/MyTestable/iPad/en.lproj/MainWindow_iPad.xib
  57. +16 −0 Examples/MyTestable-iOS/MyTestable/iPhone/MyTestableAppDelegate_iPhone.h
  58. +18 −0 Examples/MyTestable-iOS/MyTestable/iPhone/MyTestableAppDelegate_iPhone.m
  59. +372 −0 Examples/MyTestable-iOS/MyTestable/iPhone/en.lproj/MainWindow_iPhone.xib
  60. +17 −0 Examples/MyTestable-iOS/MyTestable/main.m
  61. +0 −8 Examples/MyTestable-iOS/MyTestable_Prefix.pch
  62. +0 −20 Examples/MyTestable-iOS/Tests-Info.plist
  63. +0 −76 Examples/MyTestable-iOS/Tests/GHUnitIOSTestMain.m
  64. +14 −18 Examples/MyTestable-iOS/Tests/MyTest.m
  65. +17 −4 Examples/MyTestable-iOS/{Info.plist → Tests/Tests-Info.plist}
  66. +14 −0 Examples/MyTestable-iOS/Tests/Tests-Prefix.pch
  67. +2 −0 Examples/MyTestable-iOS/Tests/en.lproj/InfoPlist.strings
  68. +17 −0 Examples/MyTestable-iOS/Tests/main.m
  69. +1 −1 Project-MacOSX/Makefile.example
  70. +0 −76 Project-iOS/GHUnitIOSTestMain.m
  71. +4 −3 Project-iOS/Makefile.example
  72. +1 −1 README.md
View
188 Classes/GHUnit.h
@@ -74,18 +74,17 @@ fputs([[[NSString stringWithFormat:fmt, ##__VA_ARGS__] stringByAppendingString:@
This manual is divided in the following sections:
- - @subpage Examples
- @subpage Installing
- - @subpage Building
- - @subpage TestMacros
- - @subpage EnvVariables
+ - @subpage Examples
- @subpage CommandLine "Command Line & Makefiles"
+ - @subpage TestMacros
+ - @subpage Building
+ - @subpage EnvVariables
- @subpage Customizing
- @subpage Hudson
@image html http://rel.me.s3.amazonaws.com/gh-unit/images/GHUnit-IPhone-0.4.18.png
-
@image html http://rel.me.s3.amazonaws.com/gh-unit/images/GHUnit-0.4.18.png
@section Notes Notes
@@ -97,30 +96,116 @@ fputs([[[NSString stringWithFormat:fmt, ##__VA_ARGS__] stringByAppendingString:@
/*!
@page Installing Installing
- - @ref InstallingIOSXCode4
- - @ref InstallingIOSXCode3
- - @ref InstallMacOSXXCode4
- - @ref InstallMacOSXXCode3
+ @ref InstallingIOSXcode4
- @section InstallingIOSXCode4 Installing in XCode 4 (iOS)
+ @ref InstallMacOSXXcode4
- - Add a <tt>New Target</tt>. Select <tt>iOS -> Application</tt>. You can select the Window-based application. Name it <tt>Tests</tt> (or something similar). And you can deselect the 'Add Unit Tests' option.
- - Copy and add <tt>GHUnitIOS.framework</tt> into your project: Add Files to 'App'..., select <tt>GHUnitIOS.framework</tt>, and select only the "Tests" target.
- - In the "Tests" target, Build Phases, Link Binary with Libraries, make sure the following Frameworks are present:
- - <tt>GHUnitIOS.framework</tt>
- - <tt>CoreGraphics.framework</tt>
- - <tt>Foundation.framework</tt>
- - <tt>UIKit.framework</tt>
- - In the "Tests" target, Build Settings, under 'Framework Search Paths' make sure the (parent) directory to GHUnitIOS.framework is listed.
- - In the "Tests" target, Build Settigns, under 'Other Linker Flags' in the "Tests" target, add <tt>-ObjC</tt> and <tt>-all_load</tt>
- - By default, the Tests-Info.plist file includes <tt>MainWindow_iPhone</tt> and <tt>MainWindow_iPad</tt> for <tt>Main nib file base name</tt>. You should remove both these fields.
- - Add the GHUnitIOSTestMain.m (http://github.com/gabriel/gh-unit/blob/master/Project-iOS/GHUnitIOSTestMain.m) file into your project and make sure its enabled for the "Tests" target. You should delete the existing main.m file (or replace the contents of the existing main.m with GHUnitIOSTestMain.m).
- - @ref Examples "Create a test"
- - Build and run the "Tests" target.
- - You can remove the files: TestsAppDelete* and MainWindow* that were generated with the Tests target.
- - (Optional) @ref Makefile "Install Makefile"
+ @subpage InstallingXcode3
+
+ @section InstallingIOSXcode4 Installing in Xcode 4 (iOS)
+
+ @subsection CreateTestTargetXcode4 Create a Test Target
+
+ - You'll want to create a separate Test target. Select the project file for your app in the Project Navigator. From there, select the Add Target + symbol at the bottom of the window.
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/1_add_target.png
+
+ - Select iOS, Application, Window-based Application. Select Next.
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/2_select_application.png
+
+ - Name it Tests or something similar. Select Finish.
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/3_name_it.png
+
+ @subsection ConfigureTestTargetXcode4 Configure the Test Target
- @section InstallingIOSXCode3 Installing in XCode 3 (iOS)
+ - Download and copy the GHUnitIOS.framework to your project. Command click on Frameworks in the Project Navigator and select: Add Files to "MyTestable"...
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/6_add_framework.png
+
+ - Select GHUnitIOS.framework and make sure the only the Tests target is selected.
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/7_add_framework_dialog.png
+
+ - We want to enable use of Objective-C categories, which isn't enabled for static libraries by default. In the Tests target, Build Settings, under Other Linker Flags, add <tt>-ObjC</tt> and <tt>-all_load</tt>.
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/8_other_linker_flags.png
+
+ - Select and delete the files from the existing Tests folder. Leave the Supporting Files folder. GHUnit will provide the application delegate below.
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/9_remove_test_files.png
+
+ - By default, the Tests-Info.plist file includes MainWindow_iPhone and MainWindow_iPad for Main nib file base name. You should remove both these fields.
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/9b_fix_plist.png
+
+ - After removing these entries, the Tests-Info.plist should look like this.
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/9c_fixed_plist.png
+
+ - In Tests folder, in Supporting Files, main.m, replace the last argument of UIApplicationMain with @"GHUnitIPhoneAppDelegate".
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/10_main.png
+
+ - Select the Tests target, iPhone Simulator configuration:
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/11_select_target.png
+
+ - Hit Run, and you'll hopefully see the test application running (but without any tests).
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/12_running.png
+
+ @subsection CreateTestXcode4 Create a Test
+
+ - Command click on the Tests folder and select: New File...
+ - Under iOS, Cocoa Touch, select Objective-C class and select Next. Leave the default subclass and select Next again.
+ - Name the file MyTest.m and make sure its enabled only for the "Tests" target.
+ - Delete the MyTest.h file and replace the MyTest.m file with:
+
+ @code
+ #import <GHUnitIOS/GHUnit.h>
+
+ @interface MyTest : GHTestCase { }
+ @end
+
+ @implementation MyTest
+
+ - (void)testStrings {
+ NSString *string1 = @"a string";
+ GHTestLog(@"I can log to the GHUnit test console: %@", string1);
+
+ // Assert string1 is not NULL, with no custom error description
+ GHAssertNotNULL(string1, nil);
+
+ // Assert equal objects, add custom error description
+ NSString *string2 = @"a string";
+ GHAssertEqualObjects(string1, string2, @"A custom error message. string1 should be equal to: %@.", string2);
+ }
+
+ @end
+ @endcode
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/13_adding_test.png
+
+ - Now run the "Tests" target. Hit the Run button in the top right.
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/Installing/14_running_with_test.png
+
+ @subsection InstallWhatsNextXcode4 Whats next?
+
+ There aren't any more steps required, but you might be interested in:
+
+ - @ref Examples "More Examples"
+ - @ref CommandLine "Running from the Command Line"
+ - @ref Makefile "Install a Makefile"
+
+ */
+
+/*!
+ @page InstallingXcode3 Installing in Xcode 3
+
+ @section InstallingIOSXcode3 Installing in Xcode 3 (iOS)
- Add a <tt>New Target</tt>. Select <tt>iOS -> Application</tt>. Name it <tt>Tests</tt> (or something similar).
- Copy and add <tt>GHUnitIOS.framework</tt> into your project: Add Files to ..., select <tt>GHUnitIOS.framework</tt>, and select the <tt>Tests</tt> target.
@@ -139,7 +224,7 @@ fputs([[[NSString stringWithFormat:fmt, ##__VA_ARGS__] stringByAppendingString:@
- (Optional) @ref Makefile "Install Makefile"
- @section InstallMacOSXXCode4 Installing in XCode 4 (Mac OS X)
+ @section InstallMacOSXXcode4 Installing in Xcode 4 (Mac OS X)
- Add a <tt>New Target</tt>. Select <tt>Application -> Cocoa Application</tt>. Name it <tt>Tests</tt> (or something similar).
- Copy and add <tt>GHUnit.framework</tt> into your project: Add Files to 'App'..., select <tt>GHUnit.framework</tt>, and select only the "Tests" target.
@@ -154,7 +239,7 @@ fputs([[[NSString stringWithFormat:fmt, ##__VA_ARGS__] stringByAppendingString:@
- Build and run the "Tests" target.
- (Optional) @ref Makefile "Install Makefile"
- @section InstallMacOSXXCode3 Installing in XCode 3 (Mac OS X)
+ @section InstallMacOSXXcode3 Installing in Xcode 3 (Mac OS X)
You can install it globally in /Library/Frameworks or with a little extra effort embed it with your project.
@@ -326,7 +411,7 @@ fputs([[[NSString stringWithFormat:fmt, ##__VA_ARGS__] stringByAppendingString:@
@section GHUnitEnvVariables GHUnit Environment Variables
- Go into the "Get Info" contextual menu of your (Tests) executable (inside the "Executables" group in the left panel of XCode).
+ Go into the "Get Info" contextual menu of your (Tests) executable (inside the "Executables" group in the left panel of Xcode).
Then go in the "Arguments" tab. You can add the following environment variables:
@verbatim
@@ -339,7 +424,7 @@ fputs([[[NSString stringWithFormat:fmt, ##__VA_ARGS__] stringByAppendingString:@
@section EnvVariablesTest Test Environment Variables (Recommended)
- Go into the "Get Info" contextual menu of your (Tests) executable (inside the "Executables" group in the left panel of XCode).
+ Go into the "Get Info" contextual menu of your (Tests) executable (inside the "Executables" group in the left panel of Xcode).
Then go in the "Arguments" tab. You can add the following environment variables:
@verbatim
@@ -398,38 +483,44 @@ fputs([[[NSString stringWithFormat:fmt, ##__VA_ARGS__] stringByAppendingString:@
@page CommandLine Command Line
- @section CommandLineRunningTests Running Tests
+ @section CommandLineRunningTests Running from the Command Line
To run the tests from the command line:
- - Copy the RunTests.sh (http://github.com/gabriel/gh-unit/tree/master/Scripts/RunTests.sh) file into your project directory.
- - In the <tt>Tests</tt> target, (and Build Phases in XCode 4), add <tt>New Build Phase</tt> | <tt>New Run Script Build Phase</tt>
- - Enter <tt>sh RunTests.sh</tt> as the script. The path to <tt>RunTests.sh</tt> should be relative to the xcode project file (.xcodeproj).
- - (Optional) Uncheck 'Show environment variables in build log'
+ - Copy the RunTests.sh (http://github.com/gabriel/gh-unit/tree/master/Scripts/RunTests.sh) file into your project in the same directory as the xcodeproj file.
- From the command line, run the tests from xcodebuild (with the GHUNIT_CLI environment variable set):
+ - In the Tests target, Build Phases, Select Add Build Phase + button, and select Add Run Script.
- @verbatim
- // For mac app; This might seg fault in 10.6, in which case you should use make test via Makefile below
- GHUNIT_CLI=1 xcodebuild -target Tests -configuration Debug -sdk macosx build
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/RunningCLI/2_add_build_phase.png
+
+ - For the script enter: <tt>sh RunTests.sh</tt>
+
+ @image html http://rel.me.s3.amazonaws.com/gh-unit/images/RunningCLI/3_configure_phase.png
+
+ The path to RunTests.sh should be relative to the xcode project file (.xcodeproj). You can uncheck 'Show environment variables in build log' if you want.
+ - Now run the tests From the command line:
+
+ @verbatim
// For iOS app
GHUNIT_CLI=1 xcodebuild -target Tests -configuration Debug -sdk iphonesimulator build
+
+ // For mac app
+ GHUNIT_CLI=1 xcodebuild -target Tests -configuration Debug -sdk macosx build
@endverbatim
- If you are wondering, the <tt>RunTests.sh</tt> script will only run the tests if the env variable GHUNIT_CLI is set.
- This is why this RunScript phase is ignored when running the test GUI. This is how we use a single Test target for both the GUI and command line testing.
+ If you get and error like: <tt>Couldn't register Tests with the bootstrap server.</tt> it means an iPhone simulator is running and you need to close it.
+
+ @subsection CommandLineEnv Command Line Environment
- This may seem strange that we run via xcodebuild with a RunScript phase in order to work on the command line, but otherwise we may not have
- the environment settings or other XCode specific configuration right.
+ The RunTests.sh script will only run the tests if the env variable GHUNIT_CLI is set. This is why this RunScript phase is ignored when running the test GUI. This is how we use a single Test target for both the GUI and command line testing.
+
+ This may seem strange that we run via xcodebuild with a RunScript phase in order to work on the command line, but otherwise we may not have the environment settings or other Xcode specific configuration right.
@section Makefile Makefile
Follow the directions above for adding command line support.
- Unfortunately, running Mac OS X and iOS tests from the command line isn't always supported since certain frameworks can't work
- headless and will seg fault.
-
Example Makefile's for Mac or iPhone apps:
- Makefile (Mac OS X): http://github.com/gabriel/gh-unit/tree/master/Project/Makefile.example (for a Mac App)
@@ -443,6 +534,9 @@ fputs([[[NSString stringWithFormat:fmt, ##__VA_ARGS__] stringByAppendingString:@
make test
@endverbatim
+ Unfortunately, running Mac OS X from the command line isn't always supported since certain frameworks can't work
+ headless and will seg fault.
+
@section RunningATest Running a Test Case / Single Test
The <tt>TEST</tt> environment variable can be used to run a single test or test case.
@@ -620,7 +714,7 @@ fputs([[[NSString stringWithFormat:fmt, ##__VA_ARGS__] stringByAppendingString:@
@section Troubleshooting Troubleshooting
- If your XCode build fails with a set of font-related errors, you may be running
+ If your Xcode build fails with a set of font-related errors, you may be running
Hudson headless (e.g., via an SSH session). Launch Hudson via Terminal.app on
the build machine (or otherwise attach a DISPLAY to the session) in order to
address this.
View
BIN Documentation/Installing/10_main.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/11_select_target.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/12_running.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/13_adding_test.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/14_running_with_test.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/1_add_target.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/2_select_application.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/3_name_it.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/6_add_framework.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/7_add_framework_dialog.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/8_other_linker_flags.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/9_remove_test_files.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/9b_fix_plist.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/Installing/9c_fixed_plist.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/RunningCLI/2_add_build_phase.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN Documentation/RunningCLI/3_configure_phase.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
26 Examples/MyTestable-iOS/Classes/MyTestableAppDelegate.m
@@ -1,26 +0,0 @@
-//
-// MyTestableAppDelegate.m
-// MyTestable
-//
-// Created by Gabriel Handford on 2/15/09.
-// Copyright 2009. All rights reserved.
-//
-
-#import "MyTestableAppDelegate.h"
-
-@implementation MyTestableAppDelegate
-
-@synthesize window=window_;
-
-- (void)applicationDidFinishLaunching:(UIApplication *)application {
-
- // Override point for customization after application launch
- [window_ makeKeyAndVisible];
-}
-
-- (void)dealloc {
- [window_ release];
- [super dealloc];
-}
-
-@end
View
0 .../Frameworks/GHUnitIOS.framework/GHUnitIOS → ...estable-iOS/GHUnitIOS.framework/GHUnitIOS
File renamed without changes.
View
0 ...OS/Frameworks/GHUnitIOS.framework/Headers → ...yTestable-iOS/GHUnitIOS.framework/Headers
File renamed without changes.
View
0 .../Frameworks/GHUnitIOS.framework/Resources → ...estable-iOS/GHUnitIOS.framework/Resources
File renamed without changes.
View
0 .../GHUnitIOS.framework/Versions/A/GHUnitIOS → .../GHUnitIOS.framework/Versions/A/GHUnitIOS
File renamed without changes.
View
0 ...work/Versions/A/Headers/GHAsyncTestCase.h → ...work/Versions/A/Headers/GHAsyncTestCase.h
File renamed without changes.
View
0 ...work/Versions/A/Headers/GHTest+JUnitXML.h → ...work/Versions/A/Headers/GHTest+JUnitXML.h
File renamed without changes.
View
0 ...IOS.framework/Versions/A/Headers/GHTest.h → ...IOS.framework/Versions/A/Headers/GHTest.h
File renamed without changes.
View
0 ...framework/Versions/A/Headers/GHTestCase.h → ...framework/Versions/A/Headers/GHTestCase.h
File renamed without changes.
View
0 ...Versions/A/Headers/GHTestGroup+JUnitXML.h → ...Versions/A/Headers/GHTestGroup+JUnitXML.h
File renamed without changes.
View
0 ...ramework/Versions/A/Headers/GHTestGroup.h → ...ramework/Versions/A/Headers/GHTestGroup.h
File renamed without changes.
View
0 ...amework/Versions/A/Headers/GHTestMacros.h → ...amework/Versions/A/Headers/GHTestMacros.h
File renamed without changes.
View
0 ...work/Versions/A/Headers/GHTestOperation.h → ...work/Versions/A/Headers/GHTestOperation.h
File renamed without changes.
View
0 ...amework/Versions/A/Headers/GHTestRunner.h → ...amework/Versions/A/Headers/GHTestRunner.h
File renamed without changes.
View
0 ...ramework/Versions/A/Headers/GHTestSuite.h → ...ramework/Versions/A/Headers/GHTestSuite.h
File renamed without changes.
View
0 ...work/Versions/A/Headers/GHTestViewModel.h → ...work/Versions/A/Headers/GHTestViewModel.h
File renamed without changes.
View
0 ....framework/Versions/A/Headers/GHTesting.h → ....framework/Versions/A/Headers/GHTesting.h
File renamed without changes.
View
0 ...IOS.framework/Versions/A/Headers/GHUnit.h → ...IOS.framework/Versions/A/Headers/GHUnit.h
File renamed without changes.
View
0 ...Versions/A/Headers/GHUnitIOSAppDelegate.h → ...Versions/A/Headers/GHUnitIOSAppDelegate.h
File renamed without changes.
View
0 .../A/Headers/GHUnitIOSTableViewDataSource.h → .../A/Headers/GHUnitIOSTableViewDataSource.h
File renamed without changes.
View
0 ...s/A/Headers/GHUnitIOSTestViewController.h → ...s/A/Headers/GHUnitIOSTestViewController.h
File renamed without changes.
View
0 ...mework/Versions/A/Headers/GHUnitIOSView.h → ...mework/Versions/A/Headers/GHUnitIOSView.h
File renamed without changes.
View
0 ...sions/A/Headers/GHUnitIOSViewController.h → ...sions/A/Headers/GHUnitIOSViewController.h
File renamed without changes.
View
0 ...sions/A/Headers/GHUnitIPhoneAppDelegate.h → ...sions/A/Headers/GHUnitIPhoneAppDelegate.h
File renamed without changes.
View
0 ...ers/NSException+GHTestFailureExceptions.h → ...ers/NSException+GHTestFailureExceptions.h
File renamed without changes.
View
0 ...ions/A/Headers/NSValue+GHValueFormatter.h → ...ions/A/Headers/NSValue+GHValueFormatter.h
File renamed without changes.
View
0 ...framework/Versions/A/Resources/Info.plist → ...framework/Versions/A/Resources/Info.plist
File renamed without changes.
View
0 ...orks/GHUnitIOS.framework/Versions/Current → ...-iOS/GHUnitIOS.framework/Versions/Current
File renamed without changes.
View
180 Examples/MyTestable-iOS/MainWindow.xib
@@ -1,180 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.02">
- <data>
- <int key="IBDocument.SystemTarget">528</int>
- <string key="IBDocument.SystemVersion">9E17</string>
- <string key="IBDocument.InterfaceBuilderVersion">672</string>
- <string key="IBDocument.AppKitVersion">949.33</string>
- <string key="IBDocument.HIToolboxVersion">352.00</string>
- <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="2"/>
- </object>
- <object class="NSArray" key="IBDocument.PluginDependencies">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- </object>
- <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBProxyObject" id="841351856">
- <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
- </object>
- <object class="IBProxyObject" id="427554174">
- <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
- </object>
- <object class="IBUICustomObject" id="664661524"/>
- <object class="IBUIWindow" id="380026005">
- <reference key="NSNextResponder"/>
- <int key="NSvFlags">1316</int>
- <object class="NSPSMatrix" key="NSFrameMatrix"/>
- <string key="NSFrameSize">{320, 480}</string>
- <reference key="NSSuperview"/>
- <object class="NSColor" key="IBUIBackgroundColor">
- <int key="NSColorSpace">1</int>
- <bytes key="NSRGB">MSAxIDEAA</bytes>
- </object>
- <bool key="IBUIOpaque">NO</bool>
- <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
- <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
- </object>
- </object>
- <object class="IBObjectContainer" key="IBDocument.Objects">
- <object class="NSMutableArray" key="connectionRecords">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBConnectionRecord">
- <object class="IBCocoaTouchOutletConnection" key="connection">
- <string key="label">delegate</string>
- <reference key="source" ref="841351856"/>
- <reference key="destination" ref="664661524"/>
- </object>
- <int key="connectionID">4</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBCocoaTouchOutletConnection" key="connection">
- <string key="label">window</string>
- <reference key="source" ref="664661524"/>
- <reference key="destination" ref="380026005"/>
- </object>
- <int key="connectionID">5</int>
- </object>
- </object>
- <object class="IBMutableOrderedSet" key="objectRecords">
- <object class="NSArray" key="orderedObjects">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBObjectRecord">
- <int key="objectID">0</int>
- <object class="NSArray" key="object" id="957960031">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- <reference key="children" ref="1000"/>
- <nil key="parent"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">2</int>
- <reference key="object" ref="380026005"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- <reference key="parent" ref="957960031"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-1</int>
- <reference key="object" ref="841351856"/>
- <reference key="parent" ref="957960031"/>
- <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">3</int>
- <reference key="object" ref="664661524"/>
- <reference key="parent" ref="957960031"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-2</int>
- <reference key="object" ref="427554174"/>
- <reference key="parent" ref="957960031"/>
- </object>
- </object>
- </object>
- <object class="NSMutableDictionary" key="flattenedProperties">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMutableArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>-1.CustomClassName</string>
- <string>-2.CustomClassName</string>
- <string>2.IBAttributePlaceholdersKey</string>
- <string>2.IBEditorWindowLastContentRect</string>
- <string>2.IBPluginDependency</string>
- <string>3.CustomClassName</string>
- <string>3.IBPluginDependency</string>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>UIApplication</string>
- <string>UIResponder</string>
- <object class="NSMutableDictionary">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- </object>
- <string>{{438, 320}, {320, 480}}</string>
- <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string>MyTestableAppDelegate</string>
- <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- </object>
- </object>
- <object class="NSMutableDictionary" key="unlocalizedProperties">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- </object>
- <nil key="activeLocalization"/>
- <object class="NSMutableDictionary" key="localizations">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- </object>
- <nil key="sourceID"/>
- <int key="maxID">9</int>
- </object>
- <object class="IBClassDescriber" key="IBDocument.Classes">
- <object class="NSMutableArray" key="referencedPartialClassDescriptions">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBPartialClassDescription">
- <string key="className">MyTestableAppDelegate</string>
- <string key="superclassName">NSObject</string>
- <object class="NSMutableDictionary" key="outlets">
- <string key="NS.key.0">window</string>
- <string key="NS.object.0">UIWindow</string>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Classes/MyTestableAppDelegate.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">MyTestableAppDelegate</string>
- <string key="superclassName">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBUserSource</string>
- <string key="minorKey"/>
- </object>
- </object>
- </object>
- </object>
- <int key="IBDocument.localizationMode">0</int>
- <string key="IBDocument.LastKnownRelativeProjectPath">MyTestable.xcodeproj</string>
- <int key="IBDocument.defaultPropertyAccessControl">3</int>
- </data>
-</archive>
View
8 Examples/MyTestable-iOS/Makefile
@@ -1,13 +1,11 @@
default:
- # Set default target here
+ #Set default make action here
+ # xcodebuild -target Tests -configuration MyMainTarget -sdk iphonesimulator build
-# If you need to clean a specific target/configuration: $(COMMAND) -target $(TARGET) -configuration DebugOrRelease -sdk $(SDK) clean
clean:
-rm -rf build/*
test:
- GHUNIT_CLI=1 xcodebuild -target Tests -configuration Debug -sdk iphonesimulator build
+ GHUNIT_CLI=1 xcodebuild -target Tests -configuration Debug -sdk iphonesimulator build
-test-ui:
- GHUNIT_AUTORUN=1 GHUNIT_AUTOEXIT=1 GHUNIT_IPHONE_SIMULATOR=1 xcodebuild -target Tests -configuration Debug -sdk iphonesimulator build
View
441 Examples/MyTestable-iOS/MyTestable.xcodeproj/project.pbxproj 100755 → 100644
@@ -3,208 +3,259 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 45;
+ objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
- 002D9D4A0F49181E007932FE /* MyTestableAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* MyTestableAppDelegate.m */; };
- 002D9D4E0F4918F1007932FE /* MyTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 002D9D4D0F4918F1007932FE /* MyTest.m */; };
- 0036D41313C2A91A00F06A71 /* GHUnitIOSTestMain.m in Sources */ = {isa = PBXBuildFile; fileRef = 0036D41213C2A91A00F06A71 /* GHUnitIOSTestMain.m */; };
- 0090D65513C2A60700C25A92 /* GHUnitIOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0090D65413C2A60700C25A92 /* GHUnitIOS.framework */; };
- 00F1D9FC135C0B02001E7961 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00F1D9FB135C0B02001E7961 /* CoreGraphics.framework */; };
- 1D3623260D0F684500981E51 /* MyTestableAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* MyTestableAppDelegate.m */; };
- 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; };
+ 007F25E713D27C680023DEA7 /* GHUnitIOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 007F25E613D27C680023DEA7 /* GHUnitIOS.framework */; };
+ 007F25EB13D280D30023DEA7 /* MyTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 007F25EA13D280D30023DEA7 /* MyTest.m */; };
+ 00AEE3AB13D27AE9000CD90E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00AEE3AA13D27AE9000CD90E /* UIKit.framework */; };
+ 00AEE3AD13D27AE9000CD90E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00AEE3AC13D27AE9000CD90E /* Foundation.framework */; };
+ 00AEE3AF13D27AE9000CD90E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00AEE3AE13D27AE9000CD90E /* CoreGraphics.framework */; };
+ 00AEE3B513D27AE9000CD90E /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 00AEE3B313D27AE9000CD90E /* InfoPlist.strings */; };
+ 00AEE3B813D27AE9000CD90E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AEE3B713D27AE9000CD90E /* main.m */; };
+ 00AEE3BB13D27AE9000CD90E /* MyTestableAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AEE3BA13D27AE9000CD90E /* MyTestableAppDelegate.m */; };
+ 00AEE3BF13D27AE9000CD90E /* MyTestableAppDelegate_iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AEE3BE13D27AE9000CD90E /* MyTestableAppDelegate_iPhone.m */; };
+ 00AEE3C213D27AE9000CD90E /* MainWindow_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 00AEE3C013D27AE9000CD90E /* MainWindow_iPhone.xib */; };
+ 00AEE3C613D27AE9000CD90E /* MyTestableAppDelegate_iPad.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AEE3C513D27AE9000CD90E /* MyTestableAppDelegate_iPad.m */; };
+ 00AEE3C913D27AE9000CD90E /* MainWindow_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 00AEE3C713D27AE9000CD90E /* MainWindow_iPad.xib */; };
+ 00AEE3DD13D27B33000CD90E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00AEE3AA13D27AE9000CD90E /* UIKit.framework */; };
+ 00AEE3DE13D27B33000CD90E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00AEE3AC13D27AE9000CD90E /* Foundation.framework */; };
+ 00AEE3DF13D27B33000CD90E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 00AEE3AE13D27AE9000CD90E /* CoreGraphics.framework */; };
+ 00AEE3E513D27B33000CD90E /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 00AEE3E313D27B33000CD90E /* InfoPlist.strings */; };
+ 00AEE3E813D27B33000CD90E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AEE3E713D27B33000CD90E /* main.m */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
- 002D9D030F49177B007932FE /* Tests.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Tests.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 002D9D050F49177B007932FE /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = "<group>"; };
- 002D9D4D0F4918F1007932FE /* MyTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyTest.m; sourceTree = "<group>"; };
- 0036D41213C2A91A00F06A71 /* GHUnitIOSTestMain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GHUnitIOSTestMain.m; path = "../../../Project-iOS/GHUnitIOSTestMain.m"; sourceTree = "<group>"; };
- 0036D41413C2A92900F06A71 /* RunTests.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = RunTests.sh; path = ../../Scripts/RunTests.sh; sourceTree = "<group>"; };
- 0090D65413C2A60700C25A92 /* GHUnitIOS.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GHUnitIOS.framework; sourceTree = "<group>"; };
- 00CDDE300F7703B40089C60E /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
- 00F1D9FB135C0B02001E7961 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
- 1D3623240D0F684500981E51 /* MyTestableAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyTestableAppDelegate.h; sourceTree = "<group>"; };
- 1D3623250D0F684500981E51 /* MyTestableAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyTestableAppDelegate.m; sourceTree = "<group>"; };
- 1D6058910D05DD3D006BFB54 /* MyTestable.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MyTestable.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
- 32CA4F630368D1EE00C91783 /* MyTestable_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyTestable_Prefix.pch; sourceTree = "<group>"; };
- 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+ 007F25E613D27C680023DEA7 /* GHUnitIOS.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GHUnitIOS.framework; sourceTree = "<group>"; };
+ 007F25EA13D280D30023DEA7 /* MyTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyTest.m; sourceTree = "<group>"; };
+ 007F25EC13D281FD0023DEA7 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
+ 00AEE3A613D27AE9000CD90E /* MyTestable.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MyTestable.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 00AEE3AA13D27AE9000CD90E /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ 00AEE3AC13D27AE9000CD90E /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ 00AEE3AE13D27AE9000CD90E /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ 00AEE3B213D27AE9000CD90E /* MyTestable-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MyTestable-Info.plist"; sourceTree = "<group>"; };
+ 00AEE3B413D27AE9000CD90E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 00AEE3B613D27AE9000CD90E /* MyTestable-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MyTestable-Prefix.pch"; sourceTree = "<group>"; };
+ 00AEE3B713D27AE9000CD90E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ 00AEE3B913D27AE9000CD90E /* MyTestableAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyTestableAppDelegate.h; sourceTree = "<group>"; };
+ 00AEE3BA13D27AE9000CD90E /* MyTestableAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyTestableAppDelegate.m; sourceTree = "<group>"; };
+ 00AEE3BD13D27AE9000CD90E /* MyTestableAppDelegate_iPhone.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MyTestableAppDelegate_iPhone.h; path = iPhone/MyTestableAppDelegate_iPhone.h; sourceTree = "<group>"; };
+ 00AEE3BE13D27AE9000CD90E /* MyTestableAppDelegate_iPhone.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = MyTestableAppDelegate_iPhone.m; path = iPhone/MyTestableAppDelegate_iPhone.m; sourceTree = "<group>"; };
+ 00AEE3C113D27AE9000CD90E /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = iPhone/en.lproj/MainWindow_iPhone.xib; sourceTree = "<group>"; };
+ 00AEE3C413D27AE9000CD90E /* MyTestableAppDelegate_iPad.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MyTestableAppDelegate_iPad.h; path = iPad/MyTestableAppDelegate_iPad.h; sourceTree = "<group>"; };
+ 00AEE3C513D27AE9000CD90E /* MyTestableAppDelegate_iPad.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = MyTestableAppDelegate_iPad.m; path = iPad/MyTestableAppDelegate_iPad.m; sourceTree = "<group>"; };
+ 00AEE3C813D27AE9000CD90E /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = iPad/en.lproj/MainWindow_iPad.xib; sourceTree = "<group>"; };
+ 00AEE3DB13D27B33000CD90E /* Tests.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Tests.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 00AEE3E213D27B33000CD90E /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = "<group>"; };
+ 00AEE3E413D27B33000CD90E /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 00AEE3E613D27B33000CD90E /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = "<group>"; };
+ 00AEE3E713D27B33000CD90E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
- 002D9D010F49177B007932FE /* Frameworks */ = {
+ 00AEE3A313D27AE9000CD90E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 00F1D9FC135C0B02001E7961 /* CoreGraphics.framework in Frameworks */,
- 0090D65513C2A60700C25A92 /* GHUnitIOS.framework in Frameworks */,
+ 00AEE3AB13D27AE9000CD90E /* UIKit.framework in Frameworks */,
+ 00AEE3AD13D27AE9000CD90E /* Foundation.framework in Frameworks */,
+ 00AEE3AF13D27AE9000CD90E /* CoreGraphics.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- 1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
+ 00AEE3D813D27B33000CD90E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 00AEE3DD13D27B33000CD90E /* UIKit.framework in Frameworks */,
+ 00AEE3DE13D27B33000CD90E /* Foundation.framework in Frameworks */,
+ 00AEE3DF13D27B33000CD90E /* CoreGraphics.framework in Frameworks */,
+ 007F25E713D27C680023DEA7 /* GHUnitIOS.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 002D9D4B0F4918E5007932FE /* Tests */ = {
+ 00AEE39B13D27AE9000CD90E = {
isa = PBXGroup;
children = (
- 0036D41213C2A91A00F06A71 /* GHUnitIOSTestMain.m */,
- 002D9D4D0F4918F1007932FE /* MyTest.m */,
+ 007F25EC13D281FD0023DEA7 /* Makefile */,
+ 00AEE3B013D27AE9000CD90E /* MyTestable */,
+ 00AEE3E013D27B33000CD90E /* Tests */,
+ 00AEE3A913D27AE9000CD90E /* Frameworks */,
+ 00AEE3A713D27AE9000CD90E /* Products */,
);
- path = Tests;
sourceTree = "<group>";
};
- 0090D65313C2A60700C25A92 /* Frameworks */ = {
+ 00AEE3A713D27AE9000CD90E /* Products */ = {
isa = PBXGroup;
children = (
- 0090D65413C2A60700C25A92 /* GHUnitIOS.framework */,
+ 00AEE3A613D27AE9000CD90E /* MyTestable.app */,
+ 00AEE3DB13D27B33000CD90E /* Tests.app */,
);
- path = Frameworks;
+ name = Products;
sourceTree = "<group>";
};
- 080E96DDFE201D6D7F000001 /* Classes */ = {
+ 00AEE3A913D27AE9000CD90E /* Frameworks */ = {
isa = PBXGroup;
children = (
- 1D3623240D0F684500981E51 /* MyTestableAppDelegate.h */,
- 1D3623250D0F684500981E51 /* MyTestableAppDelegate.m */,
+ 007F25E613D27C680023DEA7 /* GHUnitIOS.framework */,
+ 00AEE3AA13D27AE9000CD90E /* UIKit.framework */,
+ 00AEE3AC13D27AE9000CD90E /* Foundation.framework */,
+ 00AEE3AE13D27AE9000CD90E /* CoreGraphics.framework */,
);
- path = Classes;
+ name = Frameworks;
sourceTree = "<group>";
};
- 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ 00AEE3B013D27AE9000CD90E /* MyTestable */ = {
isa = PBXGroup;
children = (
- 1D6058910D05DD3D006BFB54 /* MyTestable.app */,
- 002D9D030F49177B007932FE /* Tests.app */,
+ 00AEE3B913D27AE9000CD90E /* MyTestableAppDelegate.h */,
+ 00AEE3BA13D27AE9000CD90E /* MyTestableAppDelegate.m */,
+ 00AEE3BC13D27AE9000CD90E /* iPhone */,
+ 00AEE3C313D27AE9000CD90E /* iPad */,
+ 00AEE3B113D27AE9000CD90E /* Supporting Files */,
);
- name = Products;
+ path = MyTestable;
+ sourceTree = "<group>";
+ };
+ 00AEE3B113D27AE9000CD90E /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 00AEE3B213D27AE9000CD90E /* MyTestable-Info.plist */,
+ 00AEE3B313D27AE9000CD90E /* InfoPlist.strings */,
+ 00AEE3B613D27AE9000CD90E /* MyTestable-Prefix.pch */,
+ 00AEE3B713D27AE9000CD90E /* main.m */,
+ );
+ name = "Supporting Files";
sourceTree = "<group>";
};
- 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
+ 00AEE3BC13D27AE9000CD90E /* iPhone */ = {
isa = PBXGroup;
children = (
- 00CDDE300F7703B40089C60E /* Makefile */,
- 080E96DDFE201D6D7F000001 /* Classes */,
- 0090D65313C2A60700C25A92 /* Frameworks */,
- 002D9D4B0F4918E5007932FE /* Tests */,
- 29B97315FDCFA39411CA2CEA /* Other Sources */,
- 29B97317FDCFA39411CA2CEA /* Resources */,
- 19C28FACFE9D520D11CA2CBB /* Products */,
- 002D9D050F49177B007932FE /* Tests-Info.plist */,
- 00F1D9FB135C0B02001E7961 /* CoreGraphics.framework */,
- );
- name = CustomTemplate;
+ 00AEE3BD13D27AE9000CD90E /* MyTestableAppDelegate_iPhone.h */,
+ 00AEE3BE13D27AE9000CD90E /* MyTestableAppDelegate_iPhone.m */,
+ 00AEE3C013D27AE9000CD90E /* MainWindow_iPhone.xib */,
+ );
+ name = iPhone;
sourceTree = "<group>";
};
- 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ 00AEE3C313D27AE9000CD90E /* iPad */ = {
isa = PBXGroup;
children = (
- 0036D41413C2A92900F06A71 /* RunTests.sh */,
- 32CA4F630368D1EE00C91783 /* MyTestable_Prefix.pch */,
+ 00AEE3C413D27AE9000CD90E /* MyTestableAppDelegate_iPad.h */,
+ 00AEE3C513D27AE9000CD90E /* MyTestableAppDelegate_iPad.m */,
+ 00AEE3C713D27AE9000CD90E /* MainWindow_iPad.xib */,
);
- name = "Other Sources";
+ name = iPad;
sourceTree = "<group>";
};
- 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ 00AEE3E013D27B33000CD90E /* Tests */ = {
isa = PBXGroup;
children = (
- 28AD733E0D9D9553002E5188 /* MainWindow.xib */,
- 8D1107310486CEB800E47090 /* Info.plist */,
+ 00AEE3E113D27B33000CD90E /* Supporting Files */,
+ 007F25EA13D280D30023DEA7 /* MyTest.m */,
);
- name = Resources;
+ path = Tests;
+ sourceTree = "<group>";
+ };
+ 00AEE3E113D27B33000CD90E /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 00AEE3E213D27B33000CD90E /* Tests-Info.plist */,
+ 00AEE3E313D27B33000CD90E /* InfoPlist.strings */,
+ 00AEE3E613D27B33000CD90E /* Tests-Prefix.pch */,
+ 00AEE3E713D27B33000CD90E /* main.m */,
+ );
+ name = "Supporting Files";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
- 002D9D020F49177B007932FE /* Tests */ = {
+ 00AEE3A513D27AE9000CD90E /* MyTestable */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 002D9D080F49177C007932FE /* Build configuration list for PBXNativeTarget "Tests" */;
+ buildConfigurationList = 00AEE3CC13D27AE9000CD90E /* Build configuration list for PBXNativeTarget "MyTestable" */;
buildPhases = (
- 002D9CFF0F49177B007932FE /* Resources */,
- 002D9D000F49177B007932FE /* Sources */,
- 002D9D010F49177B007932FE /* Frameworks */,
- 008040971290ACC50033DA60 /* ShellScript */,
+ 00AEE3A213D27AE9000CD90E /* Sources */,
+ 00AEE3A313D27AE9000CD90E /* Frameworks */,
+ 00AEE3A413D27AE9000CD90E /* Resources */,
);
buildRules = (
);
dependencies = (
);
- name = Tests;
- productName = Tests;
- productReference = 002D9D030F49177B007932FE /* Tests.app */;
+ name = MyTestable;
+ productName = MyTestable;
+ productReference = 00AEE3A613D27AE9000CD90E /* MyTestable.app */;
productType = "com.apple.product-type.application";
};
- 1D6058900D05DD3D006BFB54 /* MyTestable */ = {
+ 00AEE3DA13D27B33000CD90E /* Tests */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "MyTestable" */;
+ buildConfigurationList = 00AEE3FC13D27B33000CD90E /* Build configuration list for PBXNativeTarget "Tests" */;
buildPhases = (
- 1D60588D0D05DD3D006BFB54 /* Resources */,
- 1D60588E0D05DD3D006BFB54 /* Sources */,
- 1D60588F0D05DD3D006BFB54 /* Frameworks */,
+ 00AEE3D713D27B33000CD90E /* Sources */,
+ 00AEE3D813D27B33000CD90E /* Frameworks */,
+ 00AEE3D913D27B33000CD90E /* Resources */,
+ 007F25EE13D283960023DEA7 /* ShellScript */,
);
buildRules = (
);
dependencies = (
);
- name = MyTestable;
- productName = MyTestable;
- productReference = 1D6058910D05DD3D006BFB54 /* MyTestable.app */;
+ name = Tests;
+ productName = Tests;
+ productReference = 00AEE3DB13D27B33000CD90E /* Tests.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
- 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ 00AEE39D13D27AE9000CD90E /* Project object */ = {
isa = PBXProject;
- buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MyTestable" */;
- compatibilityVersion = "Xcode 3.1";
+ buildConfigurationList = 00AEE3A013D27AE9000CD90E /* Build configuration list for PBXProject "MyTestable" */;
+ compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
- hasScannedForEncodings = 1;
+ hasScannedForEncodings = 0;
knownRegions = (
- English,
- Japanese,
- French,
- German,
+ en,
);
- mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
+ mainGroup = 00AEE39B13D27AE9000CD90E;
+ productRefGroup = 00AEE3A713D27AE9000CD90E /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
- 1D6058900D05DD3D006BFB54 /* MyTestable */,
- 002D9D020F49177B007932FE /* Tests */,
+ 00AEE3A513D27AE9000CD90E /* MyTestable */,
+ 00AEE3DA13D27B33000CD90E /* Tests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
- 002D9CFF0F49177B007932FE /* Resources */ = {
+ 00AEE3A413D27AE9000CD90E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 00AEE3B513D27AE9000CD90E /* InfoPlist.strings in Resources */,
+ 00AEE3C213D27AE9000CD90E /* MainWindow_iPhone.xib in Resources */,
+ 00AEE3C913D27AE9000CD90E /* MainWindow_iPad.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- 1D60588D0D05DD3D006BFB54 /* Resources */ = {
+ 00AEE3D913D27B33000CD90E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,
+ 00AEE3E513D27B33000CD90E /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
- 008040971290ACC50033DA60 /* ShellScript */ = {
+ 007F25EE13D283960023DEA7 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -221,165 +272,203 @@
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
- 002D9D000F49177B007932FE /* Sources */ = {
+ 00AEE3A213D27AE9000CD90E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 002D9D4A0F49181E007932FE /* MyTestableAppDelegate.m in Sources */,
- 002D9D4E0F4918F1007932FE /* MyTest.m in Sources */,
- 0036D41313C2A91A00F06A71 /* GHUnitIOSTestMain.m in Sources */,
+ 00AEE3B813D27AE9000CD90E /* main.m in Sources */,
+ 00AEE3BB13D27AE9000CD90E /* MyTestableAppDelegate.m in Sources */,
+ 00AEE3BF13D27AE9000CD90E /* MyTestableAppDelegate_iPhone.m in Sources */,
+ 00AEE3C613D27AE9000CD90E /* MyTestableAppDelegate_iPad.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- 1D60588E0D05DD3D006BFB54 /* Sources */ = {
+ 00AEE3D713D27B33000CD90E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 1D3623260D0F684500981E51 /* MyTestableAppDelegate.m in Sources */,
+ 00AEE3E813D27B33000CD90E /* main.m in Sources */,
+ 007F25EB13D280D30023DEA7 /* MyTest.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
+/* Begin PBXVariantGroup section */
+ 00AEE3B313D27AE9000CD90E /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 00AEE3B413D27AE9000CD90E /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ 00AEE3C013D27AE9000CD90E /* MainWindow_iPhone.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 00AEE3C113D27AE9000CD90E /* en */,
+ );
+ name = MainWindow_iPhone.xib;
+ sourceTree = "<group>";
+ };
+ 00AEE3C713D27AE9000CD90E /* MainWindow_iPad.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 00AEE3C813D27AE9000CD90E /* en */,
+ );
+ name = MainWindow_iPad.xib;
+ sourceTree = "<group>";
+ };
+ 00AEE3E313D27B33000CD90E /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 00AEE3E413D27B33000CD90E /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
/* Begin XCBuildConfiguration section */
- 002D9D060F49177B007932FE /* Debug */ = {
+ 00AEE3CA13D27AE9000CD90E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CODE_SIGN_IDENTITY = "Don't Code Sign";
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Don't Code Sign";
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- "\"$(SRCROOT)/Libraries\"",
- "\"$(SRCROOT)/Frameworks\"",
- );
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/UIKit.framework/Headers/UIKit.h";
- INFOPLIST_FILE = "Tests-Info.plist";
- OTHER_LDFLAGS = (
- "-framework",
- Foundation,
- "-framework",
- UIKit,
- "-all_load",
- "-ObjC",
- );
- PRODUCT_NAME = Tests;
- PROVISIONING_PROFILE = "";
- "PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
+ GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.3;
SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
- 002D9D070F49177B007932FE /* Release */ = {
+ 00AEE3CB13D27AE9000CD90E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CODE_SIGN_IDENTITY = "Don't Code Sign";
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Don't Code Sign";
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- "\"$(SRCROOT)/Libraries\"",
- "\"$(SRCROOT)/Frameworks\"",
- );
- GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/UIKit.framework/Headers/UIKit.h";
- INFOPLIST_FILE = "Tests-Info.plist";
- OTHER_LDFLAGS = (
- "-framework",
- Foundation,
- "-framework",
- UIKit,
- "-all_load",
- "-ObjC",
- );
- PRODUCT_NAME = Tests;
- PROVISIONING_PROFILE = "";
- "PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.3;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
- 1D6058940D05DD3E006BFB54 /* Debug */ = {
+ 00AEE3CD13D27AE9000CD90E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
- GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = MyTestable_Prefix.pch;
- INFOPLIST_FILE = Info.plist;
- PRODUCT_NAME = MyTestable;
- SDKROOT = iphoneos;
+ GCC_PREFIX_HEADER = "MyTestable/MyTestable-Prefix.pch";
+ INFOPLIST_FILE = "MyTestable/MyTestable-Info.plist";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
};
name = Debug;
};
- 1D6058950D05DD3E006BFB54 /* Release */ = {
+ 00AEE3CE13D27AE9000CD90E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = MyTestable_Prefix.pch;
- INFOPLIST_FILE = Info.plist;
- PRODUCT_NAME = MyTestable;
- SDKROOT = iphoneos;
+ GCC_PREFIX_HEADER = "MyTestable/MyTestable-Prefix.pch";
+ INFOPLIST_FILE = "MyTestable/MyTestable-Info.plist";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
};
name = Release;
};
- C01FCF4F08A954540054247B /* Debug */ = {
+ 00AEE3FA13D27B33000CD90E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ ALWAYS_SEARCH_USER_PATHS = NO;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- GCC_C_LANGUAGE_STANDARD = c99;
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- ONLY_ACTIVE_ARCH = YES;
- PREBINDING = NO;
+ COPY_PHASE_STRIP = NO;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)\"",
+ );
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
+ INFOPLIST_FILE = "Tests/Tests-Info.plist";
+ OTHER_LDFLAGS = (
+ "-ObjC",
+ "-all_load",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
};
name = Debug;
};
- C01FCF5008A954540054247B /* Release */ = {
+ 00AEE3FB13D27B33000CD90E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ ALWAYS_SEARCH_USER_PATHS = NO;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- GCC_C_LANGUAGE_STANDARD = c99;
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- PREBINDING = NO;
+ COPY_PHASE_STRIP = YES;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)\"",
+ );
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
+ INFOPLIST_FILE = "Tests/Tests-Info.plist";
+ OTHER_LDFLAGS = (
+ "-ObjC",
+ "-all_load",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 002D9D080F49177C007932FE /* Build configuration list for PBXNativeTarget "Tests" */ = {
+ 00AEE3A013D27AE9000CD90E /* Build configuration list for PBXProject "MyTestable" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 002D9D060F49177B007932FE /* Debug */,
- 002D9D070F49177B007932FE /* Release */,
+ 00AEE3CA13D27AE9000CD90E /* Debug */,
+ 00AEE3CB13D27AE9000CD90E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "MyTestable" */ = {
+ 00AEE3CC13D27AE9000CD90E /* Build configuration list for PBXNativeTarget "MyTestable" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 1D6058940D05DD3E006BFB54 /* Debug */,
- 1D6058950D05DD3E006BFB54 /* Release */,
+ 00AEE3CD13D27AE9000CD90E /* Debug */,
+ 00AEE3CE13D27AE9000CD90E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MyTestable" */ = {
+ 00AEE3FC13D27B33000CD90E /* Build configuration list for PBXNativeTarget "Tests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- C01FCF4F08A954540054247B /* Debug */,
- C01FCF5008A954540054247B /* Release */,
+ 00AEE3FA13D27B33000CD90E /* Debug */,
+ 00AEE3FB13D27B33000CD90E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
- rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+ rootObject = 00AEE39D13D27AE9000CD90E /* Project object */;
}
View
47 Examples/MyTestable-iOS/MyTestable/MyTestable-Info.plist
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>me.rel.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>NSMainNibFile</key>
+ <string>MainWindow_iPhone</string>
+ <key>NSMainNibFile~ipad</key>
+ <string>MainWindow_iPad</string>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>UISupportedInterfaceOrientations~ipad</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+</dict>
+</plist>
View
14 Examples/MyTestable-iOS/MyTestable/MyTestable-Prefix.pch
@@ -0,0 +1,14 @@
+//
+// Prefix header for all source files of the 'MyTestable' target in the 'MyTestable' project
+//
+
+#import <Availability.h>
+
+#ifndef __IPHONE_3_0
+#warning "This project uses features only available in iPhone SDK 3.0 and later."
+#endif
+
+#ifdef __OBJC__
+ #import <UIKit/UIKit.h>
+ #import <Foundation/Foundation.h>
+#endif
View
7 ...table-iOS/Classes/MyTestableAppDelegate.h → ...le-iOS/MyTestable/MyTestableAppDelegate.h
@@ -2,17 +2,16 @@
// MyTestableAppDelegate.h
// MyTestable
//
-// Created by Gabriel Handford on 2/15/09.
-// Copyright 2009. All rights reserved.
+// Created by Gabriel Handford on 7/16/11.
+// Copyright 2011 __MyCompanyName__. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface MyTestableAppDelegate : NSObject <UIApplicationDelegate> {
- UIWindow *window_;
+
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@end
-
View
68 Examples/MyTestable-iOS/MyTestable/MyTestableAppDelegate.m
@@ -0,0 +1,68 @@
+//
+// MyTestableAppDelegate.m
+// MyTestable
+//
+// Created by Gabriel Handford on 7/16/11.
+// Copyright 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import "MyTestableAppDelegate.h"
+
+@implementation MyTestableAppDelegate
+
+
+@synthesize window=_window;
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+ // Override point for customization after application launch.
+ [self.window makeKeyAndVisible];
+ return YES;
+}
+
+- (void)applicationWillResignActive:(UIApplication *)application
+{
+ /*
+ Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+ Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+ */
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application
+{
+ /*
+ Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+ If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+ */
+}
+
+- (void)applicationWillEnterForeground:(UIApplication *)application
+{
+ /*
+ Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+ */
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application
+{
+ /*
+ Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+ */
+}
+
+- (void)applicationWillTerminate:(UIApplication *)application
+{
+ /*
+ Called when the application is about to terminate.
+ Save data if appropriate.
+ See also applicationDidEnterBackground:.
+ */
+}
+
+- (void)dealloc
+{
+ [_window release];
+ [super dealloc];
+}
+
+@end
View
2 Examples/MyTestable-iOS/MyTestable/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
View
16 Examples/MyTestable-iOS/MyTestable/iPad/MyTestableAppDelegate_iPad.h
@@ -0,0 +1,16 @@
+//
+// MyTestableAppDelegate_iPad.h
+// MyTestable
+//
+// Created by Gabriel Handford on 7/16/11.
+// Copyright 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "MyTestableAppDelegate.h"
+
+@interface MyTestableAppDelegate_iPad : MyTestableAppDelegate {
+
+}
+
+@end
View
18 Examples/MyTestable-iOS/MyTestable/iPad/MyTestableAppDelegate_iPad.m
@@ -0,0 +1,18 @@
+//
+// MyTestableAppDelegate_iPad.m
+// MyTestable
+//
+// Created by Gabriel Handford on 7/16/11.
+// Copyright 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import "MyTestableAppDelegate_iPad.h"
+
+@implementation MyTestableAppDelegate_iPad
+
+- (void)dealloc
+{
+ [super dealloc];
+}
+
+@end
View
362 Examples/MyTestable-iOS/MyTestable/iPad/en.lproj/MainWindow_iPad.xib
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1024</int>
+ <string key="IBDocument.SystemVersion">10D573</string>
+ <string key="IBDocument.InterfaceBuilderVersion">786</string>
+ <string key="IBDocument.AppKitVersion">1038.29</string>
+ <string key="IBDocument.HIToolboxVersion">460.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">112</string>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <integer value="2"/>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="841351856">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBIPadFramework</string>
+ </object>
+ <object class="IBProxyObject" id="606714003">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBIPadFramework</string>
+ </object>
+ <object class="IBUIWindow" id="62075450">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">292</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUILabel" id="348798989">
+ <reference key="NSNextResponder" ref="62075450"/>
+ <int key="NSvFlags">301</int>
+ <string key="NSFrame">{{284, 501}, {200, 22}}</string>
+ <reference key="NSSuperview" ref="62075450"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">7</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBIPadFramework</string>
+ <string key="IBUIText">My Universal App on iPad</string>
+ <object class="NSColor" key="IBUITextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MCAwIDAAA</bytes>
+ </object>
+ <nil key="IBUIHighlightedColor"/>
+ <int key="IBUIBaselineAdjustment">1</int>
+ <float key="IBUIMinimumFontSize">10</float>
+ </object>
+ </object>
+ <string key="NSFrameSize">{768, 1024}</string>
+ <reference key="NSSuperview"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MSAxIDEAA</bytes>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
+ <int key="IBUIStatusBarStyle">2</int>
+ </object>
+ <string key="targetRuntimeIdentifier">IBIPadFramework</string>
+ <bool key="IBUIResizesToFullScreen">YES</bool>
+ </object>
+ <object class="IBUICustomObject" id="250404236">
+ <string key="targetRuntimeIdentifier">IBIPadFramework</string>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="250404236"/>
+ <reference key="destination" ref="62075450"/>
+ </object>
+ <int key="connectionID">7</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="841351856"/>
+ <reference key="destination" ref="250404236"/>
+ </object>
+ <int key="connectionID">8</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <reference key="object" ref="0"/>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="841351856"/>
+ <reference key="parent" ref="0"/>
+ <string key="objectName">File's Owner</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="606714003"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2</int>
+ <reference key="object" ref="62075450"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="348798989"/>
+ </object>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">6</int>
+ <reference key="object" ref="250404236"/>
+ <reference key="parent" ref="0"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">11</int>
+ <reference key="object" ref="348798989"/>
+ <reference key="parent" ref="62075450"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.CustomClassName</string>
+ <string>-2.CustomClassName</string>
+ <string>11.IBPluginDependency</string>
+ <string>2.IBEditorWindowLastContentRect</string>
+ <string>2.IBPluginDependency</string>
+ <string>6.CustomClassName</string>
+ <string>6.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>UIApplication</string>
+ <string>UIResponder</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>{{202, 84}, {783, 772}}</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string>MyTestableAppDelegate_iPad</string>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference key="dict.sortedKeys" ref="0"/>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">11</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">MyTestableAppDelegate</string>
+ <string key="superclassName">NSObject</string>
+ <object class="NSMutableDictionary" key="outlets">
+ <string key="NS.key.0">window</string>
+ <string key="NS.object.0">UIWindow</string>
+ </object>
+ <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+ <string key="NS.key.0">window</string>
+ <object class="IBToOneOutletInfo" key="NS.object.0">
+ <string key="name">window</string>
+ <string key="candidateClassName">UIWindow</string>
+ </object>
+ </object>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">Shared/MyTestableAppDelegate.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">MyTestableAppDelegate_iPad</string>
+ <string key="superclassName">MyTestableAppDelegate</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">iPad/MyTestableAppDelegate_iPad.h</string>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier" id="786211723">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIApplication</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIApplication.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIResponder</string>
+ <string key="superclassName">NSObject</string>
+ <reference key="sourceIdentifier" ref="786211723"/>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UITextField.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIView</string>
+ <string key="superclassName">UIResponder</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIView.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">UIWindow</string>
+ <string key="superclassName">UIView</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBFrameworkSource</string>
+ <string key="minorKey">UIKit.framework/Headers/UIWindow.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
+ <integer value="1024" key="NS.object.0"/>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
+ <integer value="3100" key="NS.object.0"/>
+ </object>
+ <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
+ <string key="IBDocument.LastKnownRelativeProjectPath">../MyTestable.xcodeproj</string>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ <string key="IBCocoaTouchPluginVersion">112</string>
+ </data>
+</archive>
View
16 Examples/MyTestable-iOS/MyTestable/iPhone/MyTestableAppDelegate_iPhone.h
@@ -0,0 +1,16 @@
+//
+// MyTestableAppDelegate_iPhone.h
+// MyTestable
+//
+// Created by Gabriel Handford on 7/16/11.
+// Copyright 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "MyTestableAppDelegate.h"
+
+@interface MyTestableAppDelegate_iPhone : MyTestableAppDelegate {
+
+}
+
+@end
View
18 Examples/MyTestable-iOS/MyTestable/iPhone/MyTestableAppDelegate_iPhone.m
@@ -0,0 +1,18 @@
+//
+// MyTestableAppDelegate_iPhone.m
+// MyTestable
+//
+// Created by Gabriel Handford on 7/16/11.
+// Copyright 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import "MyTestableAppDelegate_iPhone.h"
+
+@implementation MyTestableAppDelegate_iPhone
+
+- (void)dealloc
+{
+ [super dealloc];
+}
+
+@end
View
372 Examples/MyTestable-iOS/MyTestable/iPhone/en.lproj/MainWindow_iPhone.xib
@@ -0,0 +1,372 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
+ <data>
+ <int key="IBDocument.SystemTarget">1024</int>
+ <string key="IBDocument.SystemVersion">10D573</string>
+ <string key="IBDocument.InterfaceBuilderVersion">786</string>
+ <string key="IBDocument.AppKitVersion">1038.29</string>
+ <string key="IBDocument.HIToolboxVersion">460.00</string>
+ <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+ <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ <string key="NS.object.0">112</string>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <integer value="2"/>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+ </object>
+ <object class="NSMutableDictionary" key="IBDocument.Metadata">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys" id="0">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBProxyObject" id="841351856">
+ <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBProxyObject" id="450319686">
+ <string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUICustomObject" id="987256611">
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ </object>
+ <object class="IBUIWindow" id="380026005">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">1316</int>
+ <object class="NSMutableArray" key="NSSubviews">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBUILabel" id="723173800">
+ <reference key="NSNextResponder" ref="380026005"/>
+ <int key="NSvFlags">1325</int>
+ <string key="NSFrame">{{51, 229}, {218, 22}}</string>
+ <reference key="NSSuperview" ref="380026005"/>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClipsSubviews">YES</bool>
+ <int key="IBUIContentMode">7</int>
+ <bool key="IBUIUserInteractionEnabled">NO</bool>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <string key="IBUIText">My Universal App on iPhone</string>
+ <object class="NSColor" key="IBUITextColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MCAwIDAAA</bytes>
+ </object>
+ <nil key="IBUIHighlightedColor"/>
+ <int key="IBUIBaselineAdjustment">1</int>
+ <float key="IBUIMinimumFontSize">10</float>
+ </object>
+ </object>
+ <object class="NSPSMatrix" key="NSFrameMatrix"/>
+ <string key="NSFrameSize">{320, 480}</string>
+ <reference key="NSSuperview"/>
+ <object class="NSColor" key="IBUIBackgroundColor">
+ <int key="NSColorSpace">1</int>
+ <bytes key="NSRGB">MSAxIDEAA</bytes>
+ </object>
+ <bool key="IBUIOpaque">NO</bool>
+ <bool key="IBUIClearsContextBeforeDrawing">NO</bool>
+ <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
+ <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+ <bool key="IBUIResizesToFullScreen">YES</bool>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">delegate</string>
+ <reference key="source" ref="841351856"/>
+ <reference key="destination" ref="987256611"/>
+ </object>
+ <int key="connectionID">5</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBCocoaTouchOutletConnection" key="connection">
+ <string key="label">window</string>
+ <reference key="source" ref="987256611"/>
+ <reference key="destination" ref="380026005"/>
+ </object>
+ <int key="connectionID">6</int>
+ </object>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">