【发布时间】:2015-06-07 16:23:54
【问题描述】:
我完全无法使用 AFNetworking 在模拟器上运行项目。我以前在其他项目上使用过这种依赖关系,所以我不明白这里出了什么问题。一、我尝试运行项目时的错误:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_AFHTTPSessionManager", referenced from:
_OBJC_CLASS_$_SharedNetworkObject in SharedNetworkObject.o
"_OBJC_CLASS_$_AFJSONResponseSerializer", referenced from:
objc-class-ref in SharedNetworkObject.o
"_OBJC_METACLASS_$_AFHTTPSessionManager", referenced from:
_OBJC_METACLASS_$_SharedNetworkObject in SharedNetworkObject.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我确定这是问题的一部分,但我不知道如何解决:
这是有问题的 .h 文件:
#import <Foundation/Foundation.h>
#import <AFNetworking/AFNetworking.h>
#import "SharedSessionKey.h"
@interface SharedNetworkObject : AFHTTPSessionManager
+ (SharedNetworkObject *) sharedNetworkObject; // class method to return the singleton object
@end
可能有趣的是,当我开始输入 AFNetworking 的导入行时,该行会在几个字符后填充,所以我知道存在 AFNetworking 依赖项。
我使用 CocoaPods 安装了依赖项。这是我的 Podfile:
# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
source 'https://github.com/CocoaPods/Specs.git'
target 'WeRun' do
pod "AFNetworking", "2.5.2"
end
target 'WeRunTests' do
end
当然,我在.xcworkspace(不是.xcodeproj)工作。
还有一点,我的 xcconfig 文件看起来像这样,与其他成功的 AFNetworking 构建相匹配:
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking"
OTHER_LDFLAGS = -ObjC -l"Pods-MyApp-AFNetworking" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration"
OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS)
PODS_ROOT = ${SRCROOT}/Pods
我不知道还要寻找什么。我已经完全删除了 pod 并重新安装,却发现完全相同的错误。谁能帮我解决这个问题?谢谢!
【问题讨论】:
-
将仅构建活动架构设置为是
-
@Jassi - 没用。
-
请查看link 其他用户正在尝试各种选项。它可能会对你有所帮助。
-
@KlevisonMatias - 谢谢。我已经尝试过这些,但它们只会让问题变得更糟。
标签: ios xcode afnetworking cocoapods