ios - почтовое приложение Sparrow вылетает на 5.0.1 - хотите создать исправление, нужна помощь мобильного субстрата
Вчера я скачал почтовое приложение Sparrow, которое падает сразу после запуска.
Создается следующий журнал сбоев:
Incident Identifier: [TODO]
CrashReporter Key: [TODO]
Hardware Model: iPhone4,1
Process: Sparrow [64701]
Path: /var/mobile/Applications/2D0B2A21-4BE0-4A1E-9119-B16FAA3A1572/Sparrow.app/Sparrow
Identifier: com.sparrowmailapp.iphoneapp
Version: 507.54
Code Type: ARM
Parent Process: launchd [1]
Date/Time: 2013-01-14 23:57:46 +0000
OS Version: iPhone OS 5.0.1 (9A406)
Report Version: 104
Exception Type: SIGABRT
Exception Codes: #0 at 0x305e132c
Crashed Thread: 0
Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[UINavigationBar setShadowImage:]: unrecognized selector sent to instance 0x9b1e70'
Проблема заключается в свойстве shadowImage в UINavigationBar, которого нет в iOS 5.
Теперь я пытаюсь создать аддон мобильного субстрата, чтобы избежать сбоя, добавив отсутствующее свойство в UINavigationBar с перезаписью и следующим кодом:
#import <Foundation/Foundation.h>
@interface UINavigationBar(MyNavigationBar)
@property(nonatomic,retain) UIImage *shadowImage NS_AVAILABLE_IOS(6_0) UI_APPEARANCE_SELECTOR;
@end
%hook UINavigationBar
- (void)setShadowImage:(UIImage *)shadowImage forToolbarPosition:(id)topOrBottom {
%log;
//%orig;
}
- (void)setShadowImage:(UIImage *)shadowImage {
%log;
//%orig;
}
%end;
Я понятия не имею, правильно установить shadowImage или UI_APPEARANCE_SELECTOR.
Есть идеи? Спасибо
1 ответ
Решение
О боже, эти методы должны быть обычным установщиком / получателем shadowImage.
Проблема решена.