Ошибки ссылок с Parse.framework iOS
Я попытался импортировать структуру анализа в свой проект. Я убедился, что это нравится с моим проектом, и я не мог найти ничего о том, является ли он "чувствительным к духу" или нет. Мой проект основан на дуге.
Это ошибка, которую я получаю:
Undefined symbols for architecture i386:
"_SCNetworkReachabilityCreateWithName", referenced from:
-[PFCommandCache init] in Parse(PFCommandCache.o)
+[PFInternalUtils(Reachability) isParseReachable] in Parse(PFInternalUtils.o)
"_SCNetworkReachabilityGetFlags", referenced from:
___22-[PFCommandCache init]_block_invoke in Parse(PFCommandCache.o)
+[PFInternalUtils(Reachability) isParseReachable] in Parse(PFInternalUtils.o)
"_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
-[PFCommandCache init] in Parse(PFCommandCache.o)
"_SCNetworkReachabilitySetCallback", referenced from:
-[PFCommandCache init] in Parse(PFCommandCache.o)
"_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
-[PFCommandCache dealloc] in Parse(PFCommandCache.o)
"_SecItemAdd", referenced from:
+[PFInternalUtils saveToKeychain:data:] in Parse(PFInternalUtils.o)
"_SecItemCopyMatching", referenced from:
+[PFInternalUtils loadFromKeychain:] in Parse(PFInternalUtils.o)
"_SecItemDelete", referenced from:
+[PFInternalUtils saveToKeychain:data:] in Parse(PFInternalUtils.o)
+[PFInternalUtils deleteFromKeychain:] in Parse(PFInternalUtils.o)
"_UTTypeCopyPreferredTagWithClass", referenced from:
-[PFFile getMimeType] in Parse(PFFile.o)
"_UTTypeCreatePreferredIdentifierForTag", referenced from:
-[PFFile getMimeType] in Parse(PFFile.o)
"_kCFStreamPropertyFTPAttemptPersistentConnection", referenced from:
-[PFHTTPCommand scheduleInCurrentThread] in Parse(PFHTTPCommand.o)
"_kCFStreamPropertyHTTPAttemptPersistentConnection", referenced from:
-[PFHTTPCommand scheduleInCurrentThread] in Parse(PFHTTPCommand.o)
"_kSecAttrAccessible", referenced from:
+[PFInternalUtils getKeychainQuery:] in Parse(PFInternalUtils.o)
"_kSecAttrAccessibleAfterFirstUnlock", referenced from:
+[PFInternalUtils getKeychainQuery:] in Parse(PFInternalUtils.o)
"_kSecAttrAccount", referenced from:
+[PFInternalUtils getKeychainQuery:] in Parse(PFInternalUtils.o)
"_kSecAttrService", referenced from:
+[PFInternalUtils getKeychainQuery:] in Parse(PFInternalUtils.o)
"_kSecClass", referenced from:
+[PFInternalUtils getKeychainQuery:] in Parse(PFInternalUtils.o)
"_kSecClassGenericPassword", referenced from:
+[PFInternalUtils getKeychainQuery:] in Parse(PFInternalUtils.o)
"_kSecMatchLimit", referenced from:
+[PFInternalUtils loadFromKeychain:] in Parse(PFInternalUtils.o)
"_kSecMatchLimitOne", referenced from:
+[PFInternalUtils loadFromKeychain:] in Parse(PFInternalUtils.o)
"_kSecReturnData", referenced from:
+[PFInternalUtils loadFromKeychain:] in Parse(PFInternalUtils.o)
"_kSecValueData", referenced from:
+[PFInternalUtils saveToKeychain:data:] in Parse(PFInternalUtils.o)
"_kUTTagClassFilenameExtension", referenced from:
-[PFFile getMimeType] in Parse(PFFile.o)
"_kUTTagClassMIMEType", referenced from:
-[PFFile getMimeType] in Parse(PFFile.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Ответы
Ответ 1
Убедитесь, что вы ссылаетесь на рамки SystemConfiguration
и Security
в своем проекте. Подробнее см. этот вопрос. Как отметил Гектор в комментариях, все необходимые рамки для Parse можно найти в кратком руководстве iOS.
- AudioToolbox.framework
- CFNetwork.framework
- CoreGraphics.framework
- CoreLocation.framework
- libz.1.1.3.dylib
- MobileCoreServices.framework
- QuartzCore.framework
- Security.framework
- StoreKit.framework
- SystemConfiguration.framework
Ответ 2
В дополнение к этим фреймворкам добавьте MobileCoreServices.framework из вашего проекта.
-Accounts.framework
-AudioToolbox.framework
-CFNetwork.framework
-CoreGraphics.framework
-CoreLocation.framework
-libz.dylib
-MobileCoreServices.framework
-QuartzCore.framework
-Security.framework
-Social.framework
-StoreKit.framework
-SystemConfiguration.framework
Ответ 3
Мне нужно было добавить " $(унаследованный)" в Пути поиска Framework в Настройки сборки, чтобы заставить его работать.