- bool AppDel_didFinishLaunching(struct AppDel *self, SEL _cmd, void *application, void *options) {
- self->window = new(UIWindow);
- id viewController = new(UIViewController);
- root_view = objc_msgSend(viewController, sel_getUid("view"));
- objc_msgSend(self->window, sel_getUid("setRootViewController:"), viewController);
- objc_msgSend(self->window, sel_getUid("makeKeyAndVisible"));
- cl_init();
- return true;
- }
- int main(int argc, char *argv[])
- {
- Class AppDelegateClass = objc_allocateClassPair((Class)objc_getClass("UIResponder"), "AppDelegate", 0);
- class_addIvar(AppDelegateClass, "window", sizeof(id), 0, "@");
- class_addMethod(AppDelegateClass, sel_getUid("application:didFinishLaunchingWithOptions:"), (IMP) AppDel_didFinishLaunching, "i@:@@");
- objc_registerClassPair(AppDelegateClass);
- id autoreleasePool = new(NSAutoreleasePool);
- int out = UIApplicationMain(argc, argv, nil, CFSTR("AppDelegate"));
- objc_msgSend(autoreleasePool, sel_getUid("drain"));
- return out;
- }