ios - _NSInlineData base64EncodedString - 发送到实例的无法识别的选择器

标签 ios objective-c cocoapods unrecognized-selector evernote

我基于 Evernote SDK sample 在 XCode 中创建了一个 ipad 项目.测试 OAuth 的方法有效。我从项目中的直接来源切换到 CocoaPods pod 'Evernote-SDK-iOS', '~> 1.3' 现在我遇到了以下异常。

当它停止工作时,我注意到我无意中运行了“iPad”模拟器。我在开始工作时使用过“iPad Retina 64bit”。当我切换到 64 位时,它起作用了。我在使用直接源而不是 pod 的版本中尝试了它,对于“iPad”版本,它打开了授权弹出窗口,当我登录时,我也能够在 CocoaPods 版本中登录“iPad”....似乎在CocoaPods 版本存在授权问题,而不是模拟器之间的差异......当我第一次使用我的旧代码授权我的应用程序时它才有效......

知道项目中的直接源代码和使用 CocoaPods 之间的区别在哪里吗?

我在第 153 行得到异常:return [data base64EncodedString];在文件 ENGCOAuth.m 中

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_NSInlineData base64EncodedString]: unrecognized selector sent to instance 0x958ca10'
*** First throw call stack:
(
    0   CoreFoundation         0x01b001e4 __exceptionPreprocess + 180
    1   libobjc.A.dylib        0x009538e5 objc_exception_throw + 44
    2   CoreFoundation         0x01b9d243 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275
    3   CoreFoundation         0x01af050b ___forwarding___ + 1019
    4   CoreFoundation         0x01af00ee _CF_forwarding_prep_0 + 14
    5   MemloNotepad           0x001d378a -[ENGCOAuth signature] + 618
    6   MemloNotepad           0x001d3187 -[ENGCOAuth authorizationHeader] + 167
    7   MemloNotepad           0x001d2fb5 -[ENGCOAuth request] + 245
    8   MemloNotepad           0x001d4dba +[ENGCOAuth URLRequestForPath:GETParameters:scheme:host:consumerKey:consumerSecret:accessToken:tokenSecret:] + 1082
    9   MemloNotepad           0x001eb38c -[EvernoteSession startOauthAuthentication] + 348
    10  MemloNotepad           0x001ead7e __68-[EvernoteSession authenticateWithViewController:completionHandler:]_block_invoke + 558
    11  MemloNotepad           0x001cfec7 __44-[ENAPI invokeAsyncIdBlock:success:failure:]_block_invoke_2 + 55

注意:我已经在 Evernote forum 中问过这个问题了但是我将近一个月没有得到任何回复。

最佳答案

另一个StackOverflow question帮我解决了问题。

我必须在 Build SettingsOther Linker Flags 中添加 $(inherited)。我在其中一个目标中有它,但不是在所有目标中。

关于ios - _NSInlineData base64EncodedString - 发送到实例的无法识别的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23138452/

相关文章:

iphone - 如何使用 MFMailComposerViewController 将 UIImage 添加到电子邮件中?

ios - 在显示初始 View Controller 之前显示 View Controller

ios - 如何从操作表返回到上一个 View

ios - Swift 中的 CocoaPods 和 Realm

ruby - 更新 cocoapod 时如何避免这种 ruby​​ 非法指令错误?

ios - Core Graphics 和 Open GL 绘图

ios - 通过 swift 集成新的 facebook SDK

ios - 模型类中的 ASIHTTPRequest 异步请求

ios - 如何为 CoreData 添加新的持久存储?

xcode - 如何在嵌入式框架中使用 Cocoapods?