在 -Swift.h 文件中找不到模块'Framework'



我已经创建了这个示例Swift框架,其中通过Cocoapods集成了GoogleMobileAds。我有一个继承自GADNativeAdView的类NativeAdView

import GoogleMobileAds
@objc public class NativeAdView: GADNativeAdView {

}

我也有一个样本目标,这是一个Objective-C应用程序。我导入框架头如下在我的AppDelegate.m.

#import <SampleFramework/SampleFramework-Swift.h>

现在当我运行Objective-C目标时,它会在文件SampleFramework-Swift.h中抛出一个错误

@import GoogleMobileAds; -------- Module 'GoogleMobileAds' not found.

但是,如果我将NativeAdView的父类更改为Google广告类以外的任何东西,则错误消失,构建编译并成功运行。

@import GoogleMobileAds;line也远离SampleFramework-Swift.h

文件我不知道发生了什么事。

Github link - https://github.com/rishabdutta/FrameworkSample

首先,更新目标SampleFramework, samplesswift, SampleObjc的bundle标识符,使其不同。

尝试如下更新Podfile。Cocoapods的工作方式是这样的,在你的设置中,你必须为每个使用它的目标指定"Google-Mobile-Ads-SDK",但为了避免复制这一行,你可以使用abstract_target,这样依赖项就会自动添加到里面的所有目标:

use_frameworks!
abstract_target 'Common' do
pod 'Google-Mobile-Ads-SDK'
target 'SampleFramework' do
end
target 'SampleObjc' do
end
target 'SampleSwift' do
end
end

但是这样你将面对一个运行时警告&quot类APMAdExposureReporter被实现在…",但应用程序将工作,警告不会引起真正的问题-它在这里讨论,但我个人不知道如何处理它的最佳实践

相关内容

  • 没有找到相关文章

最新更新