为 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文件使用。
暂时这样就可以了
- 在您的“应用程序”文件夹中找到 Xcode。
- Select 应用程序,然后按 Command-I(或 right-click/use 文件菜单和 select 获取信息。)。这将打开一个信息 window,其中包含有关该应用程序的详细信息。
- 在信息 window 中,查找标记为“使用 Rosetta 打开”的复选框。检查框。
- 关闭信息 window。
- 如果您已经运行该应用程序,请退出并重新启动。
在我将 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文件使用。
暂时这样就可以了
- 在您的“应用程序”文件夹中找到 Xcode。
- Select 应用程序,然后按 Command-I(或 right-click/use 文件菜单和 select 获取信息。)。这将打开一个信息 window,其中包含有关该应用程序的详细信息。
- 在信息 window 中,查找标记为“使用 Rosetta 打开”的复选框。检查框。
- 关闭信息 window。
- 如果您已经运行该应用程序,请退出并重新启动。