繁体   English   中英

.pbxproj中缺少配置文件变量

[英]Provisioning Profile variable missing in .pbxproj

如此建议: https : //github.com/KrauseFx/fastlane/blob/master/docs/CodeSigning.md

我打开了我项目的project.pbxproj并搜索了这样的语句-

PROVISIONING_PROFILE = "";

奇怪的是,没有为配置文件定义变量。 我确保该设置在xCode的构建设置下是automatic的。 我也检查了其他几个项目,但缺少这样的声明。 是什么原因造成的? 另外,如果我手动想添加语句PROVISIONING_PROFILE = ""; 我应该将它放在project.pbxproj文件中的什么位置。

查找以XCBuildConfiguration开头的部分。 您将需要为项目中的每个构建配置添加它:

/* Begin XCBuildConfiguration section */
    8C822CD8279123D91163DD34 /* Release */ = { 
        isa = XCBuildConfiguration;
        buildSettings = {

                CODE_SIGN_ENTITLEMENTS = "";
                CODE_SIGN_IDENTITY = "iPhone Distribution: Company Name, Inc";
                "CODE_SIGN_IDENTITY[sdk=iphoneos4.2]" = "iPhone Distribution: Company Name, Inc";
...
                PROVISIONING_PROFILE = "";
                "PROVISIONING_PROFILE[sdk=iphoneos4.2]" = "";
                SDKROOT = iphoneos;
                TARGETED_DEVICE_FAMILY = "1,2";
        };
        name = "Release";
    };

缺少PROVISIONING_PROFILE等同于自动-将此值设置为除空以外的任何值(该值将是UUID)表示您打算使用UUID与PROVISIONING_PROFILE值匹配的特定配置文件。

在大多数情况下,您希望使用自动设置,该设置将显示为空的PROVISIONING_PROFILE行或不存在该行。 自动,您每次添加新的测试设备,启用新的基于权利的服务或仅重新发出现有配置文件时,都可以更新,下载和安装配置文件的较新版本,而不必更新构建配置。

供应配置文件以.mobileprovision存储在磁盘上,默认排序顺序为字母顺序。 使用“自动”时,以下规则用于选择要签名的个人资料-第一个与获胜者匹配的个人资料:

  • 具有明确AppID(com.mycompany.mydivision.myapp)的配置文件与当前项目的AppID完全匹配
  • 具有通配符(com.mycompany.mydivision。*)AppId的配置文件与反向DNS样式的项目AppID的最长组件匹配
  • 纯通配符(*)的配置文件

如果必须使用特定的配置文件,请记住,每次在“证书,身份和配置文件”工具上编辑配置文件时,都会下载新版本的配置文件-该配置文件的UUID会有所不同,因此每次进行更改时,您都需要更新构建设置。 如果您与开发团队合作,只需将新的开发人员证书添加到配置文件中,将导致生成新的UUID,并可能导致团队中一个或多个成员的代码签名错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM