Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A collection of UI goodies for iPhone.
Objective-C C
Branch: master
Failed to load latest commit information.
MuiKit.xcodeproj Fixes to URL redirection resolving.
Scripts Removed extraneous quotes.
en.lproj Initial commit.
it.lproj Initial commit.
.gitignore Ignored Xcode fluff.
Info.plist Added resources bundle and embedding target.
L0ActionSheet.h MuiKit can now be built for use on Mac OS X. This is useful if you wa…
L0ActionSheet.m Moved to SDK 4. Various little build fixes.
L0DraggableView.h MuiKit can now be built for use on Mac OS X. This is useful if you wa…
L0DraggableView.m Removed 'self' in L0Logs since L0Log now auto-captures self.
L0ExternalURLOpeningDetection.h Initial commit.
L0ExternalURLOpeningDetection.m Initial commit.
L0FlipViewController.h MuiKit can now be built for use on Mac OS X. This is useful if you wa…
L0FlipViewController.m MuiKit can now be built for use on Mac OS X. This is useful if you wa…
L0KVODictionaryAdditions.h Now using functions rather than NSDictionary additions for KVO.
L0KVODispatcher+Test.m Some structural reorganization in the project.
L0KVODispatcher.h Moved to SDK 4. Various little build fixes.
L0KVODispatcher.m Moved to SDK 4. Various little build fixes.
L0Keyboard.h No L0Keyboard on iOS 4.
L0Keyboard.m No L0Keyboard on iOS 4.
L0Map.h MuiKit can now be built for use on Mac OS X. This is useful if you wa…
L0Map.m Fixed stupid extra &s that caused stack smashin' and crashin'.
L0SolicitReview.alert Initial commit.
L0SolicitReviewController.h MuiKit can now be built for use on Mac OS X. This is useful if you wa…
L0SolicitReviewController.m Fixed again the property mess in the solicit review ctl. Hope this st…
L0UUID.h UUID class and a few little changes. Also, iPhone Simulator target.
L0UUID.m Fixed a GC leak in L0UUID.
L0WebViewController.h Added web view autoresizing.
L0WebViewController.m Added web view autoresizing.
LICENSE Initial commit.
MuiKit+Test-Info.plist Added new methods to the KVO dispatcher and a few unit tests to make …
MuiKit.h Added L0Keyboard.
MuiKit.xcconfig Fixes to URL redirection resolving.
NSData+L0IPAddressTools.h A few fixes to IP stuff.
NSData+L0IPAddressTools.m A few fixes to IP stuff.
NSURL+L0URLParsing.h Added URL parsing utilities.
NSURL+L0URLParsing.m Added URL parsing utilities.
NSURL+L0URLResolvingRedirects.h Replaced kL0MuiKitAllowBlocks with __BLOCKS__, which is automatically…
NSURL+L0URLResolvingRedirects.m Fixes to URL redirection resolving.
ProjectStyle Added a ProjectStyle file to allow building via UBTs.
README.markdown Added linker option instructions for categories (-ObjC).
UIAlertView+L0Alert.h MuiKit can now be built for use on Mac OS X. This is useful if you wa…
UIAlertView+L0Alert.m MuiKit can now be built for use on Mac OS X. This is useful if you wa…
UIApplication+L0NetworkIndicator.h MuiKit can now be built for use on Mac OS X. This is useful if you wa…
UIApplication+L0NetworkIndicator.m MuiKit can now be built for use on Mac OS X. This is useful if you wa…
UIDevice+L0ModelDetection.h Added internal model name property to UIDevice.
UIDevice+L0ModelDetection.m Added internal model name property to UIDevice.
UIImage+L0RenderingAdditions.h MuiKit can now be built for use on Mac OS X. This is useful if you wa…
UIImage+L0RenderingAdditions.m MuiKit can now be built for use on Mac OS X. This is useful if you wa…

README.markdown

MuiKit

MuiKit (short for Mobile UI Kit) is a collection of iPhone code that aims to make programming on iPhone simpler, easier and more rewarding and effective.

That's mostly it. It's underdocumented and overhyped. It's all under a new-BSD-style license. Enjoy it.

Embedding MuiKit in your own projects…

… is made needlessly complicated by a number of Xcode stupidites — especially if you want things to work both on device and on simulator. Sigh.

The steps are as follows:

  • Before you start, set up the ∞labs build tools.
    • Clone the repository at http://github.com/millenomi/infinitelabs-build-tools/;
    • Set it up in Xcode by going into Xcode > Preferences > Source Trees and adding a new tree with the following data:
      • setting name: INFINITELABS_TOOLS
      • display name: "∞labs build tools" (or anything descriptive that you like)
      • path: the full path to the repository clone above.
  • Check out the source in a directory and make sure it builds.
  • Set up an interproject dependency between your new project and MuiKit.xcodeproj's MuiKit target:
    • Drag MuiKit.xcodeproj into your project.
    • Select your target and choose File > Get Info.
    • Add the target named just MuiKit to the dependencies list (by clicking "+" under the list in the top part of the General pane of the window). (There are other targets that start with MuiKit, eg MuiKit (Resources) — ignore them, they're built as part of the target you just set a dependency on. They're "implementation details" if you will :D)
    • Keep the Get Info window open, because you need it to…
  • Set header search paths to include the headers in {MuiKit directory}/Build/Headers, and linker options to include Objective-C categories:
    • In the Get Info window from the previous step, switch to the Build pane.
    • Look for the "Header Search Paths" setting.
    • Add the following path to the setting {MuiKit's source directory}/Build/Headers, non recursive.
    • Look for the "Other Linker Flags" setting.
    • Add the -ObjC flag to the end of the setting.
  • Add resources and libraries to the application target:
    • Go back to the project window.
    • Locate MuiKit.xcodeproj and expand it with the arrow on its right.
    • Drag libMuiKit.a to your application target's Link With Libraries phase.
    • Drag MuiKit.bundle to your application target's Copy Resources phase.

… aaaand you're set. If you use MuiKit, you will get a CodeSign build error if you choose a "Device" SDK from the Xcode pop-up as the resources bundle is built. This is normal and as of 3.1.3 unavoidable. To build for the device instead, change your project's base SDK in the project's Get Info window to what you need, then use the "Project Setting" item from the pop-up instead — this will respect the overrides that MuiKit has to apply to the build system in order to avoid the error. The "Simulator" SDK works fine and does not trigger the error. (As an added bonus, MuiKit will be built for the simulator and used correctly as you would expect.)

To use any header from MuiKit, use:

#import <MuiKit/MuiKit.h>

or similarly for individual .hs.

Something went wrong with that request. Please try again.