我正努力让AFNetworking在我的今日推广上工作。
我的应用程序是一个带有cocoapods(0.39.0)的Objective-c项目,我开始将一些东西迁移到Swift。我成功地使Swift与objective-c一起工作,我在Swift和Objective-c代码中都使用了AFNetworking。
我添加了一个Today Extension(在Swift中制作),当我尝试使用使用AFNetworking的Swift类时,它抱怨没有找到“AFHTTPRequestOperationManager”和其他与AFNetworking相关的类。
我尝试了不同的Podfile解决方案,目前配置如下:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
def testing_pods
pod 'Google/Analytics', '~> 1.0.0'
pod 'AFNetworking', '~> 2.6'
pod 'XCDYouTubeKit', '~> 2.4.0'
pod 'FBSDKCoreKit'
pod 'FBSDKShareKit'
pod 'FBSDKLoginKit'
pod 'Parse'
pod 'ParseUI'
pod 'ParseFacebookUtilsV4'
pod 'ParseTwitterUtils'
end
target '***' do
testing_pods
end
target '***' do
testing_pods
end
target 'todayExtension' do
pod 'AFNetworking', '~> 2.6'
end
post_install do |installer_representation|
installer_representation.pods_project.targets.each do |target|
puts "=== #{target.name}"
if target.name == "AFNetworking"
puts "Setting AFNetworking Macro AF_APP_EXTENSIONS so that it doesn't use UIApplication in extension."
target.build_configurations.each do |config|
puts "Setting AF_APP_EXTENSIONS macro in config: #{config}"
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'AF_APP_EXTENSIONS']
end
end
target.build_configurations.each do |config|
puts "Setting only_active_arch in config: #{config}"
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
end
end
end
我已经删除了所有pod和工作区并再次创建它们但问题仍然相同。
有什么建议吗?
由于
答案 0 :(得分:0)
默认情况下cocoapods
正在为pod创建静态库,但swift不支持静态库。因此,要在swift中使用cocoapods
,您应该指定使用动态框架。对于此,请包含以下Podfile
use_frameworks!
欲了解更多信息,请访问
https://blog.cocoapods.org/CocoaPods-0.36/
http://www.raywenderlich.com/97014/use-cocoapods-with-swift
<强>更新强>
另请注意,AFHTTPRequestOperationManager
中没有NSURLConnection
和其他AFNetworking 3.x
相关类。