Ask System a Question (sys.mgcopyanswer)
Declaration
answer = sys.mgcopyanswer(question)
Parameters
- question
String. The question key. Some keys can be found in MobileGestalt.h.
Returns
- answer
String | Table | Number | Integer | Boolean | nil. The system's answer. Returns nil if the key is unsupported.
Description
Retrieve various system information via MGCopyAnswer.
Examples: get device info, identifiers, carrier info, phone number, etc.
Examples
sys.alert("Serial Number: "..sys.mgcopyanswer("SerialNumber"))
sys.alert("IMEI: "..sys.mgcopyanswer("InternationalMobileEquipmentIdentity"))
sys.alert("MEID: "..sys.mgcopyanswer("MobileEquipmentIdentifier"))
sys.alert(string.format('ECID: %016X', sys.mgcopyanswer('UniqueChipID')))
local infos = sys.mgcopyanswer('CarrierBundleInfoArray')
if type(infos) == 'table' and #infos > 0 then
local info = infos[1]
if type(info.InternationalMobileSubscriberIdentity) == 'string' then
sys.alert("Carrier IMSI: "..info.InternationalMobileSubscriberIdentity)
else
sys.alert("Cannot read IMSI. Insert a valid SIM card.")
end
if type(info.IntegratedCircuitCardIdentity) == 'string' then
sys.alert("Carrier ICCID: "..info.IntegratedCircuitCardIdentity)
else
sys.alert("Cannot read ICCID. Insert a valid SIM card.")
end
else
sys.alert("Cannot read carrier info. Insert a valid SIM card.")
end
local phone_number = sys.mgcopyanswer('PhoneNumber')
if sys.mgcopyanswer('SIMTrayStatus') == 'kCTSIMSupportSIMTrayInsertedWithSIM' and type(phone_number) == 'string' then
sys.alert("Phone Number: "..phone_number)
else
sys.alert("Cannot read phone number. Insert a valid SIM card.")
end