Error with cocoapods link_with after update to 1.0.0

后端 未结 3 1125
悲哀的现实
悲哀的现实 2020-12-16 10:08

I have updated cocoapods today to 1.0.0 version. I got this string when I update the pods:

[!] Invalid Podfile file: [!] The specification of link_with in the

相关标签:
3条回答
  • 2020-12-16 10:15

    Try this. Works for me with more than one target.

    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '8.0'
    
    def myPods
        pod 'pop', '~> 1.0'
        pod 'AFNetworking', '~> 1.3'
        pod 'SDWebImage', '~> 3.7'
        pod 'GoogleAnalytics', '~> 3'
        pod 'ARAnalytics' , :subspecs => ["Crashlytics", "Amplitude", "DSL"]
        pod 'FBSDKCoreKit', '~> 4.10.1'
        pod 'FBSDKLoginKit', '~> 4.10.1'
        pod 'FBSDKShareKit', '~> 4.10.1'
        pod 'Google/SignIn'
        pod 'Branch'
    
        pod 'Leanplum-iOS-SDK'
    
        pod 'Fabric', '1.6.7'
        pod 'Crashlytics', '3.7.0'
        pod 'TwitterKit'
        pod 'Digits'
    end
    
    target 'yourTargetOne' do
        myPods
    end
    
    target 'yourTargetTwo' do
        myPods
    end
    
    target 'minubeTests' do
        pod 'OCMockito'
    end
    
    0 讨论(0)
  • 2020-12-16 10:27

    According to the new official CocoaPods specification since version 1.0 the new model is this:

    Note that BasePods is not the actual name of any target in the project.

    TargetNameOne and TargetNameTwo are the real names.

    platform :ios, '8.1'
    inhibit_all_warnings!
    
    abstract_target 'BasePods' do
        ## Networking
        pod 'AFNetworking', '~> 2.6'
    
        # Twitter
        pod 'TwitterKit', '~> 1.9'
        pod 'Fabric'
    
        # Specify your actual targets
        target 'TargetNameOne'
        target 'TargetNameTwo'
    end
    

    Edit - There is an implicit abstract target at the root of the Podfile now, so you could write the above example as:

    platform :ios, '8.1'
    inhibit_all_warnings!
    
    ## Networking
    pod 'AFNetworking', '~> 2.6'
    
    # Twitter
    pod 'TwitterKit', '~> 1.9'
    pod 'Fabric'
    
    # Specify your actual targets
    target 'TargetNameOne'
    target 'TargetNameTwo'
    
    • This is for multiple targets which is the most common case, but can be used for single target as well and I like one universal pattern.
    0 讨论(0)
  • 2020-12-16 10:38

    With the new specification. all your pod include should be specified target based. Change your pod file to

    platform :ios, '8.0'
    
    # change minube to whatever name is of you main target
    target 'minube' do
      pod 'pop', '~> 1.0'
      pod 'AFNetworking', '~> 1.3'
      pod 'SDWebImage', '~> 3.7'
      pod 'GoogleAnalytics', '~> 3'
      pod 'ARAnalytics' , :subspecs => ["Crashlytics", "Amplitude", "DSL"]
      pod 'FBSDKCoreKit', '~> 4.10.1'
      pod 'FBSDKLoginKit', '~> 4.10.1'
      pod 'FBSDKShareKit', '~> 4.10.1'
      pod 'Google/SignIn'
      pod 'Branch'
    
      pod 'Leanplum-iOS-SDK'
    
      pod 'Fabric', '1.6.7'
      pod 'Crashlytics', '3.7.0'
      pod 'TwitterKit'
      pod 'Digits'
    end
    target 'minubeTests' do
      pod 'OCMockito'
    end
    
    0 讨论(0)
提交回复
热议问题