问题标签 [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 投票
1 回答
543 浏览

ios - 缺少“aps-environment”权利。注册失败

我在 iOS 10 上苦苦挣扎了几天。我有一个使用 Xcode 7.3 构建的 iOS 8 和 iOS 9 应用程序。推送工作正常。

我更新了一些东西并发布了使用 XCode8.3 编译的应用程序。为 10.0+ 设备添加新的 UNUserNotificationCenter,添加功能 un build settings Entitlements 出现在我的项目中。一切似乎都很好。 在此处输入图像描述

我用沙盒环境进行了测试。该推送仍在 iOS10 设备上运行。一切都很好,所以我在 TestFlight 上上传了应用程序。

ios 10 Missing Push Notification Entitlement - 您的应用似乎注册了 Apple Push Notification 服务,但应用签名的权利不包括“aps-environment”权利

因此,我再次检查了所有内容,文档,教程,博客等……一切都按应有的设置。但我仍然收到此消息。

我尝试构建一个 AdHoc 版本来测试应用程序,但是 registerForRemoteNotification 正如预期的那样失败并出现此错误:

所以我下载了 IPA Generated 并检查了内容: 在此处输入图像描述

如您所见,权利似乎就在这里,为什么会出现这条消息,以及为什么它在注册时失败。

我迷路了,希望社区帮助我!

PS:使用的Apple文档: APNS TroubleShooting

应用分发指南

感谢您的宝贵帮助。

0 投票
1 回答
336 浏览

macos - 无法使用 NSTask 使用 Sandbox 编写

我很难调试 NSTask 的问题。

我使用以下命令启动 NSTask:

所以它基本上是启动一个任务,它是我正在运行的应用程序的另一个实例。该任务应该将(一个文件)转换为目标(另一个文件)。这仅在激活沙盒时不起作用。但即使在沙盒模式下,当我使用我的终端使用传递给NSTask的相同参数执行应用程序时,也会创建目标

谢谢你的帮助!

0 投票
1 回答
195 浏览

ios - macOS 和 iOS 目标是否应该共享相同的授权文件?

我有一个以 iOS 和 macOS 为目标的项目。当我将 iCloud 功能添加到 iOS 项目并运行它时,我收到一条错误消息,指出我的权利文件包含无效或不允许的权利。当我进入构建设置时,我注意到我的 iOS 目标使用与 macOS 目标相同的授权文件。

两个目标是否应该使用相同的授权文件,还是应该各自拥有自己的授权文件?

0 投票
1 回答
1439 浏览

ios - IOS - 如何退出 ipa 文件?

我尝试辞职 .ipa 文件,但我遇到了一些问题。我存档了项目并将其导出以进行临时部署,然后我按照本教程进行操作:https ://sholtz9421.wordpress.com/2012/06/08/digitally-resigning-ipa/ 。在安装过程中,我遇到了这个错误:“应用程序缺少应用程序标识符权利。” 所以我创建了一个“entitlements.plist”文件,并尝试使用参数--entitlements 辞职

codesign -f -v -s "MyIdentity" Payload/SampleApp.app --entitlements entitlements.plist

现在,当我尝试安装 .ipa 文件时,出现此错误:“无法验证代码签名..(可执行文件已使用无效权利进行签名)。”

我的 entitlements.plist 文件是这样的:

对这个问题有任何想法吗?任何帮助表示赞赏。

0 投票
1 回答
73 浏览

ios - -initWithDocumentTypes iCloud 仅在生产版本中崩溃

我正在使用 iCloud 功能通过 UIDocumentMenuViewController 从 iCloud 中选择文件。它在开发构建中运行良好,但是每当我在 Testflight 上上传带有生产配置文件的构建时,我的应用程序都会产生在线崩溃[[UIDocumentMenuViewController alloc] initWithDocumentTypes:@[@"public.data"] inMode:UIDocumentPickerModeImport];

我在一台机器上制作存档,然后在不同机器上使用命令行创建生产版本。

我还检查了生产的配置文件,发现所有功能都包含在权利部分下。

有人可以帮忙吗?

0 投票
0 回答
370 浏览

ios - 不必要的警告 缺少推送通知权利

我没有为应用程序使用任何推送通知服务。并且会员中心的我的AppID也没有推送服务打勾。当我尝试将应用程序提交到应用商店时,每次收到以下警告时

缺少推送通知权利 - 您的应用似乎注册了 Apple 推送通知服务,但应用签名的权利不包括“aps-environment”权利。如果您的应用程序使用 Apple 推送通知服务,请确保您的应用程序 ID 在配置门户中启用推送通知,并在使用包含“aps-environment”权利的分发配置文件签署您的应用程序后重新提交。Xcode 8 不会在构建时自动从配置文件中复制 aps-environment 权利。这种行为是故意的。要使用此权利,请在项目编辑器的“功能”窗格中启用推送通知,或手动将权利添加到您的权利文件中。

任何解决方案?

0 投票
1 回答
316 浏览

ios - iTunes Store 操作失败错误 ITMS-90701:“缺少权利?

iOS 11 和 Xcode 9.0 在 iTunes 上上传手表应用时出现以下错误。

iTunes Store 操作失败错误 ITMS-90701:“缺少权利。watchOS 扩展 'MyApp.app/Watch/iPhoneApp WatchKit App.app/PlugIns/iPhoneApp WatchKit Extension.appex' 使用 'UIBackgroundModes' 值 'workout-processing' 没有所需的权利'com.apple.developer.healthkit' 已登录捆绑包。”

欣赏是否有任何建议或想法。

0 投票
0 回答
422 浏览

ios - 存在哪些类型的自定义权利?

Apple 提供了一个很好的权利列表 权利密钥参考,任何人都可以使用。

但也存在一些“自定义权利”,只有在您的应用标识符被列入白名单时才能使用。

3个例子:

  • com.apple.developer.passkit.pass-presentation-suppression= 禁止显示 Apple Pay Pass
  • com.apple.developer.payment-pass-provisioning= 启用支付卡的应用内配置
  • com.apple.developer.networking.HotspotHelper= 将应用注册为热点助手

前两个实际上是通过Apple Pay 和 PassKit Entitlement Keys上的 Key Reference 列出的,但第三个仅在一些代码文档中列出(见黄色框)。

存在哪些类型的自定义权利?

0 投票
0 回答
163 浏览

xcode - Xcode:使用辅助二进制文件对捆绑包进行沙箱处理

我在文件夹资源中有一个包含一组辅助二进制文件的包。我成功签署并分发了它。当我尝试将其发布到 App Store Xcode 时抱怨:

据我所知,Xcode 的界面只处理主二进制文件(MacOS 文件夹)。我无法将辅助二进制文件移动到该文件夹​​。

我手动将这些二进制文件中的每一个的权利文件添加到资源文件夹中,但我没有找到如何警告 Xcode 它们的存在。我使用“RG App Checker Lite”检查了捆绑包。它只检测确认有问题的主授权文件(MacOS 文件夹中的二进制文件)。

一切顺利

莱纳斯

0 投票
1 回答
828 浏览

ios - 内部配置不起作用

大多数人可能会同意,iOS App Provisioning 是 iOS 开发人员必须处理的最令人困惑和复杂的主题之一,我就是其中之一。:-)

