Search code examples
iosobjective-cxcodecocoapodsafnetworking-2

AFNetworking on watch OS 2 using cocoapods


The following Podfile

platform :ios, ‘8.0’

link_with ‘Chill’, ‘Chill WatchOS 2 Extension’
pod ‘AFNetworking’, ‘~> 3.0.0’


source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/anodamobi/ANODA-CocoaPods.git'
use_frameworks!

workspace 'Chill.xcworkspace'

target "Chill" do
  pod 'SCLAlertView-Objective-C'
  pod 'ANHelperFunctions'
  pod 'FastEasyMapping', '~> 1.0.1'
end

target "Chill WatchOS 2 Extension" do 

platform :watchos, '2.0'
  pod 'AFNetworking'
end

Install fine, but give me the following error in Watch Extension file: "AFNetworking/AFNetworking.h" not found. On the line

#import <AFNetworking/AFNetworking.h>

But all methods using AFNetworking in this file works. Also I can look AFNetworking's delegate through the cmd-click on it. Any ideas?

There are some warnings after running pod update --verbose :

Sending stats
      - AFNetworking, 3.0.4
      - FastEasyMapping, 1.0.1
      - SCLAlertView-Objective-C, 0.8.0
      Failed to send stats:  SSL_connect returned=1 errno=0 state=SSLv2/v3 read
      server hello A: sslv3 alert handshake failure

[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.

[!] There are duplicate dependencies on `AFNetworking` in `Podfile`:

- AFNetworking (~> 3.0.0)
- AFNetworking

[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `Chill` to `Pods/Target Support Files/Pods-Chill/Pods-Chill.release.xcconfig` or include the `Pods/Target Support Files/Pods-Chill/Pods-Chill.release.xcconfig` in your build configuration.

[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `Chill WatchOS 2 Extension` to `Pods/Target Support Files/Pods-Chill WatchOS 2 Extension/Pods-Chill WatchOS 2 Extension.release.xcconfig` or include the `Pods/Target Support Files/Pods-Chill WatchOS 2 Extension/Pods-Chill WatchOS 2 Extension.release.xcconfig` in your build configuration.

[!] The `Chill WatchOS 2 Extension [Release]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `Chill WatchOS 2 Extension [Release]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods-Chill WatchOS 2 Extension/Pods-Chill WatchOS 2 Extension.release.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

Solution

  • To solve this problem I rewrote the Podfile as follow:

    platform :ios, '7.0'
    pod "AFNetworking", "~> 2.6.3"
    pod 'SCLAlertView-Objective-C'
    pod 'ANHelperFunctions'
    pod 'FastEasyMapping', '~> 1.0.1'
    
    source 'https://github.com/CocoaPods/Specs.git'
    source 'https://github.com/anodamobi/ANODA-CocoaPods.git'
    
    workspace 'Chill.xcworkspace'
    
    target "Chill WatchOS 2 Extension" do 
    
    platform :watchos, '2.0'
    pod 'AFNetworking'
    end
    

    So now I should add pods to iOS target between platform :ios, '7.0' and source 'https://github.com/CocoaPods/Specs.git' lines and do the same under target "Chill WatchOS 2 Extension" do line for watchOS target.