Xcode 项目中缺少应用沙盒功能

inh*_*rbp 6 xcode appstore-sandbox xcodeproj

根据本指南,App Sandbox项目文件中应该有一个功能:

在此处输入图片说明

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

在此处输入图片说明

为什么它不见了,我怎样才能得到它?

小智 10

首先,您应该打开***.entitlements文件。在此文件中,添加一个名为 KeyApp Sandbox并将 Value 更改为YES.

完成以上步骤后,点击command + b返回Signing & CapabilitiesApp Sandbox出现 。

  • 看来没有 (3认同)

And*_*dom 5

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

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

  1. 如果您的项目缺少.entitlements文件,请创建一个新文件:
  • 菜单:View>>NavigatorsProject
  • 选择项目的根级别(项目图标)
  • 菜单:File>>NewFile...
  • 使用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>
    
    
    Run Code Online (Sandbox Code Playgroud)
  1. 在项目的构建目标设置中注册这个新文件。
  • 菜单:View>>NavigatorsProject

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

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

  • 在编辑器区域中,选择Build Settings选项卡

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

  • 在列表中,找到CODE_SIGN_ENTITLEMENTS

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

    示例:butterflies.entitlements 示例:butterflies/butterflies.entitlements

我建议然后做一个Clean Build Folder,选择一个合适的构建平台并做一个产品BuildRun

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