我正在尝试更新到最新版本的Flurry,从4.2.2到4.2.3。我已经更新了文件,但现在我遇到了各种各样的链接错误。
Undefined symbols for architecture i386:
"_SecItemAdd", referenced from:
-[FlurryKeychainWrapper setData:forKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_SecItemCopyMatching", referenced from:
-[FlurryKeychainWrapper dataForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_SecItemDelete", referenced from:
-[FlurryKeychainWrapper removeObjectForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_SecItemUpdate", referenced from:
-[FlurryKeychainWrapper updateValueData:forKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_kSecAttrAccessible", referenced from:
-[FlurryKeychainWrapper setData:forKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_kSecAttrAccessibleWhenUnlocked", referenced from:
-[FlurryKeychainWrapper setData:forKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_kSecAttrAccount", referenced from:
-[FlurryKeychainWrapper setupSearchForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_kSecAttrGeneric", referenced from:
-[FlurryKeychainWrapper setupSearchForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_kSecAttrService", referenced from:
-[FlurryKeychainWrapper setupSearchForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_kSecClass", referenced from:
-[FlurryKeychainWrapper setupSearchForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_kSecClassGenericPassword", referenced from:
-[FlurryKeychainWrapper setupSearchForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_kSecMatchLimit", referenced from:
-[FlurryKeychainWrapper dataForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_kSecMatchLimitOne", referenced from:
-[FlurryKeychainWrapper dataForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_kSecReturnData", referenced from:
-[FlurryKeychainWrapper dataForKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
"_kSecValueData", referenced from:
-[FlurryKeychainWrapper setData:forKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
-[FlurryKeychainWrapper updateValueData:forKey:] in libSDLibrary.a(libFlurry.a-i386-master.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
至少可以说是令人沮丧的。我已经包含了SystemConfiguration框架(如上所述here)。我正在运行xCode 4.6.3。关于问题可能在哪里的任何想法?
答案 0 :(得分:42)
您需要添加Security.framework
,因为链接器错误中提到的符号来自该框架。
如何更新?
在此处下载最新版本的Flurry SDK(版本4.2.3)。 在构建过程中包含Apple的安全框架。 (有关如何执行此操作的详细信息,请参阅下面的FAQ条目)
“安全”框架是强制性的吗?
为了确保数据的完整性,Flurry要求您在更新的应用中包含此框架。