Черт возьми, эта песочница приводит меня в отчаяние: у меня есть приложение, которое было выпущено в магазине Apple (так что, теоретически, оно прошло проверку...), это проигрыватель слайд-шоу — ничего особенного — пользователь может перетаскивать изображения на NSTableView или выберите через NSOpenPanel. В любом случае, я подумал, что буду использовать его сам, поэтому я перекомпилировал копию на свой ноутбук, и внезапно мне не разрешено делать закладки безопасности:
QuickSlide(1412) deny mach-lookup com.apple.scopedbookmarksagent.xpc
Вышеприведенное появляется всякий раз, когда я перетаскиваю изображения или выбираю их через NSOpenPanel.
У меня есть следующие права:
Код, который я использую для создания закладок:
-(NSData*)genSec:(NSURL*)aURL
{
NSError *error;
NSData *secData = [aURL bookmarkDataWithOptions:(NSURLBookmarkCreationWithSecurityScope | NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess | NSURLBookmarkCreationPreferFileIDResolution)
includingResourceValuesForKeys:nil relativeToURL:nil error:&error];
if (error) {
[self setReport: [NSString stringWithFormat:@"Can't access %@ due to SandBoxing",aURL]];
return nil;
}
return secData;
}
Разумеется, метод report
также запускается вместе с ведением журнала консоли.
Это никогда не делалось раньше за те месяцы, что я потратил на разработку. Я также попробовал это на своем ящике Mac Pro для разработчиков, попробовал подписать код с другой подписью или без нее и даже загрузил его из App Store (дважды пробовал с двумя разными учетными записями); все с тем же результатом. Я также использовал очень удобное приложение Receigen для проверки прав в скомпилированном пакете. У меня 10.7.5. Единственное, что мешает ему выдавать ошибки, - это снять флажок «включить песочницу» в Xcode и скомпилировать.
Ааааааааааааааааааааааааа Может ли кто-нибудь указать на очевидную ошибку, которая каким-то образом проскользнула через двух бета-тестеров, меня и обозревателя App Store...?!!!!
Это должно быть что-то очевидное, не так ли?
ОБНОВЛЕНИЕ: я попросил коллегу загрузить свежую копию на свой ноутбук, и проблем с песочницей не возникло. Я все еще был бы признателен, если бы кто-нибудь мог пролить свет на то, что происходит с моими установками...
Тодд.