2015-07-22 58 views
0

[__NSCFString base64String]: unrecognized selector sent to instance occurred雖然試圖發展推送通知。 這是整個錯誤日誌。什麼是[__NSCFString base64String]:無法識別的選擇器發送到實例?

-[__NSCFString base64String]: unrecognized selector sent to instance 0x165263e0 
2015-07-22 15:52:20.441 xxxx[1623:362933] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString base64String]: unrecognized selector sent to instance 0x165263e0' 
*** First throw call stack: 
(0x22705fef 0x30da9c8b 0x2270b409 0x22709327 0x22638e78 0x1caa99 0x1c4ba7 0x1bf7ed 0x1bf633 0x1af1d9 0x1ae757 0x1bec3f 0x1c64ed 0x13fdfd 0x260ea37b 0x260eb22d 0x2717d8f3 0x226cb7cb 0x226cb767 0x226c9d69 0x22616201 0x22616013 0x2a0e7201 0x25de2a09 0x145965 0x3135baaf) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

以下是來源。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

    [xxxx startSDKWithAppKey:@"xxxxxxxxxxxxxxxxxxxxxxxxxxxx" host:nil logEnabled:YES sandboxEnabled:NO]; 

    [xxxx setDelegate:self]; 
    [xxxx setSPTag:@"xxxx App"]; 

    [xxxx handleApplication:application didFinishLaunchingWithOptions:launchOptions]; 

    application.applicationIconBadgeNumber = 0; 

    return YES; 
} 

#pragma mark APNS notification 
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 
{ 

[xxxx handleApplication:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; 

} 

消除這些部件是很好的執行。

[xxxx handleApplication:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];

爲什麼不知道,如果發生此錯誤。 請告訴我,我應該怎麼...

+2

這堆棧跟蹤是不夠的。這對你沒有好處,對我們也沒有好處。在發佈前象徵性地發表意見。 – trojanfoe

回答

1

它在我看來像你已經添加了類別頭文件NSString+Base64.hNSData+Base64.h但你還沒有鏈接到相應的實現(.m)文件。

添加NSString+Base64.mNSData+Base64.m到Xcode目標以及可能解決您的問題。

但是,如果這些實現對象文件是庫的一部分,那麼您可能需要將-ObjC添加到其他鏈接器標記

+0

謝謝,它被添加到其他鏈接標誌運行良好。謝謝你!!!!! – takm

1

無法識別的選擇發送當你調用特定的方法&,是不是有在你的代碼一般發生。

嘗試下面的東西,

  • 試圖找到在你的代碼base64String方法。
  • 添加例外斷點&然後運行代碼。
  • 也看到,如果你在正確的對象或不打電話base64String

希望它可以幫助你。

+0

base64string無法找到正在使用 #進口 「的NSData + Base64.h」 #進口 「的NSString + Base64.h」。我不知道問題是否存在。 – takm

+0

將您需要的「NSData + Base64.h」添加到您的項目中。參考鏈接https://gist.github.com/Abizern/1643491 –

相關問題