Я пытаюсь создать приложение с текущим расширением виджета. Это приложение должно просто получить доступ к папке, полной изображений, загрузить их и нарисовать их на экране. Одна картина каждый час. Виджет должен делать то же самое, виджет мудрый. При загрузке изображения в главном приложении, и рисунок на экран работает безупречно делает это:Какао беспорядок путь вверх?
NSString *tildePath = @"~/Documents/Adrian/Art/desertMovie.jpg";
NSString *path = [tildePath stringByExpandingTildeInPath];
_image = [[NSImage alloc] initWithContentsOfFile:path];
расширение полностью портит путь. Он использует тот же код, что и основное приложение, но полностью скрывает путь.
От:
~/Documents/Adrian/Art/desertMovie.jpg
к:
/Users/Adrian/Library/Containers/ac.at.hulala.AK.ImageViewer2.ImageViewerWidget/Data/Documents/Adrian/Art/desertMovie.jpg
Если я использую путь без "~" путь остается неизменным, но изображение все еще не загружался.
Может ли кто-нибудь сказать мне, что я должен делать, чтобы он обращался к той же папке, которую делает основное приложение?
EDIT: Архивирование приложения и его экспорт, кажется, устраняют эту проблему. Однако мне все же хотелось бы знать, как сделать эту работу при разработке.
EDIT2: Это настолько странно! При работе с виджетами Todays Extension путь, как @"~/Pictures
, приведет к /Users/Me/Libraries/Containers/ac.at.ImageViewerWidget/Data/
, как то, что f ***, почему !? Когда я заставляю его использовать путь @"/Users/Me/Documents/Pictures
и запускать его, использование памяти неуклонно увеличивается, пока оно не достигнет предела, и моя система попадает в ад. Я действительно этого не понимаю. Я предполагаю, что виджет не находит файлы, поэтому он пытается загрузить весь ssd. Я полагаю. Я действительно не знаю, в чем проблема.
Может ли кто-нибудь угодить привести меня к свету?
Мне действительно нужна была помощь. Я также не могу найти что-либо в документации на яблоки о расширениях. – user148013