this is a VERY loose collection of individual classes and/or components for OSX/IOS that I find myself reusing serveral times and so thought it that it might be good to make them available.
most of the classes are not tested and have no documentation. They also arent meant or even guaranteed to be feature complete. they were/are all used in one or the other published app though.
- BonjourServicesBrowser [ios+osx] - asynchronously finds services using NSNetSerrviceBrowser
- DDASLQuery [ios+osx] + demo - wraps the C apis for querying ASL (default log on ios4+ or 10.6+)
- DDChecksum [ios+osx] + demo - wraps the C api for building checksums (from apple's CommonCrypto library)
- DDEmbeddedDataReader [osx] + demo - Based on code from BVPlistExtractor by Bavarious, this class allows easy reading of embedded (linked in) data from any executable. (e.g. a CLI Tool's plist included using the linker flag `-sectcreate __TEXT __info_plist TestInfo.plist`)
- DDTask [osx] + demo - 'Replacement' for NSTask that can be run multiple times in any operation / any thread. It tries to get a successful result N times and returns the result of stdout or nil.
- M42AbstractCoreDataStack [ios+osx] - offers a simple core data wrapper (if one doesnt want to use the really good library MagicalRecord)
- M42RandomIndexPermutation M42CompatibleAlert [ios+osx] + demo - Helper to build indexsets that are random but the indices remain unique and the sets reproducable.
- NSFileManager+Count [osx] - (Cocoa wrapper for legacy but fast carbon way of counting files in a folder )
- NSString+advancedSplit [ios+osx] + demo - A 'smarter' version of componentsBySplittingString. It never breaks inside of quotes and respects escaped strings.
- NSString+Entities [ios+osx] - Escapes Entities so the NSString is valid for xml content
- NSString+ValidateEmail [ios+osx] + demo - Check if a NSString object represents a valid email. Uses some regex.
- SKPaymentQueue+TransactionForProduct [ios] - Category to search in a PaymentQueue for (any / first successful[restored or not]) transaction for a given product identifier.
- NSworkspace+runFileAtPath [osx] - category that provides a method to run any file. It can be an Applescript (NSApplescript is used), a shell script or exectuable (NSTask is used), a file wrapper or app (NSWorkspace is used) or a directory (is opened with the finder). Specified arguments are passed to the Apple Scripts, Shell scripts, to apps and to unix executables.
- DDAddressPicker [osx] +demo- A Windowcontroller that offers a PeoplePicker allowing to pick persons from the addressbook. Adding some Features commonly needed
- M42ClickableImagview & Label [ios] - Subclasses that have action & target and react to touches
- M42CompatibleAlert [ios+osx] - Class that wraps UIAlert and NSAlertView. Displaying the correct one depending on OS.
- M42LoadingScreenViewController [ios] - Black screen, White 'Loading...', spinner, progressbar :) Looks a bit like the iOS Startup screen
- M42PieChartView [ios] - A UIView that displays a 2D PieChart (for more graphing options, look into CorePlot)
- M42PinchableWebView [osx] - Subclass of WebView which handles zooming in response to pinch gestures.
- M42TabBarController [ios] - A tab bar that has a 'disabled' property and can draw with a 'black translucent' overlay to signal its status.
- M42WebViewController [ios] - A view controller that manages a webview. It displays loading labels and offers a back button if appropriate
- M42WebviewTableViewCell [ios] - Interesting cell that displays html content
- NSWindow+localize [osx]-Category on NSWindow that localizes itself and all its subviews. (knows many defacto default selectors so it works with many views out-of-the-box)