以下是从一个来源整理以下所有信息的好方法:
我需要这些信息,以便我可以将其作为应用反馈功能的一部分发送给他们。
答案 0 :(得分:2)
let infoDict = NSBundle.mainBundle().infoDictionary
let current = UIDevice.currentDevice()
let payload = [ "BundleID" : infoDict!["CFBundleIdentifier"]!,
"AppVersion" : infoDict!["CFBundleShortVersionString"]!,
"BundleVersion" : infoDict!["CFBundleVersion"]!,
"DeviceName" : current.name,
"DeviceModel" : current.model,
"SystemName" : current.systemName,
"SystemVersion" : current.systemVersion ]
将其合并为一个字符串:
let string = payload.keys.array.reduce("", combine: { (input, key) -> String in
return "\(input)\r\n\(key): \(payload[key])"
})
答案 1 :(得分:1)
你真的只是在谈论3个字符串。
对于#2和#3,您只需要:
NSString *osVersion = [[UIDevice currentDevice] systemVersion];
NSUUID *deviceID = [[UIDevice currentDevice] identifierForVendor];
请注意,您获得的UUID特定于您的公司捆绑包ID和设备ID。它不是实际的设备ID,但它会在同一设备上的同一供应商的多个应用中为您提供相同的ID。