为 iOS 模拟器构建,但在为 iOS 构建的目标文件中链接

building for iOS Simulator, but linking in object file built for iOS

在我将 Google Places 集成到我的应用程序之前,我在模拟器上 运行 没问题,但现在我可以 运行 我的应用程序只在物理设备上。我尝试排除 arm64,就像许多答案中建议的那样,但没有成功。完整错误如下:

building for iOS Simulator, but linking in object file built for iOS, file '/Users/davitmuradyan/Documents/DigiSoft/trip-share-ios/TripShare/Pods/GoogleMaps/Base/Frameworks/GoogleMapsBase.framework/GoogleMapsBase' for architecture arm64

解决方案1:进入构建设置>排除架构,添加arm64进行调试和发布 解决方案 2:转到 Xcode 首选项 > 位置,然后删除派生数据文件并清理项目和 运行 解决方案3:delete那个框架 解决方案4:use package installation instead of pod

x86_64 模拟器中的项目 运行 需要架构。

arm64 运行 真实设备上的项目需要架构。

您可以使用以下命令来检查Google Place SDK是否包含x86_64:

lipo -info /Users/XXXXXXXXX/XXXXXXXXXXXX/GooglePlace.framework/GooglePlace

拖放 SDK 文件并检查。

如果您被添加 Google 将 SDK 设置为静态。请通过Pod文件使用。

暂时这样就可以了

  1. 在您的“应用程序”文件夹中找到 Xcode。
  2. Select 应用程序,然后按 Command-I(或 right-click/use 文件菜单和 select 获取信息。)。这将打开一个信息 window,其中包含有关该应用程序的详细信息。
  3. 在信息​​ window 中,查找标记为“使用 Rosetta 打开”的复选框。检查框。
  4. 关闭信息 window。
  5. 如果您已经运行该应用程序,请退出并重新启动。