2

エラー:

-[UICGColor encodeWithCoder:]、/SourceCache/UIKit/UIKit-2372/UIColor.m:1191 2012-11-15 14:17:45.531 Neemu Clothing[15179:4d07] でのアサーションの失敗 キャッチされない例外 'NSInternalInconsistencyException' によるアプリの終了、理由: 「RGBA または白色空間のみをサポートします。この方法はハックです。」 * First throw call stack: (0x363272a3 0x32afe97f 0x3632715d 0x37a492af 0x36c793c5 0x379ec00f 0x379eb8b5 0x36dac72d 0x36daba7b 0x3632462f 0x36dab7f5 0x36e895e5 0x36e17cd7 0x36e17b6d 0x3506890f 0x36e17a61 0x36e210d5 0x3505b83b 0x36e210b1 0x3505b11f 0x3505a99b 0x3505a895 0x35069215 0x350693b9 0x357f8a11 0x357f88a4) libc++abi.dylib: terminate called throwing an exception

コード:

BOOL displayedNativeDialog = [FBNativeDialogs presentShareDialogModallyFrom:self initialText:@"NeeemuG - Veja meu look." image:nil url:[NSURL URLWithString:@"https://www.neemu.com"] handler:^(FBNativeDialogResult result, NSError *error) {

        // Only show the error if it is not due to the dialog
        // not being supporte, i.e. code = 7, otherwise ignore
        // because our fallback will show the share view controller.
        if (error && [error code] == 7) {
            return;
        }

        NSString *alertText = @"";
        if (error) {
            alertText = [NSString stringWithFormat:
                         @"error: domain = %@, code = %d",
                         error.domain, error.code];
        } else if (result == FBNativeDialogResultSucceeded) {
            alertText = @"Posted successfully.";
        }
        if (![alertText isEqualToString:@""]) {
            // Show the result in an alert
            [[[UIAlertView alloc] initWithTitle:@"Result"
                                        message:alertText
                                       delegate:self
                              cancelButtonTitle:@"OK!"
                              otherButtonTitles:nil]
             show];
        }
    }];

    // Fallback, show the view controller that will post using me/feed
    if (!displayedNativeDialog) {
        NSLog(@"No IOS6.");
    }
4

4 に答える 4

2

私のデリゲートでは、[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background"]] をバックグラウンド ナビゲーション バーに配置しました。このクラッシュの理由はわかりませんが、削除すると問題が解決します。

于 2012-11-23T14:21:26.103 に答える
1

私にとって、このエラーは UITextField と UISwitch の外観設定が原因でした。

すべてのビュー コントローラーが継承する抽象ビュー コントローラー サブクラスがあるため、このビュー コントローラーから継承するビューの外観のみを設定するように指定しました。

そのようです:

[[UITextField appearanceWhenContainedIn:[BaseViewController class], nil] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"bkg"]]];
[[UISwitch appearanceWhenContainedIn:[BaseViewController class], nil] setOnTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"bkg"]]];
于 2015-11-08T11:41:20.777 に答える
0

同じ問題があり、コンポーネントをサブクラス化することで修正しました。私の場合は:

UIColor *bkg = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bkg"]];
[[UICollectionView appearance] setBackgroundColor:bkg];

Facebook に何かを投稿しようとしたときにエラーが発生しましたが、単純なサブクラスを作成しましたUICollectionView- 名前を付けましょうMyGridView。したがって、変更後のコードは次のとおりです。

UIColor *bkg = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bkg"]];
[[MyGridView appearance] setBackgroundColor:bkg];

次に、ストーリーボードのビューMyGridViewをデフォルトの代わりにカスタム コンポーネント クラスを使用するように変更しUICollectionView、すべてが機能しました。必要な背景があり、Facebook に投稿できました。

あなたの問題が私のものと似ている場合は、このアプローチを試して、必要なコンポーネントをサブクラス化できると思います(もちろん、サブクラス化することを意図している場合)。

よろしくお願いします

于 2013-07-29T12:50:28.813 に答える