Когда я использую CocoaPods 1.5.3
, пропуская источник Apollo/Core
после pod install
, это вызывает ошибки.Я исправил это путем обновления CocoaPods до 1.6.0.
Кстати, первоначальный вопрос - как использовать ApolloSQLite? Поскольку я не нашел никаких документов для ApolloSQLite.После слишком большого количества поиска и запросов я перечисляю свои шаги, как показано ниже для помощи другим людям:
- используйте CocoaPods для управления библиотеками:
pod 'Apollo'
pod 'Apollo/SQLite'
нужен путь к файлу для сохранения файла sqlite, который используется для кэширования данных.Вставьте мои коды для ссылки:
func temporarySQLiteFileURL() -> URL {
let applicationSupportPath = NSSearchPathForDirectoriesInDomains(.applicationSupportDirectory, .userDomainMask, true).first!
let dbPath = applicationSupportPath + "/com.[special name].cache"
if !FileManager.default.fileExists(atPath: dbPath) {
try? FileManager.default.createDirectory(atPath: dbPath, withIntermediateDirectories: true, attributes: nil)
}
let url = URL(fileURLWithPath: dbPath)
return url.appendingPathComponent("db.sqlite3")
}
настроить ApolloClient:
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 10
let url = URL(string: self.graphQLApiAddress!)!
let networkTransport = HTTPNetworkTransport(url: url, configuration: configuration)
let cache = try? SQLiteNormalizedCache(fileURL: temporarySQLiteFileURL())
let store = ApolloStore(cache: cache ?? InMemoryNormalizedCache())
self.apolloClient = ApolloClient(networkTransport: networkTransport, store: store)