无法在Today Extension上使用AFNetworking

时间:2016-01-08 10:08:51

标签: swift afnetworking today-extension

我正努力让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和工作区并再次创建它们但问题仍然相同。

有什么建议吗?

由于

1 个答案:

答案 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相关类。