Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-14057

cordova build command fails when including FBSDK pods

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Cannot Reproduce
    • Affects Version/s: cordova-ios@4.5.4
    • Fix Version/s: None
    • Component/s: cordova-ios
    • Labels:
      None

      Description

      Including the FBSDK as a pod causes the build to fail using the command line.

      Building with Xcode still works.

       

      Command that fails:

      cordova build ios --release

      Error Message:

      'Bolts/BFAppLink.h' file not found
      #import <Bolts/BFAppLink.h>

       

      The plugin includes the FBSDK as:

      <framework src="FBSDKCoreKit" type="podspec" spec="4.32.0" />
      <framework src="FBSDKLoginKit" type="podspec" spec="4.32.0" />
      <framework src="FBSDKShareKit" type="podspec" spec="4.32.0" />

      The PodFile looks like:

      1. DO NOT MODIFY – auto-generated by Apache Cordova
        platform :ios, '8.0'
        target 'MegaFameCasino' do
        project 'MegaFameCasino.xcodeproj'
        pod 'FBSDKCoreKit', '4.32.0'
        pod 'FBSDKLoginKit', '4.32.0'
        pod 'FBSDKShareKit', '4.32.0'
        end

       

      The FBSDKCoreKit pod depends on the Bolts pod and includes header files from it.

      ----------------------------------------------------------------------------------------------

      I think there may be some sort of issue with the ${SRCROOT} variable in xcodebuild or
      something cordova is doing that I couldn't find

      Looking at the commands run by xcodebuild, the include paths are getting set as ios/Pods/Pods/xxxx
      I assume this is incorrect

      -I/project-path/platforms/ios/Pods/Pods/Headers/Public/Bolts

      If I go into "platforms/ios/Pods/Target Support Files/Pods/MegaFameCasino/Pods-MegaFameCasino.release.xcconfig"
      and remove the trailing /Pods from PODS_ROOT:

      PODS_ROOT = ${SRCROOT}/Pods ----> PODS_ROOT = ${SRCROOT}

      then the includes look correct:

      -I/project-path/platforms/ios/Pods/Headers/Public/Bolts

       

      Doing this gets the build further down past the pods, but it will then fail later at

      diff: /project-path/platforms/ios/Manifest.lock: No such file or directory
      error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

       

       

       

       

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              chrisw Christoph Wilhelms
            • Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: