Xcode 项目中缺少应用程序沙箱功能

问题描述 投票:0回答:3

根据本指南,项目文件中应该有一个

App Sandbox
功能:

enter image description here

但是,由于某种原因,我的应用程序项目没有任何我可以打开的

App Sandbox
功能:

enter image description here

为什么丢失了,我怎样才能找到它?

xcode appstore-sandbox xcodeproj
3个回答
24
投票

首先,您应该打开

***.entitlements
文件。在此文件中,添加名为
App Sandbox
的键并将值更改为
YES

完成上述步骤后,点击

command + b
然后返回
Signing & Capabilities
,将会出现
App Sandbox


6
投票

在 Xcode 中添加缺少的应用程序沙箱功能

(简单易行,但记住起来很痛苦。)

  1. 如果您的项目缺少
    .entitlements
    文件,请创建一个新文件:
  • 菜单:
    View
    >
    Navigators
    >
    Project
  • 选择项目的根级别(项目图标)
  • 菜单:
    File
    >
    New
    >
    File...
  • 使用
    Property List
    模板
  • 以您的项目命名该文件。示例:
    MYPROJECT.entitlements
    .
  1. 编辑文件:
  • 在项目导航器侧栏中选择文件。

  • 添加新行(通过

    (+)
    符号,就像添加
    .plist
    文件一样。)

    键:

    App Sandbox
    类型:
    Boolean
    值:
    YES

    这与将源代码(文件内容)编辑为相同:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>com.apple.security.app-sandbox</key>
        <true/>
    </dict>
    </plist>
    
    
  1. 在项目的构建目标设置中注册这个新文件。
  • 菜单:

    View
    >
    Navigators
    >
    Project

  • 选择项目的根级别(项目图标)

  • project and targets list
    (编辑器的左侧边栏)中,选择 TARGETS 下的目标(不是项目)

  • 在编辑器区域中,选择

    Build Settings
    选项卡

  • 选择

    All
    (显示所有构建设置),而不是
    Basic

  • 在列表中找到

    CODE_SIGN_ENTITLEMENTS

  • 将其值设置为

    .entitlements
    文件的位置。如果您在项目的根级别创建它,则这只是文件名,否则是相对文件夹路径。

    示例:

    butterflies.entitlements
    示例:
    butterflies/butterflies.entitlements

我建议然后做一个

Clean Build Folder
,选择一个合适的构建平台并做一个产品
Build
Run

警告:

App Sandbox
可能会因其他原因而丢失,但这是我遇到的最常见的一个。


4
投票

如果您的 Apple 配置文件缺少 App Sandbox 权利,那么它不会显示在 xcode 中。

仅供参考 - 您可以手动添加到权利文件,但是除非在您的配置文件中进行了描述,否则它不会让您构建。分发也是如此。

添加权利 > 打开 *.entitlements 文件作为源代码 > 添加以下代码。

<key>App Sandbox</key> <true/>

如果您是 Apple store 项目的管理员/团队代理,则可以使用所需的功能重新生成配置文件。

希望这有帮助。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.