简体   繁体   中英

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.

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.

From you pod update verbose message, I found

"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

Please check over this SO question to see if it fixes your problem:

The target ... overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig

One more thing: It seems there is no need to redeclare pod 'AFNetworking' in your watch target as it was already declare globally.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM