跳到主要内容

iOS常见问题

App关闭时出现的崩溃堆栈

Crashed: com.apple.main-thread
0 UnityFramework 0x32a2020 GC_is_marked + 243 (mark.c:243)
1 UnityFramework 0x18ed614 push_ephemerons() + 713 (BoehmGC.cpp:713)
2 UnityFramework 0x329ff28 GC_mark_some + 416 (mark.c:416)
3 UnityFramework 0x329f40c GC_stopped_mark + 832 (alloc.c:832)
4 UnityFramework 0x329eea0 GC_try_to_collect_inner + 580 (alloc.c:580)
5 UnityFramework 0x329ab80 GC_init + 1334 (misc.c:1334)
6 UnityFramework 0x329b28c GC_generic_malloc_inner + 175 (malloc.c:175)
7 UnityFramework 0x329af98 GC_gcj_malloc + 147 (gcj_mlc.c:147)
8 UnityFramework 0x191d140 il2cpp::vm::Object::NewAllocSpecific(Il2CppClass*) + 81 (Object.cpp:81)
9 UnityFramework 0x1922f4c il2cpp::vm::Thread::Attach(Il2CppDomain*) + 263 (Object.cpp:263)
10 UnityFramework 0x1924650 il2cpp::vm::ScopedThreadAttacher::ScopedThreadAttacher() + 15 (ScopedThreadAttacher.cpp:15)
11 RummyParty 0x18473b4 ReversePInvokeWrapper.TradplusInterstitialiOS_InterstitialClosedCallback (TradplusSDK.cpp)
12 UnityFramework 0x18cb068 -[TPUInterstitial tpInterstitialAdDismissed:] + 165 (TPUInterstitial.m:165)
13 UnityFramework 0x249c070 __35-[TradPlusAdInterstitial closeAct:]_block_invoke + 718 (TradPlusAdInterstitial.m:718)
14 UnityFramework 0x249bf90 -[TradPlusAdInterstitial closeAct:] + 718 (TradPlusAdInterstitial.m:718)
15 UnityFramework 0x249b01c -[TradPlusAdInterstitial closeEvent:] + 637 (TradPlusAdInterstitial.m:637)
16 UnityFramework 0x249ae6c __53-[TradPlusAdInterstitial setShowCallbackWithAdapter:]_block_invoke_4 + 613 (TradPlusAdInterstitial.m:613)
17 UnityFramework 0x24a279c -[TradPlusBaseAdapter AdClose] + 270 (TradPlusBaseAdapter.m:270)
18 UnityFramework 0x1f339a0 GAD_GADInterstitialAd_arm64_11_6_0 + 2864
Crashed: com.apple.main-thread
0 UnityFramework 0x32a2020 GC_is_marked + 243 (mark.c:243)
1 UnityFramework 0x18ed614 push_ephemerons() + 713 (BoehmGC.cpp:713)
2 UnityFramework 0x329ff28 GC_mark_some + 416 (mark.c:416)
3 UnityFramework 0x329f40c GC_stopped_mark + 832 (alloc.c:832)
4 UnityFramework 0x329eea0 GC_try_to_collect_inner + 580 (alloc.c:580)
5 UnityFramework 0x329ab80 GC_init + 1334 (misc.c:1334)
6 UnityFramework 0x329b28c GC_generic_malloc_inner + 175 (malloc.c:175)
7 UnityFramework 0x329af98 GC_gcj_malloc + 147 (gcj_mlc.c:147)
8 UnityFramework 0x191d140 il2cpp::vm::Object::NewAllocSpecific(Il2CppClass*) + 81 (Object.cpp:81)
9 UnityFramework 0x1922f4c il2cpp::vm::Thread::Attach(Il2CppDomain*) + 263 (Object.cpp:263)
10 UnityFramework 0x1924650 il2cpp::vm::ScopedThreadAttacher::ScopedThreadAttacher() + 15 (ScopedThreadAttacher.cpp:15)
11 RummyParty 0x184fccc ReversePInvokeWrapper.TradplusRewardVideoiOS_RewardVideoClosedCallback (TradplusSDK.cpp)
12 UnityFramework 0x18c75f8 -[TPURewardVideo tpRewardedAdDismissed:] + 171 (TPURewardVideo.m:171)
13 UnityFramework 0x248a42c __31-[TradPlusAdRewarded closeAct:]_block_invoke + 680 (TradPlusAdRewarded.m:680)
14 UnityFramework 0x248a1ec -[TradPlusAdRewarded closeAct:] + 680 (TradPlusAdRewarded.m:680)
15 UnityFramework 0x24889b8 __49-[TradPlusAdRewarded setShowCallbackWithAdapter:]_block_invoke_4 + 498 (TradPlusAdRewarded.m:498)
16 UnityFramework 0x24a279c -[TradPlusBaseAdapter AdClose] + 270 (TradPlusBaseAdapter.m:270)
17 UnityFramework 0x1f467a8 GAD_GADRewardedAd_arm64_11_6_0 + 2572
18 UnityFramework 0x1ebd7c0 GAD_GADFullScreenAd_arm64_11_6_0 + 6532
19 UnityFramework 0x1ebdb74 GAD_GADFullScreenAd_arm64_11_6_

上面两个崩溃堆栈,已查明是插屏,激励广告全屏播放未关闭时,用户主动后台杀死app时发生的。

可在 unity 触发 OnApplicationQuit 生命周期时移除我们广告的回调,这样就可以解决以上问题了。

private void OnApplicationQuit()
{
TradplusRewardVideo.Instance().ClearCallback();
TradplusInterstitial.Instance().ClearCallback();
}

升级到Xcode15后加载unityAds时崩溃

崩溃堆栈如下:

解决方案

  1. 使用unityAds v4.9.2及以上版本(unityAds在v4.9.2版本中修复了此问题) 2.使用Xcode15的话需要把App对最低版本修改为12.0或以上版本 3.使用Xcode14进行编译打包

加载错误 600009 "waterfall bean is null"

  • 检查 TradPlus后台 广告位的中介组中是否已配置了广告源

  • 如果 TradPlus后台 广告位的中介组中只配置了海外bidding的广告源时,请检查手机ip是否在海外。手机处于国内IP时是无法获取到海外bidding配置的。

  • 测试广告时,建议在 TradPlusSDK open初始化完成后再进行广告加载操作。

  • 如果您的广告加载是紧接着open初始化调用的情况下(未等待open初始化完成), v7.1.0+版本可以通过API忽略SDK隐私设置强制获取IDFA。从而方便的中介组分组及测试模式的idfa设备匹配。

// 通过设置此接口可以强制获取IDFA(v7.1.0+新增)
// 注:测试完成后一定要移除或关闭,开启时会忽略所有隐私规则获取IDFA
[TradPlus forceGetIDFA:YES];

腾讯广告播放后导致游戏或应用背景音乐消失

  • 首次开发者反馈出现在腾讯广告SDK v4.13.51 版本中。

  • 由于腾讯广告SDK默认使用其内部的AVAudioSession,可能和您游戏或应用的音频设置产生冲突。

  • 可按照腾讯官方API说明进行设置

来源:https://developers.adnet.qq.com/doc/ios/guide

在播放音频时是否使用SDK内部对AVAudioSession设置的category及options,默认使用,若不使用,SDK内部不做任何处理,由调用方在播放视频时自行设置;

SDK设置的category为AVAudioSessionCategoryAmbient,options为AVAudioSessionCategoryOptionDuckOthers


#import "GDTSDKConfig.h"

+ (void)enableDefaultAudioSessionSetting:(BOOL)enabled;


IronSource加载错误

IronSource SDK不支持多个appID进行重复初始化,只有首次初始化的appID才是有效的。

  • 当您使用 appID_A 进行IronSource 初始化后。
  • 然后使用 appID_B 初始化并广告加载时,IronSource会出现加载失败情况。
  • errCode: 527, errMsg: The requested instance does not exist

快手相关设置

  • 快手的SDK 不支持 bitcode 需要关闭 bitcode

  • 快手自渲染原生广告没有无法点击。 需要实现r- (UIViewController *)viewControllerForPresentingModalView回调并返回非空UIViewControlle


framework 签名设置

  • 手动接入时,部分SDK需要设置为 需要在General项下拉找到对应的库,设置 Embed&Sign
平台framework
快手KSAdSDK.framework
SuperAwesomeAlamofire.framework
Moya.framework
SuperAwesome.framework
SwiftyXMLParser.framework
MoPubMoPubSDK.framework
OMSDK_Mopub.framework
SmaatoOMSDK_Smaato.framework
OguryOMSDK_Ogury.framework
MetaFBAudienceNetwork.framework(v6.10.0开始)
VerveOMSDK_Pubnativenet.framework
HyBid.framework

Unity项目 百度广告无法显示 按钮等元素

如果将 百度的SDK中的 baidumobadsdk.bundle 加入UnityFramework.framework中进行打包。百度将无法找到其资源包,会导致其广告按钮等元素无法显示。

可以 手动将 baidumobadsdk.bundle 添加到Unity主项目中进行打包来解决此问题


快手SDK 使用pod添加后 运行时无法找到SDK

由于快手SDK是动态库 如果引用在 target 'UnityFramework' 是会发生此情况的。

开发者需要在 target 'Unity-iPhone'中引用 快手SDK

或 通过 PlayerServicesResolver来管理pod配置。 参考: 如何在unity项目中通过pod来配置SDK


常见的项目编译报错

  • 解决方法:工程项目中新建一个swift文件,这样xcode会自动生成swift相关配置了。

注:Unity2019+项目,向UnityFramework添加一个空的swift文件就可以解决此报错。添加后 xcode就会自动生成swift相关配置,然后就可以删除此文件了,否则在项目发布时会导致Swift系统库签名错误。

  • 解决方法:添加 libc++abi.tbd

  • 解决方法:添加 libbz2.tbd

  • 解决方法:添加 EventKit.framework 和 EventKitUI.framework

  • 解决方法:添加 libresolv.9.tbd

  • Unity2019+接入时,需要注意,所有的Framework引入,都要在UnityFrameworks文件夹右键添加

更多问题,请联系我们,邮箱:tech_support@tradplus.com