Skip to content

Instantly share code, notes, and snippets.

@michaeldv
Created November 28, 2012 04:59
Show Gist options
  • Save michaeldv/4159115 to your computer and use it in GitHub Desktop.
Save michaeldv/4159115 to your computer and use it in GitHub Desktop.
app = UIApplication.sharedApplication
NSLog "statusBarHidden #{app.statusBarHidden.inspect rescue nil}" # fails (documented)
NSLog "statusBarHidden? #{app.statusBarHidden?.inspect rescue nil}" # passes (undocumented)
NSLog "idleTimerDisabled #{app.idleTimerDisabled.inspect rescue nil}" # fails (documented)
NSLog "idleTimerDisabled? #{app.idleTimerDisabled?.inspect rescue nil}" # passes (undocumented)
NSLog "networkActivityIndicatorVisible #{app.networkActivityIndicatorVisible.inspect rescue nil}" # fails (documented)
NSLog "networkActivityIndicatorVisible? #{app.networkActivityIndicatorVisible?.inspect rescue nil}" # passes (undocumented)
### However:
NSLog "applicationSupportsShakeToEdit #{app.applicationSupportsShakeToEdit.inspect rescue nil}" # passes (documented)
NSLog "applicationSupportsShakeToEdit? #{app.applicationSupportsShakeToEdit?.inspect rescue nil}" # fails (undocumented)
### Also a small inconstancy when running from RM console:
(main)> app = UIApplication.sharedApplication
=> #<UIApplication:0x9315b90>
(main)> app.statusBarHidden?
=> 0 # <-- Displays 0 or 1 instead of true or false
class AppDelegate
def application(application, didFinishLaunchingWithOptions:launchOptions)
@window = UIWindow.alloc.initWithFrame(UIScreen.mainScreen.bounds)
@window.rootViewController = HelloController.alloc.init
@window.rootViewController.wantsFullScreenLayout = true
@window.makeKeyAndVisible
true
end
end
class HelloController < UIViewController
def viewDidLoad
self.view.backgroundColor = UIColor.whiteColor
app = UIApplication.sharedApplication
# Documented statusBarHidden causes NoMethodError exception:
NSLog "statusBarHidden #{app.statusBarHidden.inspect}"
#
# (main)> 2012-11-29 18:13:38.660 bug[4380:11303] hello_controller.rb:6:in `viewDidLoad': undefined method `statusBarHidden' for #<UIApplication:0x9454ee0> (NoMethodError)
# from app_delegate.rb:6:in `application:didFinishLaunchingWithOptions:'
# 2012-11-29 18:13:38.662 bug[4380:11303] *** Terminating app due to uncaught exception 'NoMethodError', reason: 'hello_controller.rb:6:in `viewDidLoad': undefined method `statusBarHidden' for #<UIApplication:0x9454ee0> (NoMethodError)
# from app_delegate.rb:6:in `application:didFinishLaunchingWithOptions:'
#
# Undocumented statusBarHidden? works fine,
NSLog "statusBarHidden? #{app.statusBarHidden?.inspect}"
# Documented idleTimerDisabled causes NoMethodError exception:
NSLog "idleTimerDisabled #{app.idleTimerDisabled.inspect}"
#
# 2012-11-29 18:18:35.909 bug[4521:11303] hello_controller.rb:20:in `viewDidLoad': undefined method `idleTimerDisabled' for #<UIApplication:0x76237f0> (NoMethodError)
# from app_delegate.rb:6:in `application:didFinishLaunchingWithOptions:'
# 2012-11-29 18:18:35.911 bug[4521:11303] *** Terminating app due to uncaught exception 'NoMethodError', reason: 'hello_controller.rb:20:in `viewDidLoad': undefined method `idleTimerDisabled' for #<UIApplication:0x76237f0> (NoMethodError)
# from app_delegate.rb:6:in `application:didFinishLaunchingWithOptions:'
#
# Undocumented idleTimerDisabled? works fine.
NSLog "idleTimerDisabled? #{app.idleTimerDisabled?.inspect}"
# Same story with networkActivityIndicatorVisible vs. networkActivityIndicatorVisible?
NSLog "networkActivityIndicatorVisible #{app.networkActivityIndicatorVisible.inspect}" # Fails (documented).
NSLog "networkActivityIndicatorVisible? #{app.networkActivityIndicatorVisible?.inspect}" # Passes (undocumented)
### However:
NSLog "applicationSupportsShakeToEdit #{app.applicationSupportsShakeToEdit.inspect}" # Passes (documented).
NSLog "applicationSupportsShakeToEdit? #{app.applicationSupportsShakeToEdit?.inspect}" # Fails (undocumented)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment