所以在我的项目中,我有 FacebookSDK、ParseSDK 和 FirebaseSDK。 Facebook 和 parse 都需要 bolt ,所以我实现了。但是,除非我删除 -Objcflags,否则它不会编译。问题是如果我删除这个标签,代码会编译,但是在尝试初始化 Firebase 时会导致运行时错误,因为它需要 -ObjC。我一团糟。我可以只为该特定框架设置标志吗?感谢您的帮助。
Best Answer-推荐答案 strong>
(我认为这应该是一个评论,但我还没有足够的代表,希望这有助于解决这个问题。)
我遇到了完全相同的问题(使用 SponsorPay SDK 而不是 FirebaseSDK),Facebook SDK 和 Parse 可以正常工作,直到我添加 SponsorPay 工作所需的 -ObjC 标志。 p>
删除 Bolts.framework 不是解决方案,因为这会产生一些链接错误:
"_BFTaskMultipleExceptionsException", referenced from:
___53+[PFObject(Private) deleteAllAsync:withSessionToken:]_block_invoke214 in Parse(PFObject.o)
___65+[PFObject(Private) _deepSaveAsync:withCurrentUser:sessionToken:]_block_invoke311 in Parse(PFObject.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如果我使用 FacebookSDK 包中包含的 Bolts.framework,我会遇到完全相同的错误。
但是,使用 Parse Library 中包含的 Bolts.framework 我得到了一个不同的错误:
ld: 91 duplicate symbols for architecture x86_64
所有框架和库都已更新。
编辑:
使用 cocoapods 也为我解决了这个问题!
关于ios - -ObjC 上的矛盾框架,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/29083976/
|