0

解決できない、または問題の原因を特定できないリンカ エラーの問題に遭遇しました。CategoryというiOS プロジェクトにを追加しましたParentViewController+CoreData.hファイルまたはファイルのどちらでも、このカテゴリには何も追加しませんでした.mが、別のファイルにインポートすると、35 個のリンカ エラーが発生します。ParentViewControllerカテゴリを作成したいコード内のView Controllerです。標準のビュー コントローラーからカテゴリを作成する場合、問題はありません。過去にカスタムView Controllerから問題なくカテゴリを作成しましたが、ここで問題を見つけることができません。

以下は、リンカー エラーです。

Ld /Users/Heather/Library/Developer/Xcode/DerivedData/Lodge-dffwatcyrvyekkdhbejusjleqkjn/Build/Products/Debug-iphonesimulator/Lodge.app/Lodge normal i386
    cd /Users/Heather/Documents/lodge
    setenv IPHONEOS_DEPLOYMENT_TARGET 5.1
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk -L/Users/Heather/Library/Developer/Xcode/DerivedData/Lodge-dffwatcyrvyekkdhbejusjleqkjn/Build/Products/Debug-iphonesimulator -L/Users/Heather/Documents/lodge -F/Users/Heather/Library/Developer/Xcode/DerivedData/Lodge-dffwatcyrvyekkdhbejusjleqkjn/Build/Products/Debug-iphonesimulator -filelist /Users/Heather/Library/Developer/Xcode/DerivedData/Lodge-dffwatcyrvyekkdhbejusjleqkjn/Build/Intermediates/Lodge.build/Debug-iphonesimulator/Lodge.build/Objects-normal/i386/Lodge.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -all_load -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=5.1 -framework CoreData -lz -framework CoreGraphics -framework SystemConfiguration -framework MobileCoreServices -framework CFNetwork -framework QuickLook -framework CoreLocation -framework MessageUI -framework ImageIO -lxml2 -framework CoreText -framework Security -framework QuartzCore -framework UIKit -framework Foundation -lFlurryAnalytics -o /Users/Heather/Library/Developer/Xcode/DerivedData/Lodge-dffwatcyrvyekkdhbejusjleqkjn/Build/Products/Debug-iphonesimulator/Lodge.app/Lodge

