更新日2015年10月29日:この原因が考えられた可能性があります。 this StackOverflow postに準拠したグラデーションレイヤーを作成しています。これは私と他のすべての人がテストしたところでは問題なく動作しますが、他の人には問題があるかもしれません。iPhoneアプリのクラッシュ:UIKit
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];
アップデート2015年10月27日:それでもCrashlyticsから入ってくるこれらのクラッシュを見て。
を更新2015年10月26日:私は、(..しかし、誰の答えと)私が午前とまったく同じ問題であるように思われthis thread on StackOverflowを見つけましたが、彼らは私がFacebookの/ Twitterのアクションシートを使用していますない。問題の診断に役立つもの。それだけのiOS 9 で登場だと思わ
:
はちょうどApp Storeにアプリをリリースしているし、我々はCrashlyticsにこのクラッシュをユーザーの小さな割合(約2%)を見ていますですが、それはすべてのデバイスに起こっています。
致命的例外:NSInternalInconsistencyExceptionこの状況では、RGBAまたはホワイトの色空間のみがサポートされています。
個人的に私は9.1でiPhone 6を実行していますが、この問題は発生していません。私もシミュレータで試してみましたが、もう問題はありません。だから、このバグがどうやって起こっているのか分かりません。 Crashlyticsのスタックトレースは以下の通りです。
UIColor
がエンコードされずにNSDictionary
に追加されているようですが、アプリのどこでもそのことをやっていません。それはUIRemoteViewController
と関係があるようにも思えるが、私はアプリでそれを使っていない。(Facebookにログインしない限り、電話やシミュレータでFacebookにログインしようとしたが、このエラーが表示されます)。
これを引き起こしている可能性のある人はいますか?
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
コード例で更新
これはapplication:didFinishLaunchingWithOptions
に呼び出されます。
// 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];
このクラッシュが発生している場所でコード行を投稿できますか? – Sujania
@Sujaniaいいえ、実際にどこから来ているのか分かりません。再現できず、スタックトレースにはどこにも表示されません。 – cjhill
私の読書によると、これはUIApperenceや[UIColor colorWithPatternImage:]のエラーです。 – Nik