mirror of
https://github.com/aptabase/aptabase-swift.git
synced 2026-01-16 22:11:17 +01:00
Support Device Model (#21)
* Support Device Model Add device model information as part of environment info and system properties. * Check that uname returns 0
This commit is contained in:
@@ -36,7 +36,8 @@ class AptabaseClient {
|
||||
osVersion: env.osVersion,
|
||||
appVersion: env.appVersion,
|
||||
appBuildNumber: env.appBuildNumber,
|
||||
sdkVersion: AptabaseClient.sdkVersion
|
||||
sdkVersion: AptabaseClient.sdkVersion,
|
||||
deviceModel: env.deviceModel
|
||||
),
|
||||
props: props)
|
||||
dispatcher.enqueue(evt)
|
||||
|
||||
@@ -17,6 +17,7 @@ struct EnvironmentInfo {
|
||||
var locale = ""
|
||||
var appVersion = ""
|
||||
var appBuildNumber = ""
|
||||
var deviceModel = ""
|
||||
|
||||
static func current() -> EnvironmentInfo {
|
||||
let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String
|
||||
@@ -28,7 +29,8 @@ struct EnvironmentInfo {
|
||||
osVersion: osVersion,
|
||||
locale: Locale.current.languageCode ?? "",
|
||||
appVersion: appVersion ?? "",
|
||||
appBuildNumber: appBuildNumber ?? ""
|
||||
appBuildNumber: appBuildNumber ?? "",
|
||||
deviceModel: deviceModel
|
||||
)
|
||||
}
|
||||
|
||||
@@ -71,4 +73,21 @@ struct EnvironmentInfo {
|
||||
""
|
||||
#endif
|
||||
}
|
||||
|
||||
private static var deviceModel: String {
|
||||
if let simulatorModelIdentifier = ProcessInfo().environment["SIMULATOR_MODEL_IDENTIFIER"] {
|
||||
return simulatorModelIdentifier
|
||||
} else {
|
||||
var systemInfo = utsname()
|
||||
if uname(&systemInfo) == 0 {
|
||||
let identifier = withUnsafePointer(to: &systemInfo.machine) { ptr in
|
||||
ptr.withMemoryRebound(to: CChar.self, capacity: 1) { machinePtr in
|
||||
String(cString: machinePtr)
|
||||
}
|
||||
}
|
||||
return identifier
|
||||
}
|
||||
return ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ struct Event: Encodable {
|
||||
var appVersion: String
|
||||
var appBuildNumber: String
|
||||
var sdkVersion: String
|
||||
var deviceModel: String
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,8 @@ final class EventDispatcherTests: XCTestCase {
|
||||
isDebug: true,
|
||||
osName: "iOS",
|
||||
osVersion: "17.0",
|
||||
appVersion: "1.0.0"
|
||||
appVersion: "1.0.0",
|
||||
deviceModel: "iPhone16,2"
|
||||
)
|
||||
|
||||
override func setUp() {
|
||||
@@ -90,7 +91,8 @@ final class EventDispatcherTests: XCTestCase {
|
||||
osVersion: env.osVersion,
|
||||
appVersion: env.appVersion,
|
||||
appBuildNumber: env.appBuildNumber,
|
||||
sdkVersion: "aptabase-swift@0.0.0")
|
||||
sdkVersion: "aptabase-swift@0.0.0",
|
||||
deviceModel: env.deviceModel)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user