title: iPhone app crash: UIKit
body: <p><strong>Update 29th October 2015</strong>: Might have possibly found the cause of this. I'm creating a gradient layer according to <a href="https://stackoverflow.com/a/23074591/4027036">this StackOverflow post</a> - it works perfectly fine for me and everyone else I've tested with, but might other people have problems with it?</p>
  
  <pre><code>CAGradientLayer * g  = [CAGradientLayer layer];
  UIColor * colourFrom = [UIColor colorWithRed:0.1 green:0.7 blue:0.3  alpha:1.0];
  UIColor * colourTo   = [UIColor colorWithRed:0.1 green:0.8 blue:0.4 alpha:1.0];
  
  g.frame        = self.view.bounds;
  g.cornerRadius = 10;
  g.startPoint   = CGPointMake(0.0, 0.5);
  g.endPoint     = CGPointMake(1.0, 0.5);
  g.colors       = [NSArray arrayWithObjects:(id)[colourFrom CGColor],
                                             (id)[colourTo CGColor],
                                             nil];
  </code></pre>
  
  <hr>
  
  <p><strong>Update 27th October 2015</strong>: Still seeing these crashes coming in from Crashlytics.</p>
  
  <hr>
  
  <p><strong>Update 26th October 2015</strong>: I found <a href="https://stackoverflow.com/questions/29589439/facebook-and-twitter-share-error-swift">this thread on StackOverflow</a> which seems to be exactly the same issue as I am having (but with no answers..), however they are using Facebook/Twitter action sheets which I am not. Just something to help diagnose the issue.</p>
  
  <hr>
  
  <p>Have just released an app to the App Store and we are seeing a small percentage of users (~2%) with this crash in Crashlytics:</p>
  
  <p>It appears that it's only appearing with <strong>iOS 9</strong>, but it's happening across <strong>all devices</strong>.</p>
  
  <blockquote>
    <p>Fatal Exception: NSInternalInconsistencyException Only RGBA or White color spaces are supported in this situation.</p>
  </blockquote>
  
  <p>Personally I am running an iPhone 6 with 9.1 and am not experiencing the issue. I have also tried in Simulators and again no issues, so I am not sure of how this bug is actually cropping up. The stack trace from Crashlytics is below.</p>
  
  <p>It seems as though a <code>UIColor</code> is being added to a <code>NSDictionary</code> without being encoded, but I'm not doing that anywhere in the app. It also seems as though it might have something to do with <code>UIRemoteViewController</code>, but I'm not using that in the app (unless logging in with Facebook causes that - I have tried logging in with Facebook on the phone and simulators, but again I cannot get this error to appear).</p>
  
  <p>Does anyone have any idea of what might be causing this?</p>
  
  <hr>
  
  <pre><code>Thread : Fatal Exception: NSInternalInconsistencyException
  0  CoreFoundation                 6512725832 __exceptionPreprocess
  1  libobjc.A.dylib                6869942144 objc_exception_throw
  2  CoreFoundation                 6512725528 +[NSException raise:format:]
  3  Foundation                     6528403996 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]
  4  UIKit                          6606881444 -[UIColor encodeWithCoder:]
  5  Foundation                     6528169072 _encodeObject
  6  Foundation                     6528197336 +[NSKeyedArchiver archivedDataWithRootObject:]
  7  UIKit                          6609904352 -[_UIAppearanceRecorder _recordInvocation:withClassName:containerClassNames:traitCollection:selectorString:forRemoteProcess:]
  8  UIKit                          6609884356 __54+[_UIAppearance _recordersExcludingSource:withWindow:]_block_invoke
  9  CoreFoundation                 6511594744 __65-[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:]_block_invoke
  10 CoreFoundation                 6511594448 -[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:]
  11 UIKit                          6609883592 +[_UIAppearance _recordersExcludingSource:withWindow:]
  12 UIKit                          6611900724 UIViewServiceCurrentAppearanceSerializedRepresentations
  13 UIKit                          6610654700 +[_UIRemoteViewController _requestViewController:traitCollection:fromServiceWithBundleIdentifier:service:connectionHandler:]
  14 UIKit                          6610654160 +[_UIRemoteViewController requestViewControllerWithService:connectionHandler:]
  15 UIKit                          6609355772 __117-[NSExtension(UIViewControllerAdditions) instantiateViewControllerWithInputItems:listenerEndpoint:connectionHandler:]_block_invoke_2
  16 libdispatch.dylib              6878402280 _dispatch_call_block_and_release
  17 libdispatch.dylib              6878402216 _dispatch_client_callout
  18 libdispatch.dylib              6878424496 _dispatch_main_queue_callback_4CF
  19 CoreFoundation                 6512427512 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
  20 CoreFoundation                 6512418912 __CFRunLoopRun
  21 CoreFoundation                 6511561888 CFRunLoopRunSpecific
  22 GraphicsServices               6701891720 GSEventRunModal
  23 UIKit                          6602887164 UIApplicationMain
  24 MyApp                          4296179280 main (main.m:16)
  25 libdyld.dylib                  6878603448 start
  </code></pre>
  
  <hr>
  
  <p><strong>Update with code examples</strong></p>
  
  <p>This is called in the <code>application:didFinishLaunchingWithOptions</code>:</p>
  
  <pre><code>// Make the app look pretty
  // Turn the status bar color white
  [[UIApplication sharedApplication] setStatusBarHidden:NO];
  [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
  // Nav bar: Background colour
  [[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0]];
  // Nav bar: White text
  [[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor colorWithRed:0.2 green:0.2 blue:0.2 alpha:1.0], NSForegroundColorAttributeName, nil]];
  // Nav bar: Tint colour
  [UINavigationBar appearance].tintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"TintNavBar"]];
  // Tab Bar: Background color
  [[UITabBar appearance] setBarTintColor:[UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0]];
  // Tab bar: Tint colour
  [UITabBar appearance].tintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"gradientSmall"]];
  // UIControlSegment: Change the colours to just white
  // @url https://stackoverflow.com/a/21484829/4027036
  [[UISegmentedControl appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[Ui getColour:UI_BODY_PRIMARY]}
                                                 forState:UIControlStateNormal];
  </code></pre>