You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

加载NativeAdView.xib失败:NSInternalInconsistencyException异常求助

解决自定义框架中加载NativeAdView.xib失败的问题

报错信息

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </Users/rishabhtripathi/Library/Developer/CoreSimulator/Devices/A5B3DA12-7E52-4A44-A038-CA16AAC3A137/data/Containers/Bundle/Application/7CD08748-C2FF-47A6-8222-3C2120E8C344/TestApp.app> (loaded)' with name 'NativeAdView''

问题场景

自定义框架MyFramework中使用NativeAdView.xib,该XIB关联Google Mobile Ads SDK的GADNativeAdView类(无自定义关联类),框架依赖Google Ads SDK。打包为MyFramework.xcframework导入测试应用后,两种NIB加载方式均触发上述错误:

  • 方式1:
let bundle = Bundle.main                  
return bundle.loadNibNamed("NativeAdView", owner: nil, options: nil)?.first as? GADNativeAdView
  • 方式2:
let bundle = Bundle(for: Self.self)
return bundle.loadNibNamed("NativeAdView", owner: nil, options: nil)?.first as? GADNativeAdView

解决方案

1. 确认XIB被正确打包进框架

  • 打开NativeAdView.xib的文件检查器,在「目标成员资格」区域,确保勾选了你的自定义框架目标(MyFramework)。
  • 进入框架的Build Phases,检查「Copy Bundle Resources」列表中是否包含NativeAdView.xib,若没有则手动添加。

2. 修正Bundle加载逻辑

框架内的资源文件属于框架自身的Bundle,而非主APP或任意类的Bundle,需精准定位框架Bundle:

// 方法一:通过框架内的类定位(确保该类属于MyFramework)
let frameworkBundle = Bundle(for: MyFrameworkMarkerClass.self)
// 方法二:通过框架的Bundle ID定位
guard let frameworkBundle = Bundle(identifier: "com.yourdomain.MyFramework") else {
    fatalError("MyFramework Bundle 未找到")
}
return frameworkBundle.loadNibNamed("NativeAdView", owner: nil, options: nil)?.first as? GADNativeAdView

注:MyFrameworkMarkerClass是你框架内任意一个自定义类,用于标记框架Bundle;com.yourdomain.MyFramework替换为你框架实际的Bundle ID。

3. 检查XIB的类配置

打开NativeAdView.xib的身份检查器:

  • 确认根视图的类设置为GADNativeAdView,且「模块」选择GoogleMobileAds(而非自定义框架)。

4. 测试APP的框架导入配置

在测试APP的Build Phases > Frameworks, Libraries, and Embedded Content中,确保MyFramework.xcframework的设置为「Embed & Sign」。

内容的提问来源于stack exchange,提问作者risshh18

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 02:50:01