Xcode 14 - 无法进行代码签名,因为目标缺少 Info.plist 文件。

16

我在我的项目中使用,之前一直正常工作,但是升级到Xcode 14后出现了不同类型的错误。

首先它要求启用位码(bit code),然后要求指定开发团队,我通过在Podfile中使用以下脚本解决了这个问题。

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      #config.build_settings['BITCODE_GENERATION_MODE'] = 'bitcode'
      config.build_settings['ENABLE_BITCODE'] = 'YES'
      config.build_settings["DEVELOPMENT_TEAM"] = " Your Team ID "
    end
  end
end

解决了那些错误之后,又出现了另一个错误,即:

错误构建:无法签署代码,因为目标没有 Info.plist 文件,且未自动生成。使用 INFOPLIST_FILE 构建设置为目标应用 Info.plist 文件,或通过将 GENERATE_INFOPLIST_FILE 构建设置设置为 YES(推荐)自动生成一个。

我的 pods 已经更新,CocoaPods 版本为 1.11.3。我该如何解决这个错误?

编辑:

这里提到了一些细节here,但对我都不起作用。


1
嘿Hassy!你有任何消息/更新吗?谢谢。 - Alexander Khitev
嘿,Hassy。你解决了这个问题吗? - Amjad Tubasi
#为解决Xcode 14 CocoaPods而添加post_install do |installer| installer.pods_project.targets.each do |target| if target.respond_to?(:product_type) and target.product_type == "com.apple.product-type.bundle" target.build_configurations.each do |config| config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' end end end end我已在pod文件的最后一个end之前添加了上述内容。 - Hassy
此外,我已经在我的项目中禁用了位码,因为在大多数情况下现在不再需要它。苹果已将其作为必需项删除。我之前使用位码来获取 Dsym 符号,但现在不需要位码。您可以查看详细信息:https://dev59.com/E1EG5IYBdhLWcg3wJE9p - Hassy
当我在真实设备上构建时,一切都正常运行。但是当构建模拟器时,出现了上述问题。 - Engr.Aftab Ufaq
4个回答

31

我通过以下更改解决了这个问题:

Pods -> Build Settings -> Packaging -> Generate Info.plist File = Yes


我曾经遇到过类似的问题,也必须在应用程序项目上执行相同的操作,选择特定的构建目标(还要选择“全部”选项卡并使用筛选框,如果找不到“生成Info.plist文件”项)。更改这些设置会向.pbxproj文件添加GENERATE_INFOPLIST_FILE = YES;行,可以提交。 - user56reinstatemonica8
当我在真实设备上构建时,一切都正常运行。但是当构建模拟器时,出现了上述问题。 - Engr.Aftab Ufaq
当我在真实设备上构建时,一切都正常工作。但是当构建模拟器时,出现了上述问题。 - undefined
@Engr.AftabUfaqey,对不起回复晚了...要解决那个错误,你需要升级你的项目,因为React-codegen有一些问题,在0.70.8版本中已经解决了,在Podfile中添加以下内容:installer.pods_project.targets.each do |t| t.build_configurations.each do |config| config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO' end end - lucas emanuel himelfarb

5

这个技巧(即将pod的构建设置中的CODE_SIGNING_ALLOWED设置为NO)对我有用。


已经尝试过了,但是没有起作用。 - Amjad Tubasi
当我在真实设备上构建时,一切都正常运行。但是当构建模拟器时,出现了上述问题。 - Engr.Aftab Ufaq

3
在我的情况下,我通过将 Info.plist 路径添加到以下位置来解决这个问题: Pods -> Build Settings -> Packaging -> Info.plist 文件。

请问您能告诉我我们需要在那里添加什么内容吗? - Umang Loriya
1
在Xcode中,左侧导航栏选择“Pods”,然后在Xcode的主要部分中选择“Build Settings”-->“Packaging”-->“Generate info.plist File = Yes”。 - Sgreulic
当我在真实设备上构建时,一切都正常运行。但是当构建模拟器时,出现了上述问题。 - Engr.Aftab Ufaq
当我在真实设备上构建时,一切都正常工作。但是当我在模拟器上构建时,出现了上述问题。 - undefined

0
以上所有的解决方法对我都没有用。最后一个解决方案对我有效,即Pod -> Build Setting ->Generate Info.plist设置为NO,并将React-Codegen设置为YES

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接