问题标签 [entitlements]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
310 浏览

macos - 为主机文件创建安全范围的书签

我正在尝试为用户的主机文件创建一个安全范围的书签,以便我的应用程序可以在启动时访问和修改它。我收到以下错误:

错误域 = NSCocoaErrorDomain 代码 = 256 “无法打开文件“主机”。UserInfo=0x10011e9f0 {NSURL=file://localhost/private/etc/hosts}

我的权利文件:

以及创建书签的相关代码:

0 投票
1 回答
2811 浏览

ios - 来自命令行的 xcodebuild - 权利问题 -SecItemCopyMatching:缺少权利

我有两个应用程序 - 一个名称中有空格,另一个没有。当我尝试通过命令行构建过程运行应用程序时,我遇到了应用程序无法正常运行的问题 - 即:用“SecItemCopyMatching:missing entitlement”炸毁

--- 当我尝试使用空格检查应用程序命令行上的权利时:

--- 当我在名称中没有空格的应用程序上运行它时:


所以这里最大的问题是 - 这个应用程序名称已经在全球范围内使用,我无法更改它 - 我该如何解决这个问题,以便我可以进行这些命令行构建???

恕我直言:Apple 在 xcode 中的非 posix 合规性方面犯了一个大错误。

任何建议表示赞赏。

苹果的回应:“只有在使用 Xcode 应用程序构建和签署您的应用程序时,DTS 才支持 iOS 应用程序的代码签名。使用 xcodebuild 签署 iOS 应用程序的工作流程不受支持。”

所以他们不支持自己的命令行工具......

0 投票
1 回答
125 浏览

ios - 如何让两个 iOS 应用共享 plist?

我正在制作一个具有免费版本和付费版本的 iOS 应用程序。当用户获得付费版本时,他/她不得丢失任何免费应用程序的数据。数据存储为 plist。

如何配置权利文件以启用此功能?以及如何在我的代码中将 plist 移动(导入)到付费应用的 Documents 目录中?

0 投票
0 回答
933 浏览

ios - 使用 IOS 授权进行 NSFileProtectionComplete 加密

IOS:6.1 IDE:Appcelerator Titanium 3.0

当设备密码锁定时,我正在使用 IOS 权利将应用程序内容设置为加密。

我们有一个具有此权利设置的开发人员配置文件:com.apple.developer.default-data-protection NSFileProtectionComplete

我还将这个行/键集添加到我的应用程序的 Entitlements.plist 文件中。

这是一个基于 html 的应用程序,包括大量的 html 文本内容和图像,以及 sqlite 数据库的使用。当我设置上述并部署应用程序时,密码锁定设备,将其连接到未与 iTunes 同步的单独计算机,然后通过 iExplore 浏览设备,我可以验证我无法再访问数据库文件,由设备存储在“私人文档”中。但是,我仍然可以访问和保存我的 html 文件(包含所有文本内容)和图像/音频/等。从 iExplore 内部。这是在没有网络访问的情况下运行的敏感数据,因此安全地提供数据不是一种选择。

为什么它不加密其他资源?除了尝试创建 Titanium 模块以在应用程序内的每个单独资源上设置 NSFileProtectionKey 属性之外,还有其他方法吗(当我第一次尝试这个时它不起作用)?

0 投票
0 回答
234 浏览

macos - Mac OSX 插件可以有自己的权利吗?或者扩展主应用程序的权利?

我需要能够在 Mac OSX 10.7 及更高版本中为我的打印对话框扩展 (PDE) 插件定义新的权利(例如网络访问、文件读取),其中应用程序现在大多是沙盒。

这可能吗?如果是,如何?

编辑:查看 XPC 服务。XPC 似乎不起作用,可能是因为 PDE 插件运行在应用程序之上,例如 Preview,而我的 XPC 服务不在主应用程序的捆绑包中。

0 投票
1 回答
347 浏览

applescript - appA 是否需要授权才能执行启动 appB 的 AppleScript?

我们有两个签名的 Mac OS X 应用程序(我们开发的——非“应用商店”应用程序)。appA 运行一个 Applescript(来自一个 .scpt 文件),它向 appB 发送一条消息以启动和搜索一些文本。

这在 OS X 10.6 上完美运行。

在 OS X 10.7 和 10.8 上,我得到了不同的行为:当 appA 运行 Applescript 时,appB 不会启动。但是,如果 appB 已在运行,则 appB 会收到 appA 的消息,并处理请求的搜索。

这似乎是一个沙盒问题:当我们向终端发出此命令时:

…然后重新启动,Applescript 在 10.8 上启动 appB 也没有问题。在 10.7 上,appB 仍不会启动。

我们是否需要临时授权才能执行 AppleScript 脚本(或发送 AppleEvents)到我们的其他应用程序?这两个应用程序都是使用 codesign 手动签名的。这些权利是否从开发者关系中获得并通过协同设计应用?

appA 获取 AppleScript 并通过以下函数执行它:

正在执行的 AppleScript 是:

0 投票
1 回答
2512 浏览

ios - 有人知道如何为非越狱设备的 iOS 应用程序添加权利吗?

一些背景

  • iOS 操作系统有一个“权利”的概念。一般来说,它是授予应用程序的权限。其他系统服务和应用程序可以检查此权限以允许/拒绝执行某些功能。

  • 这些权利应在配置文件中指定。

  • 系统应用程序有很多不同的权利。

  • 用户应用程序仅限于几个权利(例如访问 iCloud 或可以在开发人员门户上配置的类似内容)。

问题是:有人知道如何为非越狱设备的用户应用程序添加权利吗?

总体思路是为开发的应用程序添加权利,以获得更多使用系统服务的权限。

注释和免责声明

  • 我知道如何为越狱手机执行此操作。但是,它不适用于非越狱设备。

  • 我知道苹果会拒绝它。它不会进入 AppStore。

  • 解决方案不必是编译时解决方案(意思是修改文件的方法)。它可能是一个运行时解决方案——一个应用程序以某种方式向自身或第三方应用程序添加权利。

0 投票
1 回答
614 浏览

ios - XCode 4.6 - 无法单击 iOS 项目的权利复选框

我有一个 iOS 项目,我已经做了一段时间了。我需要添加权利。当我选择我的目标并选中“权利”复选框时,它会在大约 1 秒后自动取消选中它自己。

我的项目中有一个 .entitlements 文件。我已将其删除并重新创建。我尝试检查带有和不带有 .entitlements 文件的“权利”复选框。

我不确定我需要提供哪些其他细节来说明这个问题,所以如果我遗漏了任何可能重要的内容,请告诉我。

0 投票
3 回答
2413 浏览

xcode - Mac App Store 拒绝 - 未启用应用沙盒

我已将我的应用程序提交到 Mac App Store 并且验证良好。但是,我不断收到以下无效二进制消息;

未启用应用沙箱 - 以下可执行文件必须在权利属性列表中包含布尔值为 true 的“com.apple.security.app-sandbox”权利。有关对您的应用程序进行沙盒化的更多信息,请参阅应用程序沙盒页面。

尽管在应用程序(应用程序和帮助程序)中启用了具有以下内容的权利;

不知道接下来要检查什么。

0 投票
1 回答
1801 浏览

sandbox - Mac OS 应用程序权利阻止互联网连接

我有一个需要传出连接的 Mac OS 应用程序。

我已按照 Apple Code Signing Guide (Xcode 4.6.2) 启用权利,我的目标摘要如下所示:

在此处输入图像描述

我的项目中有一个 MYAPP.entitlements 文件,如下所示:

在此处输入图像描述

一切似乎都以正确的方式设置,但是当我尝试运行我的应用程序时,即使

被调用,我的 webView 中没有加载任何内容。小飞贼也没有要求连接。然后,在控制台中不会出现违规。

如果我尝试通过取消选中“允许传出连接”来更改权利设置,控制台会以这种方式显示沙盒违规:

如果我删除 Enable App Sandboxing,一切正常,我的 webView 加载它的内容......

我努力了:

  1. 退出 Xcode
  2. 重新启动我的电脑
  3. 以保存模式启动
  4. 在权利中启用任何权限组合
  5. 创建一个新的 MYAPP.entitlements 文件
  6. 重命名我的目标

有人经历过这种行为吗?任何建议将不胜感激...谢谢。