Как использовать Alamofire с виджетом iOS

При реализации Alamofire в моей цели виджетов он говорит, например, «Использование неразрешенного идентификатора« Alamofire ». Каким-то образом мне нужно добавить свой виджет в качестве цели для проекта Alamofire. Как я могу этого добиться?

Некоторый пример кода:

// Parameters
let parameters: [String : Any] = [
    "id": id,
    "state": true
]

Alamofire.request("https://someurl.com" method: .put, parameters: parameters, encoding: JSONEncoding.default).responseJSON { response in

    // Check if the request was successful
    if (response.result.isSuccess) {
        let statusCode = response.response!.statusCode
        if (statusCode == 200) {

        } else {

        }
    }

}

person Daniel Tovesson    schedule 21.02.2017    source источник


Ответы (1)


Сегодня я создал несколько расширений, и вот как я устанавливаю Alamofire. Ваш виджет — это еще один проект, наряду с основным приложением, которое запускает виджет в вашей рабочей области. Поэтому вам нужно установить Alamofire в одном (или в обоих, в зависимости от ваших потребностей). Измените свой подфайл на:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

target "MainAPP" do
    pod 'Alamofire'
    pod ‘SwiftyJSON’
end
target "Widget" do
    pod 'Alamofire'
    pod ‘SwiftyJSON’
end

РЕДАКТИРОВАТЬ: если вы добавите его вручную, просто перейдите в «Проект» -> «Общие» -> «Связанные фреймворки и библиотеки» и добавьте проект Alamofire xcode в качестве зависимости.

person Juan Curti    schedule 21.02.2017
comment
Я установил Alamofire вручную. Есть ли способ применить его к виджету вручную? - person Daniel Tovesson; 21.02.2017
comment
@DanielTovesson Затем перейдите в свой проект -> Общие -> Связанные фреймворки и библиотеки и добавьте проект xcode Alamofire в качестве зависимости. - person Juan Curti; 21.02.2017
comment
Ах, я совершил глупую ошибку, не импортировав фреймворк Alamofire в новый файл с целевым членством, установленным на виджет (импортировать Alamofire). Но я приму ваш ответ, поскольку он ответил на вопрос! - person Daniel Tovesson; 21.02.2017
comment
@DanielTovesson Спасибо! Только что отредактировал мой ответ, указав ручную альтернативу, чтобы люди, допустившие ту же ошибку, могли быстрее получить ответ. И не волнуйся, я много раз совершал эту ошибку, ха-ха - person Juan Curti; 21.02.2017