Xcode 11 Swift 5 - 无法安装应用程序(无法加载 info.plist 文件)

Posted

技术标签:

【中文标题】Xcode 11 Swift 5 - 无法安装应用程序(无法加载 info.plist 文件)【英文标题】:Xcode 11 Swift 5 - Unable to install app (failed to load info.plist file) 【发布时间】:2020-01-10 20:50:17 【问题描述】:

正如标题所说,我无法在设备或模拟器上安装我的应用程序(但是构建成功)。 仅当我使用 Cocoapods 时安装才会失败。

原因似乎是它找不到安装的单个 pod 的 Info.plist 文件。

当我安装到模拟器时,我收到错误消息:

“此时无法安装此应用程序:无法从路径的捆绑包中加载 Info.plist ...有关 plist 的额外信息:ACL="

当我安装到我的设备时,我收到错误消息:

“无法安装。”详细信息中的失败原因是“无法检查应用程序包。”

失败的 pod(例如)是 ZIPFoundation 和 ReachabilitySwift。

在 Pods 项目下,如果我在 Targets 下选择框架,则没有 Info.plist 文件可用,所以我不确定在 pods 安装期间是否没有复制 plist 文件。

# Uncomment the next line to define a global platform for your project
platform :ios, '11.0'

target 'app' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for app
  pod 'ReachabilitySwift'
  pod 'ZIPFoundation'

  target 'appTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'appUITests' do
    # Pods for testing
  end

end

我在 Xcode 11.2.1 中使用 Swift 5。

我已经尝试了很多解决方法,但都没有解决方案,因此我将不胜感激有关该问题的任何提示和信息,因为我目前无法在我的项目中使用任何 Pod。

编辑:

我用一个新项目重现了这个问题。

在项目文件夹中,运行 pod init。 添加 pod 'ReachabilitySwift' 吊舱安装 打开工作区 在模拟器上构建并运行 -> “此时无法安装此应用”

同样,这是使用 Xcode 11.2.1。

【问题讨论】:

很抱歉,这是一个“愚蠢”的问题,但是,您在制作此 pod 文件后是否运行过 pod install 和/或 pod update? 没有愚蠢的问题。是的,我还清除了 Pods 文件夹,删除了 Podfile.lock 和工作区,然后更新了 pod。我已经重置了模拟器,删除了模拟器缓存,删除了 DerivedData,并清理了 Xcode @DawsonLoudon 中的构建文件夹 @boppa 你解决了吗?我有同样的问题。 【参考方案1】:

我今天遇到了同样的问题。运行“pod install”后,我的 cocoapods 卡在任何项目中。刚安装完就突然发生了:https://github.com/yiplee/YPNavigationBarTransition

然后我立即卸载了该插件并完全清除了缓存。还重新安装了 cocoapods。没运气。我正在尝试将 Xcode 升级到 12,现在希望能发生一些奇迹。

编辑:解决方法是为所有 pod 添加一个假 plist

general_pod_info.plist

<?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>CFBundleDevelopmentRegion</key>
  <string>en</string>
  <key>CFBundleExecutable</key>
  <string>$EXECUTABLE_NAME</string>
  <key>CFBundleIdentifier</key>
  <string>$PRODUCT_BUNDLE_IDENTIFIER</string>
  <key>CFBundleInfoDictionaryVersion</key>
  <string>6.0</string>
  <key>CFBundleName</key>
  <string>$PRODUCT_NAME</string>
  <key>CFBundlePackageType</key>
  <string>FMWK</string>
  <key>CFBundleShortVersionString</key>
  <string>4.3.0</string>
  <key>CFBundleSignature</key>
  <string>????</string>
  <key>CFBundleVersion</key>
  <string>$CURRENT_PROJECT_VERSION</string>
  <key>NSPrincipalClass</key>
  <string></string>
</dict>
</plist>

【讨论】:

干得好!这是一个临时的解决方案,苹果必须解决这个问题。【参考方案2】:

从 Podfile 中删除 use_frameworks! 是我的解决方案。以下线程帮助我找到了https://forums.developer.apple.com/thread/126598#398211

【讨论】:

以上是关于Xcode 11 Swift 5 - 无法安装应用程序(无法加载 info.plist 文件)的主要内容,如果未能解决你的问题,请参考以下文章

更新到 Xcode 11 Swift 5.1 后出现 Google AdMob 错误

Xcode 11.1 GM 发布,这可能才是真正的 Xcode 11;Swift 5.2 正式提上日程

为啥我的 Firebase/Auth 包没有安装在 xcode(swift 5) 中?

无法开发应用程序,因为在 iOS 13.0/Xcode 11 beta 5 中“无法在设备上找到应用程序”[重复]

iOS 11 - 无法更改导航栏高度

Xcode(Swift):我无法在视图控制器之间传输数据