手表上的 AFNetworking OS 2 使用 cocoapods

AFNetworking on watch OS 2 using cocoapods

以下 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

安装正常,但在 Watch Extension 文件中出现以下错误:"AFNetworking/AFNetworking.h" 未找到。上线

#import <AFNetworking/AFNetworking.h>

但是在此文件中使用 AFNetworking 的所有方法都有效。我也可以通过 cmd 单击它来查看 AFNetworking 的委托。 有什么想法吗?

运行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.

从你的 pod update verbose 消息中,我发现

"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

请检查这个 SO 问题,看看它是否解决了您的问题:

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

还有一件事:似乎没有必要在您的监视目标中重新声明 pod 'AFNetworking',因为它已经在全球范围内声明了。

为了解决这个问题,我重写了 Podfile 如下:

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

所以现在我应该在 platform :ios, '7.0'platform :ios, '7.0' 之间添加 pods 到 iOS 目标 source 'https://github.com/CocoaPods/Specs.git' 行并在 target "Chill WatchOS 2 Extension" do 行下为 watchOS 目标执行相同的操作。