我目前正在实现iOS Salesforce聊天程序与iPad应用程序的集成。当添加Salesforce (包含MKNetworkKit-iOS)时,我在Reacability.o上得到了重复错误。我知道我们在MKNewtorkKit-iOS中添加了Reachability,但我也必须从insdie我的项目中获得它。
目前,我正在通过添加#import“Reacability.h”来访问可达性(在代码中)。
如果从我的项目中读到了Reachibility类,我需要访问MKNetworkKit--可达类的iOS副本,但我不能导入类似“MKNetworkKit-iOS /Reaccanty.h”之类的东西--尝试了很多组合,希望Xcode自动完成不能在这个库中正常工作,但没有运气。
目前,Xcode 5.1与iOS SDK7.1和最新的SalesfoceMobileSDK2.1.1一起使用(今天进行的所有更改)。
我所看到的错误:
重复符号: /FULL_PATH_TO_BUILD_LOCATION/Build/Intermediates/LDPConference.build/Debug-iphoneos/LDPConference.build/Objects-normal/armv7/Reachability.o /FULL_PATH_TO_PROJECT/SalesforceMobileSDK/MKNetworkKit-iOS/libMKNetworkKit-iOS.a(Reachability.o)重复符号_OBJC_CLASS_$_Reachability in: /FULL_PATH_TO_BUILD_LOCATION/Build/Intermediates/LDPConference.build/Debug-iphoneos/LDPConference.build/Objects-O /FULL_PATH_TO_PROJECT/SalesforceMobileSDK/MKNetworkKit-iOS/libMKNetworkKit-iOS.a(Reachability.o)重复符号_OBJC_METACLASS_$_Reachability in: /FULL_PATH_TO_BUILD_LOCATION/Build/Intermediates/LDPConference.build/Debug-iphoneos/LDPConference.build/Objects-normal/armv7/Reachability.o /FULL_PATH_TO_PROJECT/SalesforceMobileSDK/MKNetworkKit-iOS/libMKNetworkKit-iOS.a(Reachability.o) ld: 3架构armv7 clang的重复符号:错误:链接器命令失败,退出代码1(使用-v查看调用)
谢谢你花了很多时间研究这个问题,J
发布于 2014-03-12 12:23:58
您可以从编译中删除这两个Reachability.m文件中的任何一个。
转到“项目设置”、“->构建阶段”、“->编译源”->、“选择Reacability.m ->”删除它。
这不会从系统中删除文件,只会从编译中删除。头将被使用,并且实现不会被重复。
还可以重命名其中一个类,以避免命名冲突。
发布于 2014-03-13 09:02:29
谢谢@redent84 84。效果很好。
我还在Salesforce论坛上收到了凯文·霍金斯的替代解决方案的答复:
另一种解决方案是利用通过SFNetworkEngine公开的可达性:
[SFNetworkEngine sharedInstance].reachabilityChangedHandler = ^(SFNetworkStatus newStatus) {
// Handle your network changes here.
};这最终利用了MKNetworkKit的可达功能。
https://stackoverflow.com/questions/22351264
复制相似问题