Twitter登录-线程1应用程序委派和应用程序崩溃中的Sigabrt错误



我正在尝试创建一个简单的解析日志,该日志集成了TwitterFacebook作为iOS9中的登录选项。Facebook登录工作正常,但Twitter登录一直崩溃,不知道为什么?崩溃导致AppDelegate.swift表示存在Sigabrt error "thread 1 signal sigabrt"

import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    Parse.setApplicationId("<MY ID>", clientKey:"<MY CLIENT KEY>")
    PFTwitterUtils.initializeWithConsumerKey("<CONSUMER KEY>", consumerSecret:"<CONSUMER SECRET>")
    PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions);

NorthernLights[4119:358454]*由于未捕获而终止应用程序异常"NSInvalidArgumentException",原因:"*-NSPlaceholderDictionary initWithObjects:forKeys:count:]:尝试从objects[0]插入nil对象***第一次抛出调用堆栈:(0 CoreFoundation 0x000000010d751e65 __exceptionPreprocess+165 1 libobjc.A.dylib
0x000000010数据对象异常抛出+48 2核心基础
0x000000010d6548ce-[__NSPlaceholderDictionaryinitWithObjects:forKeys:count:]+318 3 CoreFoundation
0x000000010d666c3b+[NS字典dictionaryWithObjects:forKeys:count:]+59 4 NorthernLights
0x000000010a77f349-[PF_Witter_showWebViewDialogAsync:requestSecret:]+265 5 NorthernLights 0x000000010a78255a __38-[PF_Witter_performWebViewAuthAsync]_block_invoke_2+346 6 libdispatch.dylib 0x000000010e59be5d _dispatch_call_block_and_release+12 7
libdispatch.dylib 0x000000010e5bc49b_dispatch_client_callout+8 8 libdispatch.dylib 0x000000010e5a42af _dispatch_main_queue_callback_4CF+1738 9
核心基础0x000000010d6b1d09__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE
+9 10 CoreFoundation 0x000000010d6732c9__CFRunLoopRun+2073 11 CoreFoundation 0x000000010d672828 CFRunLoopRunSpecific+488 12 GraphicsServices
0x000000010f236ad2 GSEventRunModal+161 13 UIKit
0x000000010bf52610 UIApplicationMain+171 14北方灯
0x000000010a5c90fd main+109 15 libdyld.dylib
0x000000010e5f092d开始+1 16
0x0000000000000001 0x0+1)libc++abi.dylib:终止于NSException(lldb)类型的未捕获异常

当我在应用程序中实现多个url方案时,我也面临着同样的问题。崩溃的原因是Spotify正在处理应用程序中的推特url方案(_app:UIApplication,open url:url)

我能够通过检查即将到来的url方案的类型来解决这个问题。对于twitter,我使用

if url.scheme != nil && url.scheme!.hasPrefix("twitterkit"){ //Twitter SDK
        return TWTRTwitter.sharedInstance().application(app, open: url, options: options)
}  else{ //Other SDK's  }

最新更新