iOS SDK - Очистка конфиденциальных данных
Компоненты интерфейса
Section titled Компоненты интерфейсаОчищенные представления будут размыты в итоговой записи. Вы можете добавить любой компонент интерфейса, и он будет автоматически удалён (для экономии памяти), как только перестанет отображаться на экране.
SwiftUI
Section titled SwiftUIПросто добавьте модификатор .sensitive() к нужному компоненту
import ORTracker
Text("Very important sensitive text")
.sensitive()
UIKit
Section titled UIKitimport ORTracker
ORTracker.shared.addIgnoredView(view)
Сетевые запросы
Section titled Сетевые запросыЭкспортируются два ключа для автоматической обрезки данных запроса/ответа: ignoredKeys для тела и ignoredHeaders для заголовков. Будут очищены как запрос, так и ответ, но тело будет затронуто только в том случае, если это корректный JSON.
Просто назначьте список строк, которые вы хотите очистить:
let networkListener = NetworkListener()
networkListener.ignoredHeaders = ["mySecretToken"]
networkListener.ignoredKeys = ["password"]
Также можно изменить данные ответа перед передачей их в listener:
// ... request
var sanitizedData
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
sanitizedData = customSanitizeFunction(data)
print(json)
} catch {
print("Error deserializing JSON: \(error)")
}
}
networkListener.finish(response: response, data: sanitizedData)