首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >突然我不能得到安全范围的书签

突然我不能得到安全范围的书签
EN

Stack Overflow用户
提问于 2013-03-10 22:49:18
回答 1查看 807关注 0票数 2

天哪,这个沙盒游戏让我绝望:我有一个在苹果商店上发布的应用程序(所以,理论上,它已经通过了审查……),它是一个幻灯片播放器--没什么太花哨的--用户可以将图片拖放到NSTableView上,或者通过NSOpenPanel进行选择。无论如何,我想我应该自己使用它,所以我在我的笔记本电脑上重新编译了一个副本,突然之间我不允许使用安全书签:

代码语言:javascript
复制
QuickSlide(1412) deny mach-lookup com.apple.scopedbookmarksagent.xpc

每当我通过NSOpenPanel拖放图像或选择它们时,就会出现上面的内容。

我有以下权利:

我用来生成书签的代码是:

代码语言:javascript
复制
-(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方法也会与控制台日志一起触发。

在我从事开发的那几个月里,它从来没有这样做过。我还在我的dev Mac Pro机箱上试用了它,尝试了使用不同签名或不使用签名的代码签名,甚至从App Store下载了它(使用两个不同的帐户尝试了两次);所有这些都得到了相同的结果。我还使用了非常方便的Receigen应用程序来检查编译包中的授权。我运行的是10.7.5。唯一能阻止它抛出错误的是,如果我在Xcode中取消选中'enable sandboxing‘选项并进行编译。

啊哈。有人能指出这个明显得令人眼花缭乱的错误吗?这个错误不知何故通过了两个测试版测试者,我和一个App Store评论员...?!

它必须是显而易见的,不是吗?

更新:我让一位同事在他的笔记本电脑上下载了一份新版本,沙盒没有问题。如果有人能说明我的安装发生了什么,我将不胜感激……

托德。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-24 23:21:17

果然,从你的权利来看,这似乎是一件令人不快的事情。您还需要添加以下内容:

代码语言:javascript
复制
com.apple.security.files.bookmarks.app-scope

我不知道为什么它以前能工作,现在不能工作,但我肯定你需要声明这个安全范围书签的权利才能工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15323513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档