问题标签 [code-signing-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 投票
2 回答
5427 浏览

macos - 尝试使用 codesign 命令沙箱时出错

我正在尝试使用codesign命令沙箱我的 OS X 应用程序(这是一个常见的 lisp 应用程序,不使用 Xcode)。我创建了一个非常基本的权利 plist,如下所示:

我正在调用codesign命令:

但是此命令返回以下错误:

这个错误是否意味着我使用了错误的命令?如果是这样,该命令有什么问题?

0 投票
0 回答
310 浏览

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

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

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

我的权利文件:

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

0 投票
2 回答
488 浏览

iphone - 如何重新创建分发配置文件

将我的应用程序提交到应用程序商店(后来它被批准并发布)后,我收到一封电子邮件,说明:

缺少推送通知权利 - 您的应用似乎包含用于注册 Apple 推送通知服务的 API,但应用签名的权利不包括“aps-environment”权利...

通过这篇文章,我了解到我需要重新创建个人资料,并再次提交应用新的个人资料辞职。

  1. 如何重新创建个人资料?通过编辑和保存,还是通过删除它并创建一个新的?
  2. 更重要的是 - 重新创建配置文件会影响应用商店中的现有应用吗?
0 投票
3 回答
1854 浏览

ios - 无法 CodeSign iOS 应用程序。找不到有效的配置文件

我正在尝试在设备上测试我的应用程序。我有一个单用户开发者 ID。我按照 Apple 的指南申请了开发/分发证书并创建了一个团队配置文件(团队名称是我的 appleID 名称 Felipe Lira)我已经检查了钥匙串、xCode 和会员中心,所有证书都是有效的,配置文件是在设备上正确安装。不过,我收到了这个错误:

由于我的证书/配置文件一切正常,我假设这一定是与我的捆绑标识符相关的问题。老实说,我不确定我应该输入什么名字......有没有办法在配置文件中检查我应该匹配什么名字?

我的应用程序名称也有一些特殊字符/空格,在包 ID 中它们显示为“-”。这是一个问题吗?

提前致谢。

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. 重命名我的目标

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

0 投票
0 回答
739 浏览

ios - 安装后:权利“应用程序标识符”具有配置文件不允许的值

我有一个使用(cmd 工具)ipa构建的文件,并成功安装并可以在我的 iPad 上看到它。当我启动它时,它只是一个空白屏幕,我可以在控制台(Xcode)中看到xcodebuild

:权利“应用程序标识符”具有配置文件不允许的值)

我已经使用codesign 工具ipa进行了验证,并且文件上的所有值都是正确的,

我正在使用单个目标从不同的设置和资产创建多个应用程序。

我辞职了我的应用程序,xcrun因为我必须在构建过程之后复制资产。据我所知,如果我在处理这个项目时有错误的值、配置文件或证书组合,我不应该得到一个.ipa甚至会安装在设备上的东西。

看起来与.ipa 设备上的配置文件相关联的配置文件与其构建时所用的配置文件不同。

我是一名 ruby​​ 开发人员,所以xCodeiOs开发对我来说是新的,任何帮助将不胜感激

0 投票
2 回答
1175 浏览

iphone - 如何使用权利密钥访问私有 iOS 功能

根据我从有关 Entitlements plist 的文档中了解到的信息 - 这些文件定义了属性,这些属性使您的应用程序可以访问 iPhone OS 功能(例如推送通知)和安全数据(例如用户的钥匙串)。

公开地,您可以使用的唯一授权密钥是 get-task-allow,它最终使 ptrace() 函数可用于应用程序,从而启用调试。但是有很多权利是私下使用的,例如

  1. task_for_pid-allow,允许控制其他进程(通过 task_for_pid() 函数)
  2. run-unsigned-code,允许在没有签名的情况下从这个应用程序运行代码。
  3. com.apple.springboard.launchapplications、com.apple.springboard.wipedevice 等。

我的问题是有人使用这些密钥中的任何一个来访问私有 iOS 功能吗?我们如何做到这一点?如果我将这些密钥放在我的 Entitlements.plist 中,我将无法进行代码签名并将应用程序放在设备上。

0 投票
3 回答
7569 浏览

iphone - iOS 应用程序可以在运行时读取自己的权利吗?

iOS 应用程序能否在运行时发现、检查或以其他方式读取其自身的权利?

理想情况下,我可以将 .entitlements 文件的全部(已处理)内容作为 plist 读取。仅获取应用标识符前缀将是可接受的次优方法。

这里的目标包括:允许使用各种应用标识符前缀对应用进行签名,而无需对代码进行匹配更改;并在存在或不存在共享钥匙串访问组时采取不同的行动。这是库代码,所以我对客户端应用程序的配置施加的越少越好。

0 投票
1 回答
439 浏览

xcode - 在多个 OS X 版本上测试支持 iCloud 的应用程序

我有一个使用 iCloud 权利的沙盒 Mac 应用程序,我正试图找出一种在多个 OS X 版本(即 10.7、10.8 和 10.9)上测试它的好方法。在添加 iCloud 权利之前,我通常的做法是创建应用程序的存档并将其导出为开发人员 ID 签名的应用程序,然后将应用程序推到安装了不同操作系统的各个分区并在每个分区上试用一。

但是,现在我拥有 iCloud 权利,如果只有开发人员 ID 签名,应用程序将拒绝启动;你必须让 Mac App Store 签署 iCloud 的无处不在的容器权利。我可以在关闭 iCloud 权利的情况下进行单独的构建,但如果有更简单的方法来获得我的应用程序的打包便携版本,我可以在其他计算机上进行测试,我会喜欢它。

所以,简而言之,我的问题是:有没有一种方法可以创建具有 iCloud 权利的应用程序包,我可以将其移动到其他计算机或分区进行测试,或者 b) 一种更好的方法来测试具有 App Store 权利的沙盒应用程序多个 OS X 版本?

0 投票
1 回答
1450 浏览

mapkit - MapKit 权利奇怪

我有一个简单的 Mac 应用程序,不用于任何形式的分发;只是个人使用。该应用程序是一个NSWindow包含一个MKMapView. 由于我没有 Mac 开发帐户,也不想要一个(请参阅“仅供个人使用”),因此我没有进行任何形式的代码签名或配置。

但是,在启动时,我得到一张空白地图和这个错误:

您的应用程序已尝试访问 Map Kit API。如果没有授权,您将无法访问此 API。您可能会从 Mac 开发人员计划中获得一项权利,仅供您与您的 Mac App Store 应用程序一起使用。有关 Apple Mac 开发者计划的更多信息,请访问 developer.apple.com。

我真的需要购买 Mac 开发者帐户才能MKMapView在 OS X 上使用吗?如果没有,我错过了什么?