1

すでに質問されている場合は申し訳ありませんが、ここで問題が発生します。

最近、SDK をiOS 5 betaに更新しました。私のアプリは新しいシミュレーターで完全に正常にビルドおよび実行されますが、展開ターゲットを古い iOS ( 4.3 ) に変更しようとすると、 UIActivityIndi​​catorViewコントロール (シミュレーターとデバイスの両方)を使用しようとすると、アプリが即座にクラッシュします。ViewUIActivityIndi​​catorViewのみで構成される非常に単純な読み込みビューでUIActivityIndi​​catorViewを使用しています。

そのビューから UIActivityIndi​​catorView コントロール削除すると、ビューは正常に動作しますが、他のビュー (アクティビティ インジケーターと画像を含む) の読み込み中にアプリがクラッシュします。要するに、アプリは iOS 5 環境では問題なく動作しますが、古い iOS バージョンで実行すると、画像とアクティビティ インジケーターによってアプリがクラッシュします。何か案は?

前もって感謝します!

編集

ビューをどのように使用しているかを示すために、いくつかのコードを追加しています。それはそれほど多くなく、LoadingViewController自体にはカスタム コードがまったくありません (すべてのコントロールは nib にあります)。

if(!self.loadingScreen){
    self.loadingScreen = [[LoadingViewController alloc] initWithNibName:@"LoadingViewController" bundle:nil];
}
[self.view addSubview:loadingScreen.view];

例外メッセージは実際にはそれ以上のことを述べていませんが、次のようになります。

0   CoreFoundation                      0x017bd5a9 __exceptionPreprocess + 185
1   libobjc.A.dylib                     0x01911313 objc_exception_throw + 44
2   CoreFoundation                      0x017bf0bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3   CoreFoundation                      0x0172e966 ___forwarding___ + 966
4   CoreFoundation                      0x0172e522 _CF_forwarding_prep_0 + 50
5   UIKit                               0x00f8e9fd UINibDecoderDecodeObjectForValue + 2592
6   UIKit                               0x00f8f6ac -[UINibDecoder decodeObjectForKey:] + 398
7   UIKit                               0x00d75db0 -[UIImageView initWithCoder:] + 97
4

3 に答える 3

2

私は同じ問題を抱えていて、解決策を見つけました。私の UIActivityIndi​​cator が xib ファイルに追加されました。xib から削除し、コードで作成しました (activityIndi​​cator = [[UIActivityIndi​​catorView alloc] initWithActivityIndi​​catorStyle:...)。

これですべて問題ありません。動作します。

これがお役に立てば幸いです。

于 2011-08-11T10:09:53.017 に答える
1

URL https://devforums.apple.com/message/507796#507796 ....を開くことができませんが、次のようにUIImageクラスのカテゴリを作成できると思います。

@implementation UIImage (Coder)

- (id)initWithCoder:(NSCoder *)aCoder
{
     return nil;
}

@end
于 2011-09-05T14:37:36.673 に答える
1

smith324 のアドバイスに従い、Apple dev フォーラムを閲覧して、自分が何か間違ったことをしていないか、SDK にバグがあるかどうかを調べ始めました。私の場合と同じように、最新のリリースにはUIImages、UIActivityIndi​​catorsなどをクラッシュさせる厄介なバグがあることがわかりました。良いニュースは、実際には回避策があり、ここで見つけることができるということです: https://devforums.apple.com/message/507796#507796

助けてくれてありがとう!

編集:

リンクにアクセスできない場合は、これが推奨される回答です。

@implementation UIImage (initWithCoder)

- (id)initWithCoder:(NSCoder *)aDecoder
{
     return nil;
}

@end
于 2011-08-11T15:22:57.933 に答える