This is my git submodule of free stuff I use to develop on the Mac and iPhone with Xcode. Free means the MIT license. Beware that the rb.h and rb.c are licensed gnu as the are from libavl. Regards Jolly aka Patrick --- author of: ScreenRecycler, JollysFastVNC, SmartSleep, SmartSokoban and more. ============================================================ Directory Layout ============================================================ JNXFreeFramework/ Contains the Xcode project to build the framework. When built you can simply drag the framework then in your Project and use the classes. The built framework does not include the AVL dependend classses as the avl library files (rb.c rb.h) are gnu licensed. JLog/ Contains .pch file I include in all projects now. Debug logging as well as retain/release cycle logging. Categories/ Categories I use - currently only contains one but I will add a few more over time NSThread_LeopardAdditions: (BOOL)[NSThread isMainThread] for Tiger/Leopard compiles. NSData+ZlibAddition: zlib un/compression routines for NSData Foundation/ Queues : Contains different mulithreaded Queues i use MTQueue: simple multithreaded Queue push and - pop - popBeforeDate - popDoNotBlock are the main methods. DatedQueue: uses a SortedArray inside and you can put stuff in to pop out at dates. push:withDate: meaning you get it out only when the time arrives AdvancedDatedQueue: uses a RedBlack tree you can add/remove stuff while waiting. RedBlackTree: My implementation of a RedBlackTree. A RedBlack tree has search, insert, and delete in O(log n) time. SortedArray: A sorted array. You can set it to reevalute the array in case objects change their sorting criterium. Cocoa/ CrashReporter: Contains a Crashreporter that mails you the crashreport as well as the logfile. see Examples/PasswordPanel PasswordPanel: Generates Passwordpanels with dynamic entries that are stored/retrieved from the keychain. see Examples/PasswordPanel System/ osversion: simple c-function to return 0x MAJORVERSION MINORVERSION PATCHLEVEL 0x100506 == 10.5.6 Examples/ JNXPasswordPanel/ Is a project on how to create a nice password panel with automatic access to the keychain from secondary threads. This is used for JollysFastVNC's password panel. Showcase for: - JNXPasswordPanel - JNXCrashReporter - automated versionnumbering - automated release notes and history - automated dmg build release process - automated Sparkle integration XcodeScripts/ Contains the build scripts I use when building release versions of my software.