2016-01-08 7 views
3

Я изо всех сил стараюсь, чтобы AFNetworking работал над моим расширением Today.Невозможно использовать AFNetworking on Today Extension

Мое приложение представляет собой проект Objective-c с cocoapods (0.39.0), в котором я начал переносить некоторые вещи в Swift. Я успешно сделал Swift для работы с объективом-c, и я использую AFNetworking как в коде Swift, так и в Objective-c.

Я добавил расширение «Сегодня» (сделано в Swift), и когда я пытаюсь использовать классы Swift, использующие AFNetworking, он жалуется, что не было найдено никаких классов 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 

Я уже удалены все стручки и рабочее пространство и создали их снова, но проблема все та же.

Любое предложение?

Благодаря

+0

Прежде всего, очистите сборку и попытайтесь создать новый файл-bridge.h. – imjaydeep

+0

@imjaydeep Спасибо, но какое отношение это имеет к этому? Я забыл упомянуть, что расширение является расширением Swift, а не objetive-c, и я включу его на главный пост. – estemendoza

+0

Эта ссылка поможет вам создать файл заголовка http://stackoverflow.com/questions/34627082/how-to-find-path-of-bridging-header-h-swift-xcode – imjaydeep

ответ

0

По умолчанию cocoapods создают статические библиотеки для стручков, но быстро не поддерживают статические библиотеки. Поэтому для использования cocoapods с быстрой настройкой следует указать динамическую структуру. Для этого включают следующую строку Podfile

use_frameworks! 

Для получения дополнительной информации перейдите по

https://blog.cocoapods.org/CocoaPods-0.36/

http://www.raywenderlich.com/97014/use-cocoapods-with-swift

Update быть также известно, что AFHTTPRequestOperationManager и другие NSURLConnection связанные классы не являются доступно в AFNetworking 3.x.

Смежные вопросы