我们的一个团队需要开始对他们的应用进行 Beta 测试。这是一个公司应用程序,最终将在我们公司的应用程序目录 (InTune) 中发布,供几千名同事使用。据我所见,Inhouse 分发正是为了这个目的:部署到有限数量的受邀非开发人员测试人员,但不必收集他们的 UDID。为此,我设置了:

  • 内部配置文件,基于与团队开发配置文件完全相同的 AppId。
  • 成立 AppCenter Beta 测试组,并邀请了一些同事作为测试人员。
  • 在项目的构建定义中添加了“发布到 AppCenter”步骤,将 .IPA 文件部署到 AppCenter 中提到的测试组。

当构建运行一切正常并且应用程序按预期部署到测试组时。每个测试人员都可以安装应用程序,一切看起来都很好。但是,当他们尝试安装该应用程序时,他们会收到一条非常不具描述性的错误消息,称“无法安装该应用程序”。

我检查了设备日志,发现一条错误消息:“可执行文件的签名无效。”

我还通过下载内部配置文件(+ 签名证书)从 Visual Studio (Mac) 重新创建了失败的部署,并将构建/部署重新定位到“内部”。为了更好地衡量,我还手动选择了内部配置文件。

当我构建并部署到模拟器时一切正常,但是当我部署到物理设备时,我在 Visual Studio (Mac) 中收到此错误:

ApplicationVerificationFailed: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.zveLv9/extracted/{name-of-app}.app : 0xe8008016 (The executable was signed with invalid entitlements.) error MT1006: Could not install the application '{path-to-app}.app' on the device '{my-device-name}': Your code signing/provisioning profiles are not correctly configured. Probably you have an entitlement not supported by your current provisioning profile, or your device is not part of the current provisioning profile. Please check the iOS Device Log for details (error: 0xe8008016).

我的理解是,使用 AppId 启用权利并使用代码中的权利要求(通过 Entitlements.plist 文件)。这导致 med 假设引用相同 AppId 的两个配置文件也将启用相同的权利。这是不正确的吗?显然,我从代码中请求相同的权利,因为我正在使用两个不同的配置文件编译完全相同的分支。

我怀疑我误解或忽略了一些东西......