Доступ к стручку внутри собственного кокопода - PullRequest
0 голосов
/ 20 ноября 2018

Это нестандартный кокапод, который соединяется с Alamofire.Как я могу получить доступ к модулю Alamofire, импортированному в мой код.

let SDKConnect = Networking()
class Networking {

var AFManager = Alamofire.SessionManager()
init() {
    AFManager = {
        let trustPolicies: [String: ServerTrustPolicy] = [ "example.com": .disableEvaluation ]
        let AFConfig = URLSessionConfiguration.default
        AFConfig.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders
        AFConfig.timeoutIntervalForRequest = 15
        AFConfig.timeoutIntervalForResource = 15
        let manager = Alamofire.SessionManager( configuration: URLSessionConfiguration.default, serverTrustPolicyManager: ServerTrustPolicyManager(policies: trustPolicies) )
        return manager
    }()
}

Использование неразрешенного идентификатора 'Alamofire'

Pod structure

Target membership

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Я приложил данный пример, и вот руководство по его созданию:

Проект:

  • pod lib create WebConnnect для создания исходного проекта(перейдите к ответам по умолчанию).
  • Запустите pod deintegrate в папке Examples, чтобы удалить исходные зависимости из рабочего пространства Xcode
  • Добавьте следующий код в WebConnect.podspec:

Pod::Spec.new do |s| ...<br> s.dependency 'Alamofire' s.dependency 'SwiftyJSON' end

  • Удалите номера версий для Nimble, Quick, FBSnapshotTestCase и Nimble-Snapshots в Podfile, поскольку они устарелипо умолчанию в любом случае.
  • Теперь запустите pod install и pod update, чтобы убедиться, что установлены новейшие зависимости.

Код:

Переименуйте файл ReplaceMe.swift в Networking.swift в папке Development Pods/WebConnect и убедитесь, что его целевое членство является целью WebConnect.

Теперь добавьте следующий код в файл (он в основном ваш, ноЯ добавил импорт Alamofire):

import Alamofire

let SDKConnect = Networking()
class Networking {

    var AFManager = Alamofire.SessionManager()
    init() {
        AFManager = {
            let trustPolicies: [String: ServerTrustPolicy] = [ "example.com": .disableEvaluation ]
            let AFConfig = URLSessionConfiguration.default
            AFConfig.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders
            AFConfig.timeoutIntervalForRequest = 15
            AFConfig.timeoutIntervalForResource = 15
            let manager = Alamofire.SessionManager( configuration: URLSessionConfiguration.default, serverTrustPolicyManager: ServerTrustPolicyManager(policies: trustPolicies) )
            return manager
        }()
    }
}

Скачать: Хостинг WeTransfer

0 голосов
/ 20 ноября 2018

В файле .podspec вашего пользовательского модуля добавьте Alamofire в качестве зависимости, что-то вроде этого:

spec.dependency 'Alamofire'

, затем выполните pod repo push, затем pod update YourCustomPod, а затемуметь использовать Alamofire

...