Undefined symbols for architecture i386:
  "_kGTMHTTPFetcherErrorChallengeKey", referenced from:
      -[GTMHTTPFetcher connection:didReceiveAuthenticationChallenge:] in GTMHTTPFetcher.o
  "_kGTMHTTPFetcherErrorDomain", referenced from:
      -[GTMHTTPFetcher failToBeginFetchWithError:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher backgroundFetchExpired] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher connection:didReceiveAuthenticationChallenge:] in GTMHTTPFetcher.o
      -[GTMHTTPUploadFetcher uploadNextChunkWithOffset:fetcherProperties:] in GTMHTTPUploadFetcher.o
      -[GTMHTTPFetcher failToBeginFetchWithError:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher backgroundFetchExpired] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher connection:didReceiveAuthenticationChallenge:] in GTMHTTPFetcher.o
      -[GTMHTTPUploadFetcher uploadNextChunkWithOffset:fetcherProperties:] in GTMHTTPUploadFetcher.o
  "_kGTMHTTPFetcherRetryDelayStartedNotification", referenced from:
      -[GTMHTTPFetcher primeRetryTimerWithNewTimeInterval:] in GTMHTTPFetcher.o
  "_kGTMHTTPFetcherRetryDelayStoppedNotification", referenced from:
      -[GTMHTTPFetcher destroyRetryTimer] in GTMHTTPFetcher.o
  "_kGTMHTTPFetcherStartedNotification", referenced from:
      -[GTMHTTPFetcher beginFetchMayDelay:mayAuthorize:] in GTMHTTPFetcher.o
  "_kGTMHTTPFetcherStatusDataKey", referenced from:
      -[GTMHTTPFetcher connectionDidFinishLoading:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher shouldRetryNowForStatus:error:] in GTMHTTPFetcher.o
  "_kGTMHTTPFetcherStatusDomain", referenced from:
      -[GTMHTTPFetcher connection:didReceiveData:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher connectionDidFinishLoading:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher isRetryError:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher shouldRetryNowForStatus:error:] in GTMHTTPFetcher.o
      -[GTMHTTPUploadFetcher connectionDidFinishLoading:] in GTMHTTPUploadFetcher.o
      -[GTMHTTPUploadFetcher chunkFetcher:finishedWithData:error:] in GTMHTTPUploadFetcher.o
      -[GTMHTTPUploadFetcher chunkFetcher:willRetry:forError:] in GTMHTTPUploadFetcher.o
      ...
      -[GTMHTTPFetcher connection:didReceiveData:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher connectionDidFinishLoading:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher isRetryError:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher shouldRetryNowForStatus:error:] in GTMHTTPFetcher.o
      -[GTMHTTPUploadFetcher connectionDidFinishLoading:] in GTMHTTPUploadFetcher.o
      -[GTMHTTPUploadFetcher chunkFetcher:finishedWithData:error:] in GTMHTTPUploadFetcher.o
      -[GTMHTTPUploadFetcher chunkFetcher:willRetry:forError:] in GTMHTTPUploadFetcher.o
      ...
      -[GTMHTTPFetcher connection:didReceiveData:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher connectionDidFinishLoading:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher isRetryError:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher shouldRetryNowForStatus:error:] in GTMHTTPFetcher.o
      -[GTMHTTPUploadFetcher connectionDidFinishLoading:] in GTMHTTPUploadFetcher.o
      -[GTMHTTPUploadFetcher chunkFetcher:finishedWithData:error:] in GTMHTTPUploadFetcher.o
      -[GTMHTTPUploadFetcher chunkFetcher:willRetry:forError:] in GTMHTTPUploadFetcher.o
      ...
      -[GTMHTTPFetcher connection:didReceiveData:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher connectionDidFinishLoading:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher isRetryError:] in GTMHTTPFetcher.o
      -[GTMHTTPFetcher shouldRetryNowForStatus:error:] in GTMHTTPFetcher.o
      -[GTMHTTPUploadFetcher connectionDidFinishLoading:] in GTMHTTPUploadFetcher.o
      -[GTMHTTPUploadFetcher chunkFetcher:finishedWithData:error:] in GTMHTTPUploadFetcher.o
      -[GTMHTTPUploadFetcher chunkFetcher:willRetry:forError:] in GTMHTTPUploadFetcher.o
      ...
  "_kGTMHTTPFetcherStoppedNotification", referenced from:
      -[GTMHTTPFetcher sendStopNotificationIfNeeded] in GTMHTTPFetcher.o
  "_kGTMOAuth2AccessTokenRefreshed", referenced from:
      -[GTMOAuth2Authentication auth:finishedRefreshWithFetcher:error:] in GTMOAuth2Authentication.o
  "_kGTMOAuth2ErrorDomain", referenced from:
      -[GTMOAuth2Authentication authorizeRequestImmediateArgs:] in GTMOAuth2Authentication.o
      -[GTMOAuth2SignIn windowWasClosed] in GTMOAuth2SignIn.o
      -[GTMOAuth2SignIn handleCallbackReached] in GTMOAuth2SignIn.o
      -[GTMOAuth2Authentication authorizeRequestImmediateArgs:] in GTMOAuth2Authentication.o
      -[GTMOAuth2SignIn windowWasClosed] in GTMOAuth2SignIn.o
      -[GTMOAuth2SignIn handleCallbackReached] in GTMOAuth2SignIn.o
  "_kGTMOAuth2ErrorJSONKey", referenced from:
      -[GTMOAuth2Authentication tokenFetcher:finishedWithData:error:] in GTMOAuth2Authentication.o
  "_kGTMOAuth2ErrorMessageKey", referenced from:
      -[GTMOAuth2SignIn handleCallbackReached] in GTMOAuth2SignIn.o
  "_kGTMOAuth2ErrorRequestKey", referenced from:
      -[GTMOAuth2Authentication authorizeRequestImmediateArgs:] in GTMOAuth2Authentication.o
  "_kGTMOAuth2FetchStarted", referenced from:
      -[GTMOAuth2Authentication notifyFetchIsRunning:fetcher:type:] in GTMOAuth2Authentication.o
  "_kGTMOAuth2FetchStopped", referenced from:
      -[GTMOAuth2Authentication notifyFetchIsRunning:fetcher:type:] in GTMOAuth2Authentication.o
  "_kGTMOAuth2FetchTypeAssertion", referenced from:
      -[GTMOAuth2Authentication beginTokenFetchWithDelegate:didFinishSelector:] in GTMOAuth2Authentication.o
  "_kGTMOAuth2FetchTypeKey", referenced from:
      -[GTMOAuth2Authentication notifyFetchIsRunning:fetcher:type:] in GTMOAuth2Authentication.o
  "_kGTMOAuth2FetchTypeRefresh", referenced from:
      -[GTMOAuth2Authentication beginTokenFetchWithDelegate:didFinishSelector:] in GTMOAuth2Authentication.o
  "_kGTMOAuth2FetchTypeToken", referenced from:
      -[GTMOAuth2Authentication beginTokenFetchWithDelegate:didFinishSelector:] in GTMOAuth2Authentication.o
  "_kGTMOAuth2FetchTypeUserInfo", referenced from:
      -[GTMOAuth2SignIn fetchGoogleUserInfo] in GTMOAuth2SignIn.o
  "_kGTMOAuth2FetcherKey", referenced from:
      -[GTMOAuth2Authentication notifyFetchIsRunning:fetcher:type:] in GTMOAuth2Authentication.o
  "_kGTMOAuth2KeychainErrorDomain", referenced from:
      -[GTMOAuth2Keychain passwordForService:account:error:] in GTMOAuth2ViewControllerTouch.o
      -[GTMOAuth2Keychain removePasswordForService:account:error:] in GTMOAuth2ViewControllerTouch.o
      -[GTMOAuth2Keychain setPassword:forService:accessibility:account:error:] in GTMOAuth2ViewControllerTouch.o
  "_kGTMOAuth2NetworkFound", referenced from:
      -[GTMOAuth2SignIn reachabilityTarget:changedFlags:] in GTMOAuth2SignIn.o
  "_kGTMOAuth2NetworkLost", referenced from:
      -[GTMOAuth2SignIn reachabilityTimerFired:] in GTMOAuth2SignIn.o
  "_kGTMOAuth2RefreshTokenChanged", referenced from:
      -[GTMOAuth2Authentication setKeysForResponseDictionary:] in GTMOAuth2Authentication.o
  "_kGTMOAuth2ServiceProviderGoogle", referenced from:
      +[GTMOAuth2SignIn standardGoogleAuthenticationForScope:clientID:clientSecret:] in GTMOAuth2SignIn.o
      -[GTMOAuth2SignIn auth:finishedWithFetcher:error:] in GTMOAuth2SignIn.o
      +[GTMOAuth2SignIn revokeTokenForGoogleAuthentication:] in GTMOAuth2SignIn.o
      +[GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:clientID:clientSecret:] in GTMOAuth2ViewControllerTouch.o
      +[GTMOAuth2SignIn standardGoogleAuthenticationForScope:clientID:clientSecret:] in GTMOAuth2SignIn.o
      -[GTMOAuth2SignIn auth:finishedWithFetcher:error:] in GTMOAuth2SignIn.o
      +[GTMOAuth2SignIn revokeTokenForGoogleAuthentication:] in GTMOAuth2SignIn.o
      +[GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:clientID:clientSecret:] in GTMOAuth2ViewControllerTouch.o
  "_kGTMOAuth2UserSignedIn", referenced from:
      -[GTMOAuth2SignIn handleCallbackReached] in GTMOAuth2SignIn.o
  "_kGTMOAuth2WebViewCancelled", referenced from:
      -[GTMOAuth2ViewControllerTouch viewWillDisappear:] in GTMOAuth2ViewControllerTouch.o
  "_kGTMOAuth2WebViewFailed", referenced from:
      -[GTMOAuth2ViewControllerTouch webView:didFailLoadWithError:] in GTMOAuth2ViewControllerTouch.o
  "_kGTMOAuth2WebViewFinished", referenced from:
      -[GTMOAuth2ViewControllerTouch webViewDidFinishLoad:] in GTMOAuth2ViewControllerTouch.o
  "_kGTMOAuth2WebViewKey", referenced from:
      -[GTMOAuth2ViewControllerTouch notifyWithName:webView:kind:] in GTMOAuth2ViewControllerTouch.o
  "_kGTMOAuth2WebViewStartedLoading", referenced from:
      -[GTMOAuth2ViewControllerTouch notifyWithName:webView:kind:] in GTMOAuth2ViewControllerTouch.o
      -[GTMOAuth2ViewControllerTouch webViewDidStartLoad:] in GTMOAuth2ViewControllerTouch.o
  "_kGTMOAuth2WebViewStopKindKey", referenced from:
      -[GTMOAuth2ViewControllerTouch notifyWithName:webView:kind:] in GTMOAuth2ViewControllerTouch.o
  "_kGTMOAuth2WebViewStoppedLoading", referenced from:
      -[GTMOAuth2ViewControllerTouch viewWillDisappear:] in GTMOAuth2ViewControllerTouch.o
      -[GTMOAuth2ViewControllerTouch webViewDidFinishLoad:] in GTMOAuth2ViewControllerTouch.o
      -[GTMOAuth2ViewControllerTouch webView:didFailLoadWithError:] in GTMOAuth2ViewControllerTouch.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
4

3 に答える 3

2

私も同じ問題を抱えていました。私の問題は、インポートの無限のループを作成していたPrefix.pchファイルに関連していました。代わりに、Google Drive APIを使用していたデータソースを削除し、それを使用した特定のファイルにのみインポートしました。ルーキーのミスと理解するのはお尻の痛みでしたが、あなたも無限ループを持っていないことを確認してください!

于 2013-01-28T14:39:42.930 に答える
0

オブジェクトファイルがコンパイラによって読み取られない/取得されないことは、ファイルから明らかです。カテゴリ ファイルがアプリケーション ターゲットに追加されている場合は、ターゲットを確認します。

私が多く直面したこの種の問題は、これがあなたの問題を解決することを願っています。

于 2012-12-04T16:12:43.797 に答える
0

プロジェクト ターゲットは、GTM OAuth 2 コントローラーのソースhttp://code.google.com/p/gtm-oauth2/でコンパイルされていますが、リンクされていません。

于 2012-12-05T06:30:30.670 に答える