【问题标题】:Titanium facebook module crashTitanium facebook 模块崩溃
【发布时间】:2015-03-31 06:00:31
【问题描述】:

我正在开发一个钛金属 IOS 应用程序,它使用 facebook 模块进行 facebook 登录。 当我关闭包含 fb 模块的窗口时,出现以下错误。 有人可以帮忙吗? 提前谢谢。

错误日志

[ERROR] :  The application has crashed with an uncaught exception 'NSInternalInconsistencyException'.
[ERROR] :  Reason:
[ERROR] :  An instance 0x17e8aa20 of class FBSessionManualTokenCachingStrategy was deallocated while key value observers were still registered with it. Current observation info: <NSKeyValueObservationInfo 0x17d1bd30> (
[ERROR] :  <NSKeyValueObservance 0x17dc6850: Observer: 0x17e26170, Key path: accessToken, Options: <New: NO, Old: NO, Prior: YES> Context: 0x538bac, Property: 0x17de0f60>
[ERROR] :  <NSKeyValueObservance 0x17d110e0: Observer: 0x17e26170, Key path: expirationDate, Options: <New: NO, Old: NO, Prior: YES> Context: 0x538bac, Property: 0x17d1bd10>
[ERROR] :  )
[ERROR] :  Stack trace:
[ERROR] :  
[ERROR] :  0   CoreFoundation                      0x29ff549f <redacted> + 126
[ERROR] :  1   libobjc.A.dylib                     0x377abc8b objc_exception_throw + 38
[ERROR] :  2   CoreFoundation                      0x29ff53e5 <redacted> + 0
[ERROR] :  3   Foundation                          0x2ac9ec25 <redacted> + 288
[ERROR] :  4   libobjc.A.dylib                     0x377c5d5f <redacted> + 166
[ERROR] :  5   Qatar Tips                          0x0047130b Qatar Tips + 4375307
[ERROR] :  6   libobjc.A.dylib                     0x377c5d5f <redacted> + 166
[ERROR] :  7   Qatar Tips                          0x0046e3a5 Qatar Tips + 4363173
[ERROR] :  8   libobjc.A.dylib                     0x377c5d5f <redacted> + 166
[ERROR] :  9   Qatar Tips                          0x0006e76f Qatar Tips + 169839
[ERROR] :  10  libobjc.A.dylib                     0x377c5d5f <redacted> + 166
[ERROR] :  11  Qatar Tips                          0x0006cf71 Qatar Tips + 163697
[ERROR] :  12  Qatar Tips                          0x002ace57 Qatar Tips + 2522711
[ERROR] :  13  Qatar Tips                          0x0042b65f Qatar Tips + 4089439
[ERROR] :  14  Qatar Tips                          0x0042d4c9 Qatar Tips + 4097225
[ERROR] :  15  Qatar Tips                          0x00354cf7 Qatar Tips + 3210487
[ERROR] :  16  Qatar Tips                          0x00356bf5 Qatar Tips + 3218421
[ERROR] :  17  Qatar Tips                          0x00355acf Qatar Tips + 3214031
[ERROR] :  18  Qatar Tips                          0x00262927 Qatar Tips + 2218279
[ERROR] :  19  Qatar Tips                          0x0026256f Qatar Tips + 2217327
[ERROR] :  20  Qatar Tips                          0x002ab5d5 Qatar Tips + 2516437
[ERROR] :  21  Qatar Tips                          0x000659af Qatar Tips + 133551
[ERROR] :  22  Qatar Tips                          0x00067a8d Qatar Tips + 141965
[ERROR] :  23  Foundation                          0x2ad05b5b <redacted> + 1118
[ERROR] :  24  libsystem_pthread.dylib             0x37e6ee93 <redacted> + 138
[ERROR] :  25  libsystem_pthread.dylib             0x37e6ee07 _pthread_start + 118
[ERROR] :  26  libsystem_pthread.dylib             0x37e6cb90 thread_start + 8
[ERROR] :  *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'An instance 0x17e8aa20 of class FBSessionManualTokenCachingStrategy was deallocated while key value observers were still registered with it. Current observation info: <NSKeyValueObservationInfo 0x17d1bd30> (
[ERROR] :  <NSKeyValueObservance 0x17dc6850: Observer: 0x17e26170, Key path: accessToken, Options: <New: NO, Old: NO, Prior: YES> Context: 0x538bac, Property: 0x17de0f60>
[ERROR] :  <NSKeyValueObservance 0x17d110e0: Observer: 0x17e26170, Key path: expirationDate, Options: <New: NO, Old: NO, Prior: YES> Context: 0x538bac, Property: 0x17d1bd10>
[ERROR] :  )'
[ERROR] :  *** First throw call stack:
[ERROR] :  (0x29ff549f 0x377abc8b 0x29ff53e5 0x2ac9ec25 0x377c5d5f 0x47130b 0x377c5d5f 0x46e3a5 0x377c5d5f 0x6e76f 0x377c5d5f 0x6cf71 0x2ace57 0x42b65f 0x42d4c9 0x354cf7 0x356bf5 0x355acf 0x262927 0x26256f 0x2ab5d5 0x659af 0x67a8d 0x2ad05b5b 0x37e6ee93 0x37e6ee07 0x37e6cb90)

我的窗口关闭代码

SubCategoryWindow.addEventListener('android:back', _androidBack);
function _androidBack(e) {
    bottomAdvertisementInterval = null;
    categoryId = null;
    SubCategoryWindow.removeEventListener('android:back', _androidBack);
    SubCategoryWindow.hide();
    SubCategoryWindow = null;
    LoadingIndicator = null;
    itemId = null;
    ImageCacheModule = null;
    fbShareBlob = null;
}

【问题讨论】:

    标签: facebook facebook-graph-api titanium titanium-mobile titanium-modules


    【解决方案1】:

    iOS 设备上没有返回按钮,也没有这样的事件监听器。在此处阅读更多详细信息:http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.Window-event-androidback

    如果您要部署跨平台应用程序,您应该实现 branching code

    如果在更正代码后崩溃仍然存在,请发布有问题的源代码以帮助您解决崩溃问题。

    【讨论】:

    • 问题在于我正在使用的 facebook 模块。其余代码工作正常
    • 您应该指定要测试的模块版本和 Titanium SDK。此外,复制问题的测试用例将有助于更快地解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 2011-05-18
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    相关资源
    最近更新 更多