Search code examples
iosswift2xcode7twitter-fabrictwitter-digits

Fabric and Digits pods failing workspace in Xcode 7 and Swift 2.0


I updated to Xcode 7 and fixed the necessary code (syntax) changes for Swift 2.0. I updated my Podfile with these 2 entries:

  pod 'Fabric'
  pod 'Digits'

and now see many build errors (pasted below). Any ideas?

I ran sudo gem install cocoapods to update my Cocoapods, and then ran pod install and pod update in order to install 'Fabric' and 'Digits' pods.

Note: Prior to updating to Xcode 7, my project, which uses Digits, was building and working correctly!

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_FABJLObjectDeserializer", referenced from:
      objc-class-ref in DigitsKit(DGTUserNetworking.o)
      objc-class-ref in DigitsKit(DGTAuthNetworking.o)
  "_OBJC_CLASS_$_FABJLObjectSerializer", referenced from:
      objc-class-ref in DigitsKit(DGTAuthNetworking.o)
  "_OBJC_CLASS_$_TFSScribe", referenced from:
      objc-class-ref in DigitsKit(Digits.o)
  "_OBJC_CLASS_$_TWTRAPIResponseValidator", referenced from:
      objc-class-ref in DigitsKit(DGTNetworkingHelper.o)
  "_OBJC_CLASS_$_TWTRAuthConfig", referenced from:
      objc-class-ref in DigitsKit(Digits.o)
  "_OBJC_CLASS_$_TWTRColorUtil", referenced from:
      objc-class-ref in DigitsKit(DGTAppearance.o)
  "_OBJC_CLASS_$_TWTRCoreLanguage", referenced from:
      objc-class-ref in DigitsKit(DGTAuthNetworking.o)
  "_OBJC_CLASS_$_TWTRDictUtil", referenced from:
      objc-class-ref in DigitsKit(DGTLogInAuthConfiguration.o)
      objc-class-ref in DigitsKit(DGTDeviceRegisterConfiguration.o)
  "_OBJC_CLASS_$_TWTRGuestSessionRefreshStrategy", referenced from:
      objc-class-ref in DigitsKit(Digits.o)
  "_OBJC_CLASS_$_TWTRKeychainWrapper", referenced from:
      objc-class-ref in DigitsKit(DGTSessionMigrator.o)
  "_OBJC_CLASS_$_TWTRNetworkingPipeline", referenced from:
      objc-class-ref in DigitsKit(DGTNetworkingHelper.o)
  "_OBJC_CLASS_$_TWTRResourcesUtil", referenced from:
      objc-class-ref in DigitsKit(DGTURLSessionConfig.o)
      objc-class-ref in DigitsKit(DGTResourcesUtil.o)
  "_OBJC_CLASS_$_TWTRScribeClientEventNamespace", referenced from:
      objc-class-ref in DigitsKit(DGTScribeEventLogger.o)
  "_OBJC_CLASS_$_TWTRScribeEvent", referenced from:
      objc-class-ref in DigitsKit(DGTScribeEventLogger.o)
  "_OBJC_CLASS_$_TWTRScribeService", referenced from:
      objc-class-ref in DigitsKit(Digits.o)
  "_OBJC_CLASS_$_TWTRSessionStore", referenced from:
      objc-class-ref in DigitsKit(Digits.o)
  "_OBJC_CLASS_$_TWTRURLSessionDelegate", referenced from:
      objc-class-ref in DigitsKit(DGTNetworkingHelper.o)
  "_OBJC_CLASS_$_TWTRUserSessionVerifier", referenced from:
      objc-class-ref in DigitsKit(DGTSessionVerifier.o)
  "_OBJC_CLASS_$_TWTRUtils", referenced from:
      objc-class-ref in DigitsKit(DGTAuthViewController.o)
      objc-class-ref in DigitsKit(DGTConfirmSignUpViewController.o)
      objc-class-ref in DigitsKit(DGTConfirmLogInViewController.o)
      objc-class-ref in DigitsKit(DGTUploadContactsViewController.o)
      objc-class-ref in DigitsKit(Digits.o)
      objc-class-ref in DigitsKit(DGTConfirmViewController.o)
      objc-class-ref in DigitsKit(DGTContacts.o)
      ...
  "_OBJC_CLASS_$_TwitterNetworking", referenced from:
      objc-class-ref in DigitsKit(DGTUserNetworking.o)
      objc-class-ref in DigitsKit(DGTContactsNetworking.o)
      objc-class-ref in DigitsKit(DGTAuthNetworking.o)
  "_TWTRAPIURLWithPath", referenced from:
      -[DGTUserNetworking verifyUser:completion:] in DigitsKit(DGTUserNetworking.o)
      -[DGTOAuthSigning OAuthEchoHeadersToVerifyCredentialsWithParams:] in DigitsKit(DGTOAuthSigning.o)
      -[DGTContactsNetworking uploadContactVCards:completion:] in DigitsKit(DGTContactsNetworking.o)
      -[DGTContactsNetworking lookupContactMatchesWithCursor:completion:] in DigitsKit(DGTContactsNetworking.o)
      -[DGTContactsNetworking destroyAllContactsWithCompletion:] in DigitsKit(DGTContactsNetworking.o)
      -[DGTAuthNetworking registerDeviceWithPhoneNumber:withVerificationType:completion:] in DigitsKit(DGTAuthNetworking.o)
      -[DGTAuthNetworking confirmAccountWithPhoneNumber:confirmationNumber:completion:] in DigitsKit(DGTAuthNetworking.o)
      ...
  "_TWTRCoreOAuthSigningOAuthEchoHeaders", referenced from:
      -[DGTOAuthSigning OAuthEchoHeadersForRequestMethod:URLString:parameters:error:] in DigitsKit(DGTOAuthSigning.o)
  "_TWTRCoreVersion", referenced from:
      +[Digits assertValidTwitterCoreVersion] in DigitsKit(Digits.o)
  "_TWTRNetworkingErrorDomain", referenced from:
      -[DGTAuthViewController startLogInProcessWithVerificationType:] in DigitsKit(DGTAuthViewController.o)
      -[DGTConfirmSignUpViewController startSignUpProcess] in DigitsKit(DGTConfirmSignUpViewController.o)
      -[DGTConfirmLogInViewController startLogInProcess] in DigitsKit(DGTConfirmLogInViewController.o)
      -[DGTPinCodeFormViewController startVerifyPINCode] in DigitsKit(DGTPinCodeFormViewController.o)
  "_TWTRNetworkingUserAgentHeaderKey", referenced from:
      +[DGTURLSessionConfig defaultAdditionalHeaders] in DigitsKit(DGTURLSessionConfig.o)
  "_TWTRScribeClientEventNamespaceEmptyValue", referenced from:
      -[DGTScribeViewEventLogger viewDidShow] in DigitsKit(DGTScribeViewEventLogger.o)
      -[DGTScribeViewEventLogger viewDidSucceed] in DigitsKit(DGTScribeViewEventLogger.o)
      -[DGTScribeViewEventLogger didShowFailureView] in DigitsKit(DGTScribeViewEventLogger.o)
      -[DGTScribeViewEventLogger errorDidOccurWithCode:] in DigitsKit(DGTScribeViewEventLogger.o)
      +[DGTScribeViewEventLogger scribeViewNameWithScribeView:] in DigitsKit(DGTScribeViewEventLogger.o)
      +[DGTScribeEventLogger digitsUniquesImpressionNamespace] in DigitsKit(DGTScribeEventLogger.o)
      +[DGTScribeEventLogger digitsImpressionNamespace] in DigitsKit(DGTScribeEventLogger.o)
      ...
  "_TWTRScribeEventImpressionClient", referenced from:
      +[DGTScribeEventLogger digitsEventNamespaceWithComponent:element:action:] in DigitsKit(DGTScribeEventLogger.o)
  "_TWTRScribeEventImpressionPage", referenced from:
      +[DGTScribeEventLogger digitsEventNamespaceWithComponent:element:action:] in DigitsKit(DGTScribeEventLogger.o)
  "_TWTRScribeEventUniquesClient", referenced from:
      +[DGTScribeEventLogger digitsUniquesImpressionNamespace] in DigitsKit(DGTScribeEventLogger.o)
  "_TWTRUserSessionVerifierDefaultDelay", referenced from:
      -[DGTSessionVerifier startVerification] in DigitsKit(DGTSessionVerifier.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Solution

  • I think the problem is that you haven't included 'TwitterCore' into the pod file:

    pod 'Fabric'
    pod 'Digits'    
    pod 'TwitterCore'