diff --git a/Classes/FTAnimationManager.m b/Classes/FTAnimationManager.m index c4c101a..a2929a0 100644 --- a/Classes/FTAnimationManager.m +++ b/Classes/FTAnimationManager.m @@ -1,3 +1,27 @@ +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + #import NSString *const kFTAnimationName = @"kFTAnimationName"; diff --git a/Classes/FTJSONParser.m b/Classes/FTJSONParser.m index 39874e7..28d2771 100644 --- a/Classes/FTJSONParser.m +++ b/Classes/FTJSONParser.m @@ -1,3 +1,27 @@ +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + #import #define SAFE_RELEASE_HANDLE if(handle_ != NULL) { yajl_free(handle_), handle_ = NULL; } diff --git a/Classes/FTJSONWriter.m b/Classes/FTJSONWriter.m index 9f76776..f611c06 100644 --- a/Classes/FTJSONWriter.m +++ b/Classes/FTJSONWriter.m @@ -1,3 +1,27 @@ +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + #import #define SAFE_RELEASE_HANDLE \ diff --git a/FTUtils.xcodeproj/project.pbxproj b/FTUtils.xcodeproj/project.pbxproj index f0c9120..8155498 100644 --- a/FTUtils.xcodeproj/project.pbxproj +++ b/FTUtils.xcodeproj/project.pbxproj @@ -67,7 +67,6 @@ AA747D9E0F9514B9006C5449 /* FTUtils_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FTUtils_Prefix.pch; sourceTree = SOURCE_ROOT; }; D2AAC07E0554694100DB518D /* libFTUtils.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libFTUtils.a; sourceTree = BUILT_PRODUCTS_DIR; }; DF2879B50FE192A1001E9F62 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - DF287A860FE1949E001E9F62 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; DF287AA20FE19638001E9F62 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; DF287AA30FE19638001E9F62 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; DF287AA40FE19638001E9F62 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; @@ -265,7 +264,7 @@ DF2963170FE18F3D00B9D71D /* yajl_iphone.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = yajl_iphone.xcodeproj; path = Support/yajl/yajl_iphone/yajl_iphone.xcodeproj; sourceTree = SOURCE_ROOT; }; DF6D061C0FE1A4B700CC44C6 /* COPYING */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = COPYING; sourceTree = ""; }; DF6D061D0FE1A4B700CC44C6 /* ReleaseNotes.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReleaseNotes.txt; sourceTree = ""; }; - DF6D06470FE1A6F200CC44C6 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; + DF6D06470FE1A6F200CC44C6 /* README.mdown */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.mdown; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -308,7 +307,7 @@ 0867D691FE84028FC02AAC07 /* FTUtils */ = { isa = PBXGroup; children = ( - DF6D06470FE1A6F200CC44C6 /* README */, + DF6D06470FE1A6F200CC44C6 /* README.mdown */, DF2962E30FE18E0000B9D71D /* Headers */, DF2962E80FE18E0000B9D71D /* Classes */, DF29630D0FE18F2600B9D71D /* Support */, @@ -336,7 +335,6 @@ isa = PBXGroup; children = ( AA747D9E0F9514B9006C5449 /* FTUtils_Prefix.pch */, - DF287A860FE1949E001E9F62 /* main.m */, ); name = "Other Sources"; sourceTree = ""; diff --git a/FTUtils_Prefix.pch b/FTUtils_Prefix.pch index 6d6994f..f14edb1 100644 --- a/FTUtils_Prefix.pch +++ b/FTUtils_Prefix.pch @@ -1,3 +1,27 @@ +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + #ifdef __OBJC__ #import #import diff --git a/Headers/FTUtils/FTAnimationManager.h b/Headers/FTUtils/FTAnimationManager.h index 4e59e2f..6cb5074 100644 --- a/Headers/FTUtils/FTAnimationManager.h +++ b/Headers/FTUtils/FTAnimationManager.h @@ -1,3 +1,27 @@ +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + #import #import diff --git a/Headers/FTUtils/FTJSONParser.h b/Headers/FTUtils/FTJSONParser.h index ac1c8e1..2949843 100644 --- a/Headers/FTUtils/FTJSONParser.h +++ b/Headers/FTUtils/FTJSONParser.h @@ -1,3 +1,27 @@ +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + #import #import #import diff --git a/Headers/FTUtils/FTJSONWriter.h b/Headers/FTUtils/FTJSONWriter.h index 12488f8..18beb7a 100644 --- a/Headers/FTUtils/FTJSONWriter.h +++ b/Headers/FTUtils/FTJSONWriter.h @@ -1,3 +1,27 @@ +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + #import #import #import diff --git a/Headers/FTUtils/FTMacros.h b/Headers/FTUtils/FTMacros.h index 8ce6575..0f3f202 100644 --- a/Headers/FTUtils/FTMacros.h +++ b/Headers/FTUtils/FTMacros.h @@ -1,4 +1,28 @@ -// FTLOGEXT logging macro from: http://iphoneincubator.com/blog/debugging/the-evolution-of-a-replacement-for-nslog +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +// FTLOGEXT logging macro cribbed from: http://iphoneincubator.com/blog/debugging/the-evolution-of-a-replacement-for-nslog #ifdef DEBUG #define FTLOG(...) NSLog(__VA_ARGS__) #define FTLOGEXT(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__); diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3aafd12 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2009 Free Time Studios and Nathan Eror + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README b/README deleted file mode 100644 index e69de29..0000000 diff --git a/README.mdown b/README.mdown new file mode 100644 index 0000000..6f58ad6 --- /dev/null +++ b/README.mdown @@ -0,0 +1,127 @@ +FTUtils iPhone Utility Code Library +=================================== + +The code in FTUtils is common utility code extracted from [Free Time Studios](http://www.freetimestudios.com/) iPhone projects. Currently, there are two primary utilities (`FTAnimationManager` and `FTJSON`) and some simple preprocessor macros. Most of the library is unit tested using [Google Toolbox for Mac](http://code.google.com/p/google-toolbox-for-mac/ "google-toolbox-for-mac - Google Code"). The documentation is still under development. Hopefully, the following will help in its stead. + +Using FTUtils +------------- + +FTUtils is designed to be added as a static library to your own iPhone project. Here's the process to add the FTUtils static library to your Xcode project (these steps were borrowed from the [three20 project](http://github.com/joehewitt/three20/tree/master "joehewitt's three20 at master - GitHub") and modified): + + 1. Clone the ftutils git repository: `git clone git://github.com/neror/ftutils.git`. Make sure you store the repository in a permanent place because Xcode will need to reference the files every time you compile your project. + + 1. Locate the "FTUtils.xcodeproj" file under "ftutils". Drag FTUtils.xcodeproj and drop it onto the root of your Xcode project's "Groups and Files" sidebar. A dialog will appear -- make sure "Copy items" is unchecked and "Reference Type" is "Relative to Project" before clicking "Add". + + 1. Now you need to link the FTUtils static library to your project. Click the "FTUtils.xcodeproj" item that has just been added to the sidebar. Under the "Details" table, you will see a single item: libFTUtils.a. Check the checkbox on the far right of libFTUtils.a. + + 1. Now you need to add FTUtils as a dependency of your project, so Xcode compiles it whenever you compile your project. Expand the "Targets" section of the sidebar and double-click your application's target. Under the "General" tab you will see a "Direct Dependencies" section. Click the "+" button, select "FTUtils", and click "Add Target". + + 1. Now you need to add the Core Animation framework to your project. Right click on the "Frameworks" group in your project (or equivalent) and select Add > Existing Frameworks. Then locate QuartzCore.framework and add it to the project. + + 1. Finally, we need to tell your project where to find the FTUtils headers. Open your "Project Settings" and go to the "Build" tab. Look for "Header Search Paths" and double-click it. Add the relative path from your project's directory to the "ftutils/Headers" directory. + + 1. While you are in Project Settings, go to "Other Linker Flags" under the "Linker" section, and add "-ObjC" and "-all_load" to the list of flags. + +You're ready to go! Just import the headers in your code for the parts of the library you'd like to use. Here they are for easy reference: + + #import + #import + #import + #import + +Enjoy! And extra super special thanks to [Joe Hewitt](http://www.joehewitt.com/ "Joe Hewitt") for writing those steps out for his [three20 project](http://github.com/joehewitt/three20/tree/master "joehewitt's three20 at master - GitHub")! I don't think I have the patience to pull it off. + +FTAnimationManager +------------------ + +The animation manager was designed to make complex Core Animation based animations simple to create and use. The primary interface into the pre-built animations is a category on `UIView`. Animating a view is as simple as: + + [myView slideInFrom:kFTAnimationBottom duration:.33f delegate:self]; + +You can also access the `CAAnimation` instances that power the category methods via the `FTAnimationManager` singleton like so: + + CAAnimation *anim = [[FTAnimationManager sharedManager] slideInAnimationFor:myView direction:kFTAnimationBottom + duration:.33f delegate:self]; + +modify it to your satisfaction and/or add it to a `CAAnimationGroup` and add it to the view's layer when you're ready to use it: + + anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInOut]; + [myView.layer addAnimation:anim forKey:@"MySpecialAnimation"]; + +See the code for details. + +FTJSON +------ + +The JSON library is an Objective-C wrapper around the fast and tiny [yajl](http://lloyd.github.com/yajl/ "yajl") library. yajl is distributed with this project, but it didn't come from us. Please give all credit to Lloyd Hilaiel for any blazing speed you might encounter when parsing JSON. + +FTJSONParser +------------ + +Like yajl, `FTJSONParser` is an event driven JSON parser. It can be used to parse JSON directly from the network via a GET request or to parse an `NSString` already in memory. The parser properly decodes JSON types into `NSDictionary`, `NSArray` or `NSValue` objects. Its usage is simple: + + NSString *json = @"{\"id\": 2, \"name\":\"Nathan\", \"superuser\":true}" + FTJSONParser *parser = [[[FTJSONParser alloc] init] autorelease]; + [parser parseString:json error:NULL]; + NSDictionary *result = [parser dictionary]; + +The result from the previous code block is equivalent to: + + NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithInt:2], @"id", + @"Nathan", @"name", + [NSNumber numberWithBOOL:YES], @"superuser", + nil]; + + +FTJSONWriter +------------ + +The JSON writer does its best to encode what you give it. The primary requirement is that the root object passed to `- (FTJSONEncodingStatus)encodeObject:(id)obj error:(NSError **)error` be either an NSArray or NSDictionary. The encoder does the "right thing" with `NSValue`, `NSDictionary`, and `NSArray` objects when it encounters them. Numbers, booleans, strings, dictionaries, and arrays are encoded into their respective JSON types. There are plans to make the encoder more flexible so that it may accept arbitrary objects. Here is an example of how to use `FTJSONWriter`: + + NSDictionary *data = [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithInt:2], @"id", + @"Nathan", @"name", + nil]; + FTJSONWriter *jsonWriter = [[[FTJSONWriter alloc] init] autorelease]; + [jsonWriter prepareWriter]; + [jsonWriter encodeObject:data error:NULL]; + NSLog(@"Encoded String:\n%@", [jsonWriter encodedString]); + + +Contributors +------------ + +FTUtils was written solely by [Nathan Eror](http://www.neror.com/ "neror.com") ([@neror](http://twitter.com/neror)) for use in iPhone games built and distributed by [Free Time Studios](http://www.freetimestudios.com/ "Free Time Studios") ([@freetimestudios](http://twitter.com/freetimestudios)). + +FTUtils also makes use of some other open source libraries: + + * [yajl](http://lloyd.github.com/yajl/ "yajl") - from Lloyd Hilaiel + * [Google Toolbox for Mac](http://code.google.com/p/google-toolbox-for-mac/) - from [Google + ](http://www.google.com/) + +License +------- + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + + \ No newline at end of file diff --git a/Tests/RunTests.h b/Tests/RunTests.h index d0e26af..ccc2efd 100644 --- a/Tests/RunTests.h +++ b/Tests/RunTests.h @@ -1,3 +1,27 @@ +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + @interface RunTests : NSObject { } diff --git a/Tests/RunTests.m b/Tests/RunTests.m index cfe77dd..2e79b0d 100644 --- a/Tests/RunTests.m +++ b/Tests/RunTests.m @@ -1,3 +1,27 @@ +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + #import "RunTests.h" #import "GTMIPhoneUnitTestDelegate.h" #import "GTMNSObject+UnitTesting.h" diff --git a/Tests/TestFTAnimationManager.m b/Tests/TestFTAnimationManager.m index 33cde62..4743441 100644 --- a/Tests/TestFTAnimationManager.m +++ b/Tests/TestFTAnimationManager.m @@ -1,3 +1,27 @@ +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + #import "GTMSenTestCase.h" #import diff --git a/Tests/TestFTJSON.m b/Tests/TestFTJSON.m index 7ff1404..c2e6d45 100644 --- a/Tests/TestFTJSON.m +++ b/Tests/TestFTJSON.m @@ -1,3 +1,27 @@ +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + #import "GTMSenTestCase.h" #import #import diff --git a/Tests/TestMain.m b/Tests/TestMain.m index 1081502..a3d14d7 100644 --- a/Tests/TestMain.m +++ b/Tests/TestMain.m @@ -1,3 +1,27 @@ +/* + The MIT License + + Copyright (c) 2009 Free Time Studios and Nathan Eror + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + #import #import "GTMStackTrace.h" #import "RunTests.h" diff --git a/main.m b/main.m deleted file mode 100644 index 5cf2803..0000000 --- a/main.m +++ /dev/null @@ -1,8 +0,0 @@ -#import - -int main(int argc, char *argv[]) { - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - int retVal = UIApplicationMain(argc, argv, nil, @"FTUtilsAppDelegate"); - [pool release]; - return retVal; -}