AFNetworking+GHUnitでハマった話し
Podfile
platform :ios, '6.1' target :GHUnitTests, :exclusive => true do pod 'GHUnitIOS', '~> 0.5.5' end pod 'AFNetworking', '~> 1.3.2'
GHUnitTestsからAFNetworkingが見えない。
まぁ、それはそうか。
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_AFJSONRequestOperation", referenced from:
objc-class-ref in XXX.o
Podfileを変更
platform :ios, '6.1' target :GHUnitTests, :exclusive => true do pod 'GHUnitIOS', '~> 0.5.5' pod 'AFNetworking', '~> 1.3.2' end pod 'AFNetworking', '~> 1.3.2'
大量のエラーが
"_SCNetworkReachabilityCreateWithName", referenced from:
-[AFHTTPClient startMonitoringNetworkReachability] in libPods-GHUnitTests.a(AFHTTPClient.o)
"_SCNetworkReachabilityGetFlags", referenced from:
-[AFHTTPClient startMonitoringNetworkReachability] in libPods-GHUnitTests.a(AFHTTPClient.o)
"_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
-[AFHTTPClient startMonitoringNetworkReachability] in libPods-GHUnitTests.a(AFHTTPClient.o)
"_SCNetworkReachabilitySetCallback", referenced from:
-[AFHTTPClient startMonitoringNetworkReachability] in libPods-GHUnitTests.a(AFHTTPClient.o)
"_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
-[AFHTTPClient stopMonitoringNetworkReachability] in libPods-GHUnitTests.a(AFHTTPClient.o)
"_SecCertificateCopyData", referenced from:
-[AFURLConnectionOperation connection:willSendRequestForAuthenticationChallenge:] in libPods-GHUnitTests.a(AFURLConnectionOperation.o)
"_SecCertificateCreateWithData", referenced from:
___44+[AFURLConnectionOperation pinnedPublicKeys]_block_invoke in libPods-GHUnitTests.a(AFURLConnectionOperation.o)
"_SecPolicyCreateBasicX509", referenced from:
___44+[AFURLConnectionOperation pinnedPublicKeys]_block_invoke in libPods-GHUnitTests.a(AFURLConnectionOperation.o)
-[AFURLConnectionOperation connection:willSendRequestForAuthenticationChallenge:] in libPods-GHUnitTests.a(AFURLConnectionOperation.o)
"_SecTrustCopyPublicKey", referenced from:
___44+[AFURLConnectionOperation pinnedPublicKeys]_block_invoke in libPods-GHUnitTests.a(AFURLConnectionOperation.o)
-[AFURLConnectionOperation connection:willSendRequestForAuthenticationChallenge:] in libPods-GHUnitTests.a(AFURLConnectionOperation.o)
"_SecTrustCreateWithCertificates", referenced from:
___44+[AFURLConnectionOperation pinnedPublicKeys]_block_invoke in libPods-GHUnitTests.a(AFURLConnectionOperation.o)
-[AFURLConnectionOperation connection:willSendRequestForAuthenticationChallenge:] in libPods-GHUnitTests.a(AFURLConnectionOperation.o)
"_SecTrustEvaluate", referenced from:
___44+[AFURLConnectionOperation pinnedPublicKeys]_block_invoke in libPods-GHUnitTests.a(AFURLConnectionOperation.o)
-[AFURLConnectionOperation connection:willSendRequestForAuthenticationChallenge:] in libPods-GHUnitTests.a(AFURLConnectionOperation.o)
"_SecTrustGetCertificateAtIndex", referenced from:
-[AFURLConnectionOperation connection:willSendRequestForAuthenticationChallenge:] in libPods-GHUnitTests.a(AFURLConnectionOperation.o)
"_SecTrustGetCertificateCount", referenced from:
-[AFURLConnectionOperation connection:willSendRequestForAuthenticationChallenge:] in libPods-GHUnitTests.a(AFURLConnectionOperation.o)
"_UTTypeCopyPreferredTagWithClass", referenced from:
_AFContentTypeForPathExtension in libPods-GHUnitTests.a(AFHTTPClient.o)
"_UTTypeCreatePreferredIdentifierForTag", referenced from:
_AFContentTypeForPathExtension in libPods-GHUnitTests.a(AFHTTPClient.o)
"_kUTTagClassFilenameExtension", referenced from:
_AFContentTypeForPathExtension in libPods-GHUnitTests.a(AFHTTPClient.o)
"_kUTTagClassMIMEType", referenced from:
_AFContentTypeForPathExtension in libPods-GHUnitTests.a(AFHTTPClient.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
色々彷徨った結果、以下の3ファイルを Link Binary With Libraries から追加することで回避できた
Security.framework
MobileCoreServices.framework
SystemConfigration.framework
しかし、この回避方法が正解なのかは判らない・・・。
reference: