Facebook-sdk-for-unity: 在 iOS 上启动时崩溃 - [FBSDKGraphRequestConnection errorFromResult:request:]

创建于 2018-12-28  ·  131评论  ·  资料来源: facebook/facebook-sdk-for-unity

我仅将 sdk 用于分析。 我们的一些用户(Unity 2018.2.19 和 iOS 12.1)仅在 4G 上(在 wifi 上运行良好)在应用程序启动时遇到了罕见的崩溃。 Xcode 崩溃日志显示:

image

起初我以为这是由于 FB 没有正确初始化,但我正在使用
private void Awake() { if (FB.IsInitialized) { FB.ActivateApp(); } else { FB.Init(FB.ActivateApp); } }
在记录任何分析事件之前,我会检查 FB 是否已初始化。

不知道我做错了什么或者这是一个错误。 无论哪种方式都希望得到一些反馈。

谢谢!

最有用的评论

@sharonreytan很高兴能帮上忙!

所有131条评论

每次在 iPhone 6s 上启动时,我都会遇到这个确切的问题。 7.14.1 版本的 SDK 没有发生这种情况,只有 7.15.0。 这意味着如果不返回旧版本的 SDK(我似乎没有从中获得任何事件 - 因此我升级的原因),我完全无法测试我的游戏。 如果其他人知道可能出了什么问题,也很乐意提供反馈!

从 Xcode 错误似乎是: NSInvalidArgumentException: +[NSError fbErro rWithCode:userInfo : message:underlyingError :]: unrecognized selector sent to class 0x257dd4f80

有这方面的消息吗? 即使根本不调用 API,我们也会遇到崩溃,只是将其作为项目的一部分。 我们现在必须完全删除 sdk...

我不确定它是否会有所帮助,但事实证明我的问题是由于我更新 SDK 时 FacebookSettings 对象中断引起的。 我刚刚删除它并制作了一个新的,现在一切都恢复正常了。

@NumaNumaNuma @ BlazingGillian ,FB Unity SDK v7.15.1 已发布,问题应该得到解决。

@KylinChang ,不幸的是我更新到最新版本并且问题仍然存在,应用程序每次启动时都会崩溃。 (顺便说一句,7.14.1 也发生了这种情况)。

@NumaNumaNuma ,感谢您的报告。 您能否提供有关您使用的 iOS 设备、iOS 版本以及更多堆栈跟踪的更多详细信息?

我已经看到它发生在运行 iOS 11.4、12 和 12.1 的 iPhone 和 iPad 上,所以我不确定它是否与设备相关(iPad Pro 11" 2018、iPhone X、iPhone XR、iPhone XS Max)。一件有趣的事情是,对于受影响的人来说,它在 wifi 上运行良好,但在蜂窝网络上 99% 的时间都崩溃了。至于堆栈跟踪,除了 xcode 报告的崩溃日志(数百个相同的崩溃日志)之外,我没有任何其他信息. 我可以通过电子邮件将 .xccrashpoint 文件发送给您吗?

@NumaNumaNuma ,当然,您可以通过电子邮件将 .xccrashpoint 文件发送给我。 再次感谢您的报告!

@KylinChang谢谢,已发送。

我尝试使用 sdk 示例场景 AppEvents 作为测试,以排除由我的项目引起的任何问题,它也崩溃了。 除了这个脚本之外,我没有在场景中添加任何东西来初始化我放置在场景中游戏对象上的 sdk(示例场景默认没有任何初始化代码)。 我注意到的一件事是我收到了两次调用 init 的警告(在 Awake 和 OnApplicationPause 中),不确定这是否有问题?

`
公共类 AnalyticsManager:MonoBehaviour
{

    void Awake()
    {
        base.Awake();
        InitFBSDK();
    }

    public void InitFBSDK()
    {
        if (!FB.IsInitialized)
        {
            // Initialize the Facebook SDK
            FB.Init(InitCallback);
        }
        else
        {
            // Already initialized, signal an app activation App Event
            FB.ActivateApp();
        }
    }

    public void InitCallback()
    {
        if (FB.IsInitialized)
        {
            // Signal an app activation App Event
            FB.ActivateApp();
        }
        else
        {
            Debug.Log("Failed to Initialize the Analytics SDK");
        }
    }

    private void OnApplicationPause(bool pauseStatus)
    {
        // Check the pauseStatus to see if we are in the foreground
        // or background
        if (!pauseStatus)
        {
            //app resume
            if (FB.IsInitialized)
            {
                FB.ActivateApp();
            }
            else
            {
                //Handle FB.Init
                FB.Init(InitCallback);
            }
        }
    }

}`

我们看到了同样的问题,除了我们的用户似乎禁用 wifi 并超过 4G 工作。 也许只是改变网络连接暂时修复它?

我认为无论哪个最快/最慢都会在初始化时引起问题。 希望 Kylin 在我的日志中找到一些东西🤞。

@KylinChang如果您也想要我们的崩溃日志,请告诉我。

@NumaNumaNuma @kuljaninemir ,我认为您可以在导出的 xcode 项目中添加-ObjC标志来解决问题。 我将保持这个问题开放,如果它仍然与标志一起崩溃,请告诉我。 仅供参考,这里是有关如何添加标志的链接http://docs.onemobilesdk.aol.com/ios-ad-sdk/adding-objc-linker-flag-xcode.html

@KylinChang谢谢,我尝试添加标志,但会导致链接错误:
/Libraries/Plugins/iOS/libQuantumCore.a(QuantumCore.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. file '/Libraries/Plugins/iOS/libQuantumCore.a' for architecture arm64
我可以禁用位码,但我宁愿不这样做。 有没有办法解决?
编辑:我将禁用位码并发送给我的患者 0,看看问题是否已解决。

我这边一切都很好,用户报告问题已经消失。 我会向全世界发布一个版本,如果没有人抱怨,那么我们可以称之为修复! @kuljaninemir它也为您解决了吗?

不幸的是,我没有与患者 0 联系,所以我将不得不推送更新,看看崩溃是否停止。

到目前为止没有崩溃,我认为它已修复! 谢谢@KylinChang

似乎也对我们有用,谢谢@KylinChang

我的应用程序也有同样的问题。 版本 7.15.1
将尝试使用 -ObjC 标志上传下一个版本。 抱歉,也许这是个愚蠢的问题,但为什么这些信息不在 sdk 集成的说明中?

为什么不直接在 Unity SDK 中添加一个后处理脚本呢?

[PostProcessBuild]
public static void OnPostprocessBuild(BuildTarget buildTarget, string path)
{
    if (buildTarget == BuildTarget.iOS)
    {
        string projPath = PBXProject.GetPBXProjectPath(path);

        PBXProject proj = new PBXProject();
        proj.ReadFromString(File.ReadAllText(projPath));
        string targetName = PBXProject.GetUnityTargetName();
        string targetGUID = proj.TargetGuidByName(targetName);

        proj.AddBuildProperty(targetGUID, "OTHER_LDFLAGS", "-ObjC");

        File.WriteAllText(projPath, proj.WriteToString());
    }
}

是的,这就是我最终要做的,但对于其他人,请将其添加到后期构建过程中。

我遇到了完全相同的问题。
您在此处提到的添加 -ObjC 对 iPhone 起到了作用,但 Apple 拒绝了我的二进制文件,因为在装有 IOS 12.1.4 的 iPad 上崩溃了。
任何人都可以阐明这一点吗? 我想不通。
当我进入蜂窝/飞行模式/删除 Facebook SDK 时,错误就消失了。
在 Android 上一切正常。

@sharonreytan您是否尝试过上述解决方案?
您是否使用任何其他分析解决方案?

是的,我添加了 -ObjC 标志。 它确实解决了我测试的带有 IOS 12.1.4 的 iPhone 上的问题,但 Apple 拒绝了我的应用程序,称它在带有 IOS 12.1.4 的 iPad 上在 wifi 上加载时崩溃。
除了 Facebook SDK,我还使用游戏分析 SDK。
该错误肯定来自 Facebook SDK,它引发了导致我的应用程序崩溃的异常。 此外,当我删除它时,一切正常,没有崩溃。
我使用 Unity 2018.3.3、Facebook SDK 7.15.1 和 xcode 10.1。
该错误仅在连接 wifi 时发生,带有该标志,它发生在 iPad 上而不是 iPhone 上。 这不是我的代码中的东西。

@KylinChang你能帮忙吗? 你知道 Facebook 是否有任何更新吗?

@sharonreytan你能在这里发布例外吗?

我会向 Apple 询问崩溃日志。 提前谢谢大家! :)

我建议您将您的应用程序连接到捕获崩溃的平台,例如 Unity Analytics 或 Firebase Crashlytics。 Unity Analytics 只需一个开关即可。 即使您修复了此崩溃,它也可能不会是您将拥有的唯一一个。 https://unitytech.github.io/clouddiagnostics/UnityCloudDiagnosticsSettingUp.html

我确实有这样的事情,但它没有捕捉到那个例外。 我猜它是在 Unity 的包装级别上抛出的(处理诸如网络之类的事情的 Swift 东西......这与操作系统相关)

如果您转到 XCode -> Window -> Organizer -> 崩溃(在顶部,Archives 旁边),您还可以看到崩溃如果它们被符号化,请尝试这样做以使其可读https://www.youtube.com/看?v=kBA7H_uYf34

问题是我无法在本地重现错误,因为我没有 iPad,只有 iPhone。
苹果提醒我这个问题。 正如我所说,在我的 iPhone 上,使用 -ObjC 标志一切正常。 wifi上的iPad问题仍然存在,我无法用模拟器模拟这个

问题是我无法在本地重现错误,因为我没有 iPad,只有 iPhone。
苹果提醒我这个问题。 正如我所说,在我的 iPhone 上,使用 -ObjC 标志一切正常。 wifi上的iPad问题仍然存在,我无法用模拟器模拟这个

组织者显示与特定版本相关的所有崩溃。 https://8mobile.wordpress.com/2015/02/27/xcode-crashes-organizer/

那太棒了。 谢谢。 我会补充一点

@sharonreytan你能尽快分享崩溃报告吗? 由于这个问题,我实际上暂停了我的构建版本。

是的,当然。 我也坚持我的释放

是的,当然。 我也坚持我的释放

你找到崩溃报告了吗?

还没有,这是我的一个副项目

同样的崩溃在这里:(

@pmusolino你能发布崩溃报告吗?

@sharonreytan它随机发生。 下次有事我会发

我在 Unity 上打开了一个空项目。
它在其中添加了一个简单的 3d 立方体和一个粒子系统。
我将 Facebook SDK 和 GameAnalytics SDK 与我的原始应用程序详细信息集成到其中。
该错误在那个简单的应用程序上仍然存在 - 只有在 wifi 上出现问题并且我崩溃了。 这与我在尝试发布的应用程序上遇到的崩溃完全相同。
即使我删除 GameAnalytics SDK,错误仍然存​​在
我使用 Unity 2018.3.3、Facebook SDK 7.15.1 和 Xcode 10.1。
这是崩溃日志:

2019-03-26 22:31:37.375996+0200 Jumpy[2798:888564] [DYMTLInitPlatform] 平台初始化成功
2019-03-26 22:31:37.440830+0200 Jumpy[2798:888345] 从“2018.3/staging”分支构建,版本“2018.3.3f1 (393bae82dbb8)”,构建类型“Release”,脚本后端“il2cpp”
2019-03-26 22:31:37.446308+0200 Jumpy[2798:888345] -> 注册单声道模块 0x1035eb250
-> applicationDidFinishLaunching()
2019-03-26 22:31:39.096573+0200 Jumpy[2798:888345] 启用金属 GPU 帧捕获
2019-03-26 22:31:39.098086+0200 Jumpy[2798:888345] 金属 API 验证已禁用
2019-03-26 22:31:39.328250+0200 Jumpy[2798:888345] [警告] 试图在系统门手势识别器上设置 delaysTouchesBegan 为 NO - 这是不受支持的,并且会产生不良的副作用
-> applicationDidBecomeActive()
GfxDevice:创建设备客户端; 线程=1
初始化 Metal 设备帽:Apple A11 GPU
初始化引擎版本:2018.3.3f1 (393bae82dbb8)
2019-03-26 22:31:39.653020+0200 Jumpy[2798:888616] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields:未知选择的端口数据源(类型:扬声器)
2019-03-26 22:31:39.740801+0200 Jumpy[2798:888616] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields:未知选择的端口数据源(类型:扬声器)
2019-03-26 22:31:40.107347+0200 Jumpy[2798:888345] +[NSError fbErro rWithCode:userInfo : message:underlyingError :]: unrecognized selector sent to class 0x26fc19f80
2019-03-26 22:31:40.152342+0200 Jumpy[2798:888345] 未捕获的异常:NSInvalidArgumentException:+[NSError fbErro rWithCode:userInfo消息:underlyingError :]:无法识别的选择器发送到类 0x26fc19f80
(
0 核心基础 0x0000000235d21ebc+ 252
1 libobjc.A.dylib 0x0000000234ef1a50 objc_exception_throw + 56
2 核心基础 0x0000000235c3fbbc+ 0
3 核心基础 0x0000000235d277bc+ 1412
4 核心基础 0x0000000235d2946c _CF_forwarding_prep_0 + 92
5 跳跃 0x000000010315302c -[FBSDKGraphRequestConnection errorFromResult:request:] + 1720
6 跳跃 0x00000001031519bc __64-[FBSDKGraphRequestConnection completeWithResults:networkError:]_block_invoke + 516
7 核心基础 0x0000000235c074cc+ 216
8 跳跃 0x00000001031516ec -[FBSDKGraphRequestConnection completeWithResults:networkError:] + 540
9 跳跃 0x0000000103150a30 -[FBSDKGraphRequestConnection 完成FBSDKURLSessionWithResponse:data:networkError:] + 940
10 跳跃 0x000000010314ebc4 __36-[FBSDKGraphRequestConnection 开始]_block_invoke_2 + 80
11 libdispatch.dylib 0x00000002357596c8+ 24
12 libdispatch.dylib 0x000000023575a484+ 16
13 libdispatch.dylib 0x0000000235739b34+ 1012
14 核心基础 0x0000000235cb1ce4+ 12
15 核心基础 0x0000000235cacbac+ 1964
16 核心基础 0x0000000235cac0e0 CFRunLoopRunSpecific + 436
17 图形服务 0x0000000237f25584 GSEventRunModal + 100
18 UIKitCore 0x000000026300cc00 UIApplicationMain + 212
19 跳跃 0x0000000102766650 主要 + 160
20 libdyld.dylib 0x000000023576abb4+ 4
)
2019-03-26 22:31:40.153484+0200 Jumpy[2798:888345] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+[NSError fbErro rWithCode:userInfo : message:underlyingError :]:无法识别的选择器发送到类 0x26fc19f80'*首先抛出调用栈:
(0x235d21ea4 0x234ef1a50 0x235c3fbbc 0x235d277bc 0x235d2946c 0x10315302c 0x1031519bc 0x235c074cc 0x1031516ec 0x103150a30 0x10314ebc4 0x2357596c8 0x23575a484 0x235739b34 0x235cb1ce4 0x235cacbac 0x235cac0e0 0x237f25584 0x26300cc00 0x102766650 0x23576abb4)
libc++abi.dylib:以 NSException 类型的未捕获异常终止
(lldb)

在我的新游戏中,我从 facebook 得到了几乎相同的 networkError:

2019-03-26 19:31:10.325566-0600 游戏名 [651:128389] +[NSError fbErro rWithCode:userInfo : message:underlyingError :]: 无法识别的选择器发送到类 0x228d7af80
2019-03-26 19:31:10.380123-0600 游戏名称 [651:128389] 未捕获的异常:NSInvalidArgumentException:+ [NSError fbErrorWithCode :userInfo消息:underlyingError :]:无法识别的选择器发送到类 0x228d7af80
(
0 核心基础 0x00000001ef9a5ebc+ 252
1 libobjc.A.dylib 0x00000001eeb75a50 objc_exception_throw + 56
2 核心基础 0x00000001ef8c3bbc+ 0
3 核心基础 0x00000001ef9ab7bc+ 1412
4 核心基础 0x00000001ef9ad46c _CF_forwarding_prep_0 + 92
5 游戏名称 0x0000000105ba3f2c -[FBSDKGraphRequestConnection errorFromResult:request:] + 1720
6 游戏名称 0x0000000105ba28bc __64-[FBSDKGraphRequestConnection completeWithResults:networkError:]_block_invoke + 516
7 核心基础 0x00000001ef88b4cc+ 216
8 游戏名称 0x0000000105ba25ec -[FBSDKGraphRequestConnection completeWithResults:networkError:] + 540
9 游戏名称 0x0000000105ba1930 -[FBSDKGraphRequestConnection 完成FBSDKURLSessionWithResponse:data:networkError:] + 940
10 游戏名称 0x0000000105b9fac4 __36-[FBSDKGraphRequestConnection 开始]_block_invoke_2 + 80
11 libdispatch.dylib 0x00000001ef3dd6c8+ 24
12 libdispatch.dylib 0x00000001ef3de484+ 16
13 libdispatch.dylib 0x00000001ef38a9a4+ 1068
14 核心基础 0x00000001ef935ce4+ 12
15 核心基础 0x00000001ef930bac+ 1964
16 核心基础 0x00000001ef9300e0 CFRunLoopRunSpecific + 436
17 图形服务 0x00000001f1ba9584 GSEventRunModal + 100
18 UIKitCore 0x000000021cb40c00 UIApplicationMain + 212
19 游戏名称 0x0000000104dc01e0 主 + 160
20 libdyld.dylib 0x00000001ef3eebb4+ 4
)
(lldb)

有趣的是,我发生了完全相反的事情。 我的游戏在 WIFI 上运行良好,但我一使用 3G 就崩溃了。 上面的崩溃报告是关于装有 iOS 12.2 的 iPhone SE 上的 3G 数据。 苹果让它通过审查...

@KylinChang你能看看吗? 这是一个致命错误……因此我无法发布我的游戏。 Apple 拒绝我的二进制文件。
可能与 iOS >12.1.4 有关吗?

@elguero44您是否添加了 -ObjC 标志?
我猜苹果错过了你的应用程序。 它似乎发生在最简单的项目上。 这是 FBSDK for Unity 上的东西。
我之前的游戏也被批准并发布了,但我看到 iPad 上出现了崩溃。 它也有 FBSDK

自 ios 12.2 / XCode 10.2 本周发布以来,你们都看到了吗?

我也在 iOS 12.1.4 和 Xcode 10.1 上体验过。
我将引用苹果:
“在通过 Wi-Fi 运行 iOS 12.1.4 的 iPad 上进行审查时,我们在您的应用程序中发现了一个或多个错误。

具体来说,您的应用程序启动到黑屏并且没有产生进一步的操作。”

黑屏是 Unity 启动画面。 此版本已使用 -ObjC 标志提交以供审核

有人向Facebook 错误跟踪器报告此问题吗?

@oct-test 我没有。 请你? 我现在离我的项目很远......而且他们需要一些我现在无法收集的东西

完毕。 链接: https ://developers.facebook.com/support/bugs/2157336311244047/

万分感谢

嗨@oct-test @sharonreytan ,抱歉回复晚了。 我会调查问题并尽快回复您。 你有和Uncaught exception: NSInvalidArgumentException: +[NSError fbErrorWithCode:userInfo:message:underlyingError:]:一样的例外吗? 如果可能的话,你能上传一个示例项目吗?

感谢您对此问题的评论和帮助!

@KylinChang是的,那是错误。 我想帮助您解决这个问题 - 它发生在 iOS > 12.1.4 和 Facebook SDK for Unity 7.15.1 上。
在 iPhone 上 -ObjC 解决了这个问题。
在 iPad 上,wifi 上的错误仍然存​​在。 我们中的一些人经历过蜂窝。 它发生在加载时,在我们调用 FB.Init() 之前。
我会尽快上传一个示例项目。
感谢您重新打开问题

https://drive.google.com/open?id=1aLdPTQyiqpCJf1bMyOGjLeOPg2D8NjZx

抱歉,它不在 git 上。
这是一个简单的项目,其中包含一个立方体、粒子系统和 Facebook SDK 7.15.1 集成到我的应用程序 ID。
请注意,Unity 项目使用我的应用程序包名称。 随心所欲地改变它。
Unity 版本为 2018.3.3。

同时我们应该使用什么版本?

@elguero44您是否添加了 -ObjC 标志?
我猜苹果错过了你的应用程序。 它似乎发生在最简单的项目上。 这是 FBSDK for Unity 上的东西。
我之前的游戏也被批准并发布了,但我看到 iPad 上出现了崩溃。 它也有 FBSDK

不,我没有添加 ObjC 标志。 奇怪的是,这会改变行为......

@elguero44不,它解决了我 iPhone 上的错误。 试试吧。 我无法在 iPad 上进行测试,但苹果拒绝了我。
我认为目前我只会为 iPhone 发布,直到问题得到解决。 如果 Apple 批准或拒绝它,我会及时通知你

不,我没有添加 ObjC 标志。 奇怪的是,这会改变行为......

从我所看到的情况来看,它发生在 wifi / 3G 上,具体取决于您所在的位置哪个更慢/更快。 并且肯定添加了 objC 标志,它在几个月前为我修复了它,但现在有了所有这些最近的帖子,我担心新的 iOS / XCode 又出现了问题。
期待麒麟昌的更多资讯👍

我认为这与互联网连接的速度有关吗? 因为突然间有时在数据上它也可以工作......

@KylinChang我已附上崩溃报告。
Crash Report

@sharonreytan无论如何,您在 fb SDK 编辑设置面板中的应用 ID 后面是否有空格? 我偶然发现我在那里有一个,在我删除它之后,即使没有 -ObjC 标志,问题也得到了解决。 我将把 ObjC 标志留在那里以防万一。

@happypepper哦,不,如果这是我会感觉很糟糕的问题......我会尽快检查这个。 我不认为是这种情况,因为我是通过点击从 Facebook for Developers 网站复制的,但一切皆有可能。您是否在 wifi、蜂窝和飞行模式下检查过,一切都很好? 它只在iOS上崩溃吗? 它发生在哪个iOS版本上?

我也从 FB 开发者网站复制粘贴,但不知何故包含了空间。 我尝试了 wifi 和蜂窝,但没有尝试飞行模式,它们都很好。 有了这个空间,它在蜂窝网络上中断了,但在 wifi 上很好。 我只在 12.1.2 上测试过

@happypepper 非常感谢你写这篇文章,我会检查是否是这样。 希望是这个问题

@happypepper应用 ID 中没有多余的空格。 仍然崩溃。

很难解释它是如何解决那天的问题的。

@happypepper我怎么给你送花???? 你解决了我的问题!!!! 谢谢!!
@oct-test @elguero44 @pmusolino
我的应用名称中有一个空格,我将其删除。 繁荣。 即使没有 -ObjC 标志,一切都运行良好..我在同一个 wifi、同一个设备、同一个操作系统、同一个 fbsdk 上与 GameAnalytics 统一、同一个统一、同一个 Xcode、同一个项目......这是我所做的唯一改变现在它每次发布都像魅力一样......

我对 sdk 7.15.1 有同样的问题
问题似乎出在第 114 行的 FBUnityInterface.mm 文件中:
[FBUnityUtility sendMessa geToUnity:FBUnityMessageName_OnInitComplete userData:userData requestId:0 ];

如果我将此行注释掉,则一切正常而不会崩溃

@happypepper我怎么给你送花???? 你解决了我的问题!!!! 谢谢!!
@oct-test @elguero44 @pmusolino
我的应用名称中有一个空格,我将其删除。 繁荣。 即使没有 -ObjC 标志,一切都运行良好..我在同一个 wifi、同一个设备、同一个操作系统、同一个 fbsdk 上与 GameAnalytics 统一、同一个统一、同一个 Xcode、同一个项目......这是我所做的唯一改变现在它每次发布都像魅力一样......

@sharonreytan恭喜! 谢谢@happypepper。 我将进一步调查原因,并将在下一个版本中添加警告或修复问题。

@KylinChang谢谢! 让我们验证每个人在这个问题上的错误也必须解决它。 我真的希望如此

@sharonreytan很高兴能帮上忙!

应用 ID 中没有多余的空格。 仍然崩溃。

所以@oct-test no extra space + objC flag 仍然不适合你吗?

@NumaNumaNuma @sharonreytan @KylinChang
应用 id + objC 标志中没有多余的空间 = 问题未解决

我可以在 Facebook 分析仪表板中看到游戏内事件。 就我而言,当代码尝试发送事件时,构建会随机崩溃。

@oct-test 尝试将您的应用程序名称更改为单个单词,例如“生产”,删除客户端令牌,再次复制应用程序 ID,并确保开头和结尾没有空格。
确保您的事件消息没有空格。
确保您的 iOS 捆绑包 ID 在 Facebook for Developers 仪表板 > 设置 > 基本中正确。
在我的情况下,崩溃正在加载,现在即使没有这个 -ObjC 标志它也运行良好,但我不向 fb 发送事件。 只初始化它。
游戏在加载时崩溃,还是在您发送事件时在游戏中崩溃?

@sharonreytan

  1. 我是否需要在 Facebook Dashboard 或 Xcode 项目中更改应用名称? 您能否帮助我了解应用名称如何可能导致此问题?
  2. 我在哪里可以找到客户端令牌?
  3. 我已经检查并确认 app id 中没有多余的空间。
  4. 事件消息中没有空格。
  5. 是的,Facebook 仪表板上的 iOS 捆绑包 ID 是正确的。
  6. 是的,游戏在加载和游戏中也会崩溃。 但这种崩溃不是连续的。 它是随机发生的。

@oct 测试

  1. 统一 > Facebook 设置
    如果您不使用统一,那么可能在 xcode 中。
    我假设 FBSDK 中有一个错误,它无法处理其输入参数中的空间。 也许有一个正则表达式可以验证您的字符串并且它不能接受空格......我不知道。 它可以是任何东西。 作为开发人员,您知道错误可能会让您感到惊讶并且出乎意料。 如果他们是预期的,就不会有任何错误! 我不知道原因,但希望在未来的版本中解决,但现在尝试尽一切可能找到解决方法。
  2. 在统一时,它在 Facebook 设置检查器中

谢谢你的解释。

  1. 关于 Facebook 设置中的应用名称,这是一个可选字段,仅用于我们自己的目的。 我认为 Facebook 没有使用这些信息。
  2. 我检查了它,该字段已被删除。

您是否能够 100% 地重现该问题? 如果是,您正在测试构建的设备类型(型号和 iOS 版本)和网络连接?

@oct 测试

  1. 是的,我同意,但是可选字段也可能导致崩溃。 那是一个错误。 尽你所能去克服它。 它帮助了我,然后它可能会帮助你。
  2. 检查你可以检查的每一个自由文本,并从中删除空格。

我不再需要 -ObjC 标志,在模拟器上运行游戏并向朋友发送了试飞。 它可以在他们的设备上完美运行,具有 wifi 或蜂窝或飞行模式。 在我的 iPhone 8 上运行也很流畅。 在 wifi 上没有 -ObjC 标志的情况下,游戏在加载时立即崩溃。 现在一切都按预期运行

@KylinChang @oct-test
我的庆祝太早了。 游戏因为同样的原因被拒绝了——

在 wifi 上运行 iOS 12.2 的 iPad 上,游戏崩溃了

比你的用户更好地抓住它(这就是发生在我身上的事情)。 如果您可以暂时不使用,还可以选择完全删除 sdk。
我会坚持我的版本,直到这个问题得到解决。

当然。 你认为我只能发布到 iPhone 上吗? 我不能放弃sdk。
@NumaNumaNuma

有风险 :)

坚持发布不是解决方案。 看来这个问题已经存在很久了。 至少2年。 我们经历了自 2017 年以来的所有版本,问题都是一样的。 必须有另一种解决方案,一些开发人员为了避免崩溃而意外执行。

对我来说,一旦我添加了 objC 标志,几个月来一切都很好。 但似乎问题又回来了,可能是因为新的iOS?

我实际上意识到我的项目中一直都有 objC 标志。 而且还是有问题。 我还检查了我的旧项目,我发现在最近对 fb sdk 4.38 进行更新后,我的崩溃率显着下降。 我现在正在使用包含此版本的 fb sdk 的统一版本 7.14.1 进行测试。 会回来汇报的。 我们还将初始化移至 start 方法(从 awake 方法)。

问题:我们可以在 Xcode 中手动更新到最新的 FB SDK,替换 Unity SDK 附带的那个吗? 有人试过吗?

对我来说,一旦我添加了 objC 标志,几个月来一切都很好。 但似乎问题又回来了,可能是因为新的iOS?

我在自己注册问题的设备上使用 ios 12.1.4。
使用的Unity版本是:2018.2.9

@elguero44你尝试解决这个问题了吗? 我注意到,当互联网的下游 Mb/s 较低时,它大多不会崩溃

我在 Facebook 上重新打开了这个问题:
https://developers.facebook.com/support/bugs/2313553335596878/?disable_redirect=0

@oct-test @elguero44 @NumaNumaNuma @pmusolino和其他所有经历过这种情况的人,请标记“这里相同”标志

完成了👍

不知道这是否与它有关,但我注意到有时 LSApplicationQueriesSchemes 值没有被添加到 info.plist 文件中。 也许如果它们丢失并且 sdk 试图调用它们,它会导致问题吗? 我将此记录为一个单独的问题,但也许它们是相关的。
"fbapi", "fb-messenger-api", "fbauth2", "fbshareextension"

我在 Facebook 上重新打开了这个问题:
https://developers.facebook.com/support/bugs/2313553335596878/?disable_redirect=0

@oct-test @elguero44 @NumaNumaNuma @pmusolino和其他所有经历过这种情况的人,请标记“这里相同”标志

完毕。

不知道这是否与它有关,但我注意到有时 LSApplicationQueriesSchemes 值没有被添加到 info.plist 文件中。 也许如果它们丢失并且 sdk 试图调用它们,它会导致问题吗? 我将此记录为一个单独的问题,但也许它们是相关的。
"fbapi", "fb-messenger-api", "fbauth2", "fbshareextension"

您能在此处发布 Facebook Bug Tracker 链接吗?

不知道这是否与它有关,但我注意到有时 LSApplicationQueriesSchemes 值没有被添加到 info.plist 文件中。 也许如果它们丢失并且 sdk 试图调用它们,它会导致问题吗? 我将此记录为一个单独的问题,但也许它们是相关的。
"fbapi", "fb-messenger-api", "fbauth2", "fbshareextension"

在我的 Xcode 项目中,所有这些方案都存在,但问题仍然存在。 @NumaNumaNuma还有什么我应该研究的吗?

@KylinChang我们正在寻求您的帮助。 请让我们知道 Facebook 团队在解决错误方面取得的进展。 谢谢你。

@KylinChang @NumaNumaNuma @sharonreytan
你知道我们如何在这个 Unity 版本中集成 FB iOS SDK 版本 4.40(最新的 FB iOS SDK)吗?

当前版本的 Unity FB SDK (v7.15.1) 使用 FB iOS SDK 版本 4.39.1。

这里的变更日志表明最新的 FB iOS SDK 中几乎没有错误修复。

@oct-test 这个版本也存在这个问题。

大家好,您可以通过以下步骤更改 SDK 版本: 1. 更改 scripts/build.properties 中的版本 2. 运行 ./scripts/setup.sh && ./scripts/build.sh。 打开项目 UnitySDK,然后导出包。

@pmusolino
Facebook iOS SDK 4.40 有这个问题吗?

大家好,

就我而言,这个崩溃问题的频率非常低。 我正在考虑发布我的游戏并试试我的运气。

我想知道这里的其他开发者是否获得了 Apple 批准的游戏? 如果是,是否有任何用户对崩溃的投诉? 用户端崩溃的频率是多少?

谢谢你。

@oct 测试
我不会冒险释放。 在我的 wifi 上,每次启动都会发生崩溃。 你不希望用户对这些崩溃给你差评,你付出了太多的努力才让崩溃得分很差。 人们写坏评论的速度比写好评论的速度快。 我决定在发布之前等待解决方案(修复或解决方法,但稳定是必须的.​​.....)

无论如何,我决定发布该应用程序,到目前为止还不错,没有崩溃。
以防万一,这就是我初始化sdk的方式(那里没什么特别的,但谁知道也许对于那些在启动时崩溃的人......):

private void Awake()
        {
            InitFBSDK();
        }

        private void InitFBSDK()
        {
            if (!FB.IsInitialized)
            {
                FB.Init(InitCallback);
            }
            else
            {
                // Already initialized, signal an app activation App Event
                FB.ActivateApp();
            }
        }

        public void InitCallback()
        {
            if (FB.IsInitialized)
            {
                // Signal an app activation App Event
                FB.ActivateApp();
            }
            else
            {
                Debug.Log("Failed to Initialize the Analytics SDK");
            }
        }

        private void OnApplicationPause(bool pauseStatus)
        {
            if (!pauseStatus)
            {
                if (FB.IsInitialized)
                {
                    FB.ActivateApp();
                }
                else
                {
                    FB.Init(InitCallback);
                }
            }
        }

如果 Apple 批准,请告知我们。 我认为这与互联网的 Mb/s 有关,有一天我的 wifi 速度很慢,一切正常……在它恢复正常后的第二天,崩溃仍然存在。
您使用哪个 fb sdk 版本?

是的,周一批准并发布了 2 个应用程序,完全没有问题。 但也许这只是我。

我很高兴听到这个消息! 我也会尝试提交,这次只针对 iPhone。
您使用哪个 fb sdk 版本?

我使用了最新的统一版本,7.15.1

@sharonreytan @NumaNumaNuma

我的游戏昨天获得了 Apple 的批准(就像上次一样)。 我会在几天内监控我的游戏的崩溃率,看看问题是否仍然存在。

再次被苹果拒绝。
@KylinChang对此有何新意? 该怎么办?

有没有人找到解决这个问题的方法? 我的应用评级因此而被破坏。

@sharonreytan @sarebots ,抱歉回复晚了,您可以尝试添加 -all_load 链接器标志,如https://stackoverflow.com/questions/2906147/what-does-the-all-load-linker-flag-do 中所示。 根据我的发现,这是因为 FBSDKCoreKit 中定义的 NSError 方法无法识别,这是一个已知的 Xcode 问题。
参考链接: https ://developer.apple.com/library/archive/qa/qa1490/_index.html

@KylinChang所以 -ObjC 和 -all_load 结合了吗? 您能否在将来的版本中将此添加到从 Unity 到 xcode 的后期构建命令中?

@KylinChang所以 -ObjC 和 -all_load 结合了吗? 您能否在将来的版本中将此添加到从 Unity 到 xcode 的后期构建命令中?

是的,将它们组合在一起并在后期构建中添加编译标志已经在我们的路线图中。

@sharonreytan这个修复对你有用吗? 我收到了完全相同问题的崩溃报告。

我发了一些试飞但Apple还没有批准我的应用程序,因为他们现在正在调查我的帐户,因为我提交了很多次......非常沮丧,但我正在耐心等待他们的答复。
我的测试人员没有报告任何问题。 您是否添加了标志 -ObjC 和 -all_load?

它确实为我解决了这个问题。

@sharonreytan我还没有尝试添加标志,只是想看看在我向苹果提交新版本之前是否有人成功。

它确实帮助了我,但在苹果不批准之前我无法确认。 它发生在某些连接上,并且不会一直发生。 当我能够复制它时,我的互联网是 150 Mb/s。
无论如何,如果我在你的位置,我会在经过一些测试后发布带有这些标志的修复程序。 该问题发生在 iOS 12.1 之后,该解决方案似乎运行良好。 我在多种设备和连接类型和速度上对其进行了测试

面临同样的问题,与 wifi 或移动网络或在这些网络之间切换有关。 有些人在 Wifi 网络上面临这个问题。 我在 4G 移动网络上面临这个问题。 应用程序只是在启动时崩溃。 我最终必须完全删除 Facebook SDK 才能提交到应用商店,直到我们找到解决方案。 此外,该应用程序在 Android 上运行良好,这只是 iOS 问题。

这个类似的问题 472针对 iOS SDK 详细信息报告了添加 _-ObjC_ 链接器标志可能无法完全解决崩溃的问题。

添加 _force_load_ 链接器标志和 _FBSDKCoreKit_ 框架的正确路径确实为我解决了崩溃问题, @Umar559也在下面报告

最初仅针对 _FBSDKLoginKit_ 使用 _force_load_ 链接器标志不足以阻止在某些测试设备上发生崩溃。

这对我有用。 谢谢@julianD77

将以下内容添加到其他链接器标志修复了它:
-force_load
${PROJECT_DIR}/Frameworks/FBSDKCoreKit.framework/FBSDKCoreKit
它修复了移动数据崩溃

注意:路径可能会有所不同,具体取决于您的 FBSDKCoreKit.framework 所在的位置

在 v7.16.0 中,Unity SDK 将为您的项目添加 -force_load 到“Other Linker Flag”

@KylinChang -ObjC标志呢?

@happypepper ,我认为你不需要 -ObjC 标志和 -force_load

如果你们中的一些人仍然没有解决问题。 这可能是一个救生员。 在我最近的 3 款超休闲游戏中非常有效。 查看以下链接

祝你好运

我用 -force_load 标志更新到 7.16.1,但崩溃仍然发生

有人遇到同样的问题吗?

@inxidious
您可以使用最新的 fbsdk 版本(7.17.1)再试一次吗?
在 fbsdk 7.15.0 上使用 -force_load 标志、iOS 12.3.1、unity 2019.1.1f、xcode 10.2.1 为我解决了这个问题。
我的应用中有 60 个用户,大约 230 个会话,没有报告崩溃(所有这些都在 iOS 上)。
您是否收到相同的错误 - FBSDKGraphRequestConnection errorFrom romResult:request :?

@sharonreytan我尝试了 7.17.1,但是在导入 SDK 后,出现了奇怪的错误。 我所有引用 TextMeshPro 的代码都抛出错误,说找不到 TextMeshPro。 所以我切换回 7.16.1

@inxidious ,问题的根本原因是 FBSDKCoreKit 中的 NSError 类别未加载,-force_load 应该有助于解决问题。 您是否收到相同的错误 - FBSDKGraphRequestConnection errorFrom romResult:request :?

@KylinChang 7.16.1 默认添加了 -all_load,但由于错误我无法使用 -all_load 构建,所以我将其更改为 -force_load 和 FBSDKCoreKit 路径 {PROJECT_PATH}/Frameworks/FacebookSDK/Plugins/iOS/FBSDKCoreKit。框架/FBSDKCoreKit

几次启动后,它在应用程序启动时崩溃。 这是来自 xcode 的日志:

2019-07-09 10:11:44.811486+0700 gametitle[20035:4320446] I/UnityAds: +[UnityServices initialize:delegate:testMode:] (line:47) :: Initializing Unity Ads 3.1.0 (3100) with game id 2832682 in test mode
2019-07-09 10:11:44.815973+0700 gametitle[20035:4320446] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2019-07-09 10:11:44.816421+0700 gametitle[20035:4320446] [MC] Reading from public effective user settings.
Unloading 7 Unused Serialized files (Serialized files now loaded: 0)
2019-07-09 10:11:44.819778+0700 gametitle[20035:4320762] [NetworkInfo] Could not successfully update network info for descriptor <CTServiceDescriptor 0x282d77ae0, domain=1, instance=2> during initialization.
2019-07-09 10:11:44.821022+0700 gametitle[20035:4320446] [NetworkInfo] Could not successfully update network info for descriptor <CTServiceDescriptor 0x282d863a0, domain=1, instance=2> during initialization.
2019-07-09 10:11:44.821054+0700 gametitle[20035:4320762] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x282d77b60, domain=1, instance=1>
2019-07-09 10:11:44.821658+0700 gametitle[20035:4320762] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x282d77ae0, domain=1, instance=2>
2019-07-09 10:11:44.822644+0700 gametitle[20035:4320446] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x282d863c0, domain=1, instance=1>
2019-07-09 10:11:44.822801+0700 gametitle[20035:4320446] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x282d863a0, domain=1, instance=2>
2019-07-09 10:11:44.825375+0700 gametitle[20035:4320762] [NetworkInfo] Could not successfully update network info for descriptor <CTServiceDescriptor 0x282d863a0, domain=1, instance=2> during initialization.
2019-07-09 10:11:44.825467+0700 gametitle[20035:4320760] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x10fb60050] get output frames failed, state 8196
2019-07-09 10:11:44.825502+0700 gametitle[20035:4320760] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x10fb60050] get output frames failed, state 8196
2019-07-09 10:11:44.827003+0700 gametitle[20035:4320760] TIC Read Status [1:0x0]: 1:57
2019-07-09 10:11:44.827021+0700 gametitle[20035:4320760] TIC Read Status [1:0x0]: 1:57
2019-07-09 10:11:44.827071+0700 gametitle[20035:4320760] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C2.1:2][0x10fcb61a0] get output frames failed, state 8196
2019-07-09 10:11:44.827793+0700 gametitle[20035:4320762] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x282d863c0, domain=1, instance=1>
2019-07-09 10:11:44.828153+0700 gametitle[20035:4320760] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C2.1:2][0x10fcb61a0] get output frames failed, state 8196
2019-07-09 10:11:44.828517+0700 gametitle[20035:4320762] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x282d863a0, domain=1, instance=2>
2019-07-09 10:11:44.829897+0700 gametitle[20035:4320760] TIC Read Status [2:0x0]: 1:57
2019-07-09 10:11:44.829907+0700 gametitle[20035:4320760] TIC Read Status [2:0x0]: 1:57
2019-07-09 10:11:44.830863+0700 gametitle[20035:4320765] I/UnityAds: -[USRVInitializeStateConfig execute] (line:167) :: Unity Ads init: load configuration from https://config.unityads.unity3d.com/webview/3.1.0/release/config.json
2019-07-09 10:11:44.926640+0700 gametitle[20035:4320587] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C6.1:2][0x10fb54e00] get output frames failed, state 8196
2019-07-09 10:11:44.926683+0700 gametitle[20035:4320587] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C6.1:2][0x10fb54e00] get output frames failed, state 8196
2019-07-09 10:11:44.926770+0700 gametitle[20035:4320587] TIC Read Status [6:0x0]: 1:57
2019-07-09 10:11:44.926779+0700 gametitle[20035:4320587] TIC Read Status [6:0x0]: 1:57
Using configuration builder objects
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(Object)
UnityEngine.Purchasing.StoreCatalogImpl:handleCachedCatalog(Action`1)
UnityEngine.Purchasing.<>c__DisplayClass10_0:<FetchProducts>b__1(String)
System.Action`1:Invoke(T)
UnityEngine.Purchasing.<Process>d__4:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: ./Runtime/Export/Debug.bindings.h Line: 45)

2019-07-09 10:11:45.033545+0700 gametitle[20035:4320446] UnityIAP: Requesting 9 products
2019-07-09 10:11:45.033923+0700 gametitle[20035:4320446] UnityIAP: Requesting product data...
2019-07-09 10:11:45.065621+0700 gametitle[20035:4320762] I/UnityAds: -[USRVInitializeStateLoadWeb execute] (line:236) :: Unity Ads init: loading webapp from https://webview.unityads.unity3d.com/webview/3.1.0/437c309040cf0337b5b2f01b0da802c1d0c028c8/release/index.html
2019-07-09 10:11:45.098913+0700 gametitle[20035:4320760] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C10.1:2][0x11c18f840] get output frames failed, state 8196
2019-07-09 10:11:45.098953+0700 gametitle[20035:4320760] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C10.1:2][0x11c18f840] get output frames failed, state 8196
2019-07-09 10:11:45.099042+0700 gametitle[20035:4320760] TIC Read Status [10:0x0]: 1:57
2019-07-09 10:11:45.099051+0700 gametitle[20035:4320760] TIC Read Status [10:0x0]: 1:57
2019-07-09 10:11:45.202734+0700 gametitle[20035:4320600] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C7.1:2][0x10fc10d20] get output frames failed, state 8196
2019-07-09 10:11:45.202795+0700 gametitle[20035:4320600] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C7.1:2][0x10fc10d20] get output frames failed, state 8196
2019-07-09 10:11:45.202935+0700 gametitle[20035:4320600] TIC Read Status [7:0x0]: 1:57
2019-07-09 10:11:45.202949+0700 gametitle[20035:4320600] TIC Read Status [7:0x0]: 1:57
2019-07-09 10:11:45.369770+0700 gametitle[20035:4320761] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C14.1:2][0x11bce9590] get output frames failed, state 8196
2019-07-09 10:11:45.369947+0700 gametitle[20035:4320761] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C14.1:2][0x11bce9590] get output frames failed, state 8196
2019-07-09 10:11:45.370331+0700 gametitle[20035:4320761] TIC Read Status [14:0x0]: 1:57
2019-07-09 10:11:45.370367+0700 gametitle[20035:4320761] TIC Read Status [14:0x0]: 1:57
2019-07-09 10:11:45.568275+0700 gametitle[20035:4320446] Uncaught exception: NSInvalidArgumentException: *** -[__NSSetM addObject:]: object cannot be nil
(
    0   CoreFoundation                      0x00000001a327a3c0 <redacted> + 256
    1   libobjc.A.dylib                     0x00000001a247fd00 objc_exception_throw + 60
    2   CoreFoundation                      0x00000001a31f1870 _CFArgv + 0
    3   CoreFoundation                      0x00000001a31648fc <redacted> + 788
    4   gametitle                        0x0000000104b3504c +[FBSDKInternalUtility extractPermissionsFromResponse:grantedPermissions:declinedPermissions:expiredPermissions:] + 484
    5   gametitle                        0x0000000104b191c0 __75+[FBSDKGraphRequestPiggybackManager addRefreshPiggyback:permissionHandler:]_block_invoke.89 + 272
    6   gametitle                        0x0000000104b55ff4 -[FBSDKGraphRequestMetadata invokeCompletionHandlerForConnection:withResults:error:] + 152
    7   gametitle                        0x0000000104b5eed8 __82-[FBSDKGraphRequestConnection processResultBody:error:metadata:canNotifyDelegate:]_block_invoke + 160
    8   gametitle                        0x0000000104b5edbc -[FBSDKGraphRequestConnection processResultBody:error:metadata:canNotifyDelegate:] + 688
    9   gametitle                        0x0000000104b5e96c __64-[FBSDKGraphRequestConnection completeWithResults:networkError:]_block_invoke + 400
    10  CoreFoundation                      0x00000001a315e044 <redacted> + 232
    11  gametitle                        0x0000000104b5e710 -[FBSDKGraphRequestConnection completeWithResults:networkError:] + 540
    12  gametitle                        0x0000000104b5da5c -[FBSDKGraphRequestConnection completeFBSDKURLSessionWithResponse:data:networkError:] + 940
    13  gametitle                        0x0000000104b5ba44 __36-[FBSDKGraphRequestConnection start]_block_invoke_2 + 80
    14  libdispatch.dylib                   0x00000001a2c88304 <redacted> + 32
    15  libdispatch.dylib                   0x00000001a2c89884 <redacted> + 20
    16  libdispatch.dylib                   0x00000001a2c9573c _dispatch_main_queue_callback_4CF + 1012
    17  CoreFoundation                      0x00000001a320a024 <redacted> + 16
    18  CoreFoundation                      0x00000001a3204cd4 <redacted> + 1888
    19  CoreFoundation                      0x00000001a3204254 CFRunLoopRunSpecific + 452
    20  GraphicsServices                    0x00000001a5443d8c GSEventRunModal + 108
    21  UIKitCore                           0x00000001d054c4c0 UIApplicationMain + 216
    22  gametitle                        0x0000000104b6daf0 main + 212
    23  libdyld.dylib                       0x00000001a2cc0fd8 <redacted> + 4
)
(lldb) 

尝试使用这些链接器标志: -ObjC 和 -all_load @inxidious

@sharonreytan更改为该链接器标志会使构建过程引发错误:

Undefined symbols for architecture arm64: "_OBJC_CLASS_$_FIRDynamicLinks", referenced from: objc-class-ref in libFirebaseCppApp.a(invites_receiver_internal_ios_aa7b75b2efc3269e88f1077e55250e5a.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

我刚刚集成了 fbsdk 7.17.2 并发布到了应用商店。 没有崩溃没有混乱。 轻松地从统一导出到 xcode 到商店。
谢谢@KylinChang ,我希望这个帖子上的其他人都可以

是的,我已经更新到 7.17.2,我所有的问题似乎也都得到了解决。
感谢大家!

此页面是否有帮助?
0 / 5 - 0 等级