NSBundle UIImage не предназначен для iOS 7

Я создал фреймворк, используя целевую функцию Xcode 6 Cocoa Touch Framework. Когда фреймворк используется в другом приложении, работающем на iOS 8, он работает отлично, загружая изображения, собирая перья-раскадровки и т. д. Когда я запускаю то же приложение на устройстве iOS 7, код подбирается, контроллеры представления отображаются изображения, которые установлены в построителе интерфейса для пера. Но изображения, которые устанавливаются с помощью кода, не отображаются.

Изображение присутствует в содержимом приложения (когда я показываю содержимое пакета).

Но его не подхватывают. Пожалуйста, посмотрите мой код.

NSString *bundlePath = [NSString stringWithFormat:@"%@/Frameworks/TestFramework.framework", [[NSBundle mainBundle] bundlePath]];

NSBundle *frameworkBundle = [NSBundle bundleWithPath:bundlePath];
[frameworkBundle load];
NSString *imagePath = [NSString stringWithFormat:@"%@/Pic2.JPG", bundlePath];
UIImage *image = [UIImage imageNamed:imagePath];
NSLog(@"FrameworkBundle:%@", frameworkBundle);
NSLog(@"BundlePath:%@", bundlePath);
NSLog(@"ImagePath:%@",imagePath);
NSLog(@"Image:%@",image);
self.imageView3.image = image;

это результат

2014-11-19 11:48:01.324 TestApp[95937:60b] FrameworkBundle:NSBundle </Users/nbkqkka/Library/Developer/CoreSimulator/Devices/A64CFDA9-EB0E-4B65-B119-A213CD500217/data/Applications/C942AA07-E416-48B3-AE96-C853DB349B64/TestApp.app/Frameworks/TestFramework.framework> (loaded)
    2014-11-19 11:48:01.324 TestApp[95937:60b] BundlePath:/Users/nbkqkka/Library/Developer/CoreSimulator/Devices/A64CFDA9-EB0E-4B65-B119-A213CD500217/data/Applications/C942AA07-E416-48B3-AE96-C853DB349B64/TestApp.app/Frameworks/TestFramework.framework
    2014-11-19 11:48:01.325 TestApp[95937:60b] ImagePath:/Users/nbkqkka/Library/Developer/CoreSimulator/Devices/A64CFDA9-EB0E-4B65-B119-A213CD500217/data/Applications/C942AA07-E416-48B3-AE96-C853DB349B64/TestApp.app/Frameworks/TestFramework.framework/Pic2.JPG
    2014-11-19 11:48:01.474 TestApp[95937:60b] Image:(null)

person i_raqz    schedule 19.11.2014    source источник
comment
И да, я очистил проект, удалил производные данные и т. д., но он все равно не работает.   -  person i_raqz    schedule 19.11.2014


Ответы (1)


В документации для imageNamed говорится:

Имя файла. Если это первая загрузка изображения, метод ищет изображение с указанным именем в основном пакете приложения.

Он ничего не говорит о загрузке с полного пути.

Вы можете использовать:

+ (UIImage *)imageWithContentsOfFile:(NSString *)path

вместо?

person Paul Cezanne    schedule 19.11.2014