在带有 M1 芯片的 Xcode 12 上找不到类型“*”

Posted

技术标签:

【中文标题】在带有 M1 芯片的 Xcode 12 上找不到类型“*”【英文标题】:Cannot find type '*' in scope on Xcode 12 with M1 Chip 【发布时间】:2021-02-06 11:42:39 【问题描述】:

我刚刚使用 Apple M1 芯片在 Xcode 12 上开始了一个新项目。我在安装 Pod 时确实遇到了问题,但我能够使用 sudo arch -x86_64 gem install ffi 然后 arch -x86_64 pod install 修复它们。现在,我面临的问题是当我添加应用内购买和广告的 admob pod 时。我收到一条错误消息,上面写着 Cannot find type 'SKProduct' in scopeCannot find type 'GADInterstitial' in scope。我在 Build Settings 中将 Validate Workspace 更改为 YES 并没有解决它。

【问题讨论】:

您是否将必要的库导入MainViewController 是的,我做到了。但他们仍然没有工作。 我遇到了同样的问题。运气好了吗? 请勿发布代码、数据、错误消息等的图片 - 将文本复制或输入到问题中。 How to Ask 【参考方案1】:

GADInterstitial 在 GADInterstitialAd Google Ads v 8.0.0 中重命名

查看所有重命名的类 https://developers.google.com/admob/ios/migration#class_renames

【讨论】:

谢谢@fab,你节省了我的时间!【参考方案2】:

我遇到了同样的错误: 在范围内找不到类型“SKProduct”,在范围内找不到类型“GADInterstitial”。我在项目中使用 Firebase。在 pod 文件中,当我将 pod 'Firebase/Analytics' 更改为 pod 'FirebaseAnalytics' 然后从终端打开 xcworkspace 然后清理项目时问题已解决。

【讨论】:

你能在你的答案中添加一些上下文吗?您可能已修复它,但您的答案不够清晰。新的贡献者陷入这个陷阱是很常见的。可以理解。 即使这对你有用。如您所见,我的应用程序在应用程序购买中使用,我需要为此导入 StoreKit。 StoreKit 没有 pod 名称或类似名称。为了让您集成 StoreKit,您必须在 Xcode 中选择框架。如果我能够修复 firebase,那么我仍然坚持使用 StoreKit

以上是关于在带有 M1 芯片的 Xcode 12 上找不到类型“*”的主要内容,如果未能解决你的问题,请参考以下文章

M1芯片XCode 12编译模拟器Architecture报错问题

M1芯片XCode 12编译模拟器Architecture报错问题

M1芯片XCode 12编译模拟器Architecture报错问题

M1芯片XCode 12编译模拟器Architecture报错问题

Flutter 图像选择器在带有 Mac M1 芯片模拟器的 ios 14 中不起作用

带有 Xcode 12.5 的 M1 Mac 从不运行 Flutter 项目