我正在爲越獄iOS設備開發應用程序。我使用https://github.com/erica/uidevice-extension/blob/master/UIDevice-IOKitExtensions.m來獲取IMEI,但在iPhone 5上,此解決方案無效(返回空字符串)。有沒有辦法在iPhone 5上獲得IMEI(iOS 6.1.2)?如何在iPhone 5上獲取IMEI
回答
有幾種方式來獲得IMEI較新設備上
1)私人ManagedConfiguration.framework
CFStringRef MCCTIMEI()
2)CoreTelephony.framework
struct CTResult
{
int flag;
int a;
};
extern CFStringRef kCTMobileEquipmentInfoIMEI;
void *connection = _CTServerConnectionCreate(kCFAllocatorDefault, NULL, NULL);
NSDictionary *info = nil;
struct CTResult result;
_CTServerConnectionCopyMobileEquipmentInfo(&result, connection, &info);
[info autorelease];
CFRelease(connection);
NSString* IMEI = (NSString*)info[(NSString*)kCTMobileEquipmentInfoIMEI];
3)liblockdown.dylib
extern CFStringRef kLockdownIMEIKey;
void* connection = lockdown_connect();
NSString* IMEI = [(NSString*)lockdown_copy_value(connection, NULL, kLockdownIMEIKey) autorelease];
lockdown_disconnect(connection);
我在MCCTIMEI
-設備啓動後返回空的IMEI時遇到了一些問題。現在我正在使用CoreTelephony解決方案,從來沒有遇到過問題。
UPDATE
在iOS 7,這些API由com.apple.coretelephony.Identity.get
權利的保護。要訪問IMEI(IMSI,電話號碼和其他信息),您需要使用布爾值設置爲true的權利對您進行簽名。
以編程方式獲取IMEI號碼有些困難。但是,如果您正在尋找識別特定手機的方式,則可以使用UDID(唯一設備標識符)來執行此操作。
NSString *UDID = [[UIDevice currentDevice] uniqueIdentifier];
,也嘗試一下本作IMEI
NSString *imei = [[NetworkController sharedInstance] IMEI];
******更新2014年10月******
NSUUID *UUID = [[UIDevice currentDevice] identifierForVendor];
NSString *stringUUID = [UUID UUIDString];
的UUID是基本上唯一的標識符你手機的硬件。由於製造商之間沒有合作關係,因此不保證它是唯一的,但考慮到組合的數量,它是適用於廣泛應用的合理可靠的硬件標識符。
THX的答覆,但唯一標識符已被棄用 – InViZz
也許你犯了一個錯字。 **「UUIDstring」**和**「身份」**。 這段代碼是正確的: 'NSUUID * UUID = [[UIDevice currentDevice] identifierForVendor]; 的NSString * stringUUID = [UUID UUIDString]' 在iOS 8.3工作 – WildMassacre
您可以使用它:
下載從GitHub
OpenUDID.h
OpenUDID.m
以下兩個文件,這些文件添加到您的項目。
並以此
#import "OpenUDID.h"
NSString* openUDID = [OpenUDID value];
它在iPhone 4測試和iPhone 5
- 1. 用CoreTelephony在iPhone上獲取IMEI?
- 2. 如何在firemonkey上獲取Android 5上的IMEI?
- 3. 如何從NDK獲取IMEI?
- 4. 如何在iPhone中使用Phonegap獲取IMEI號碼?
- 5. 我們如何獲得iPhone的IMEI?
- 6. 如何在android中獲取IMEI,LAC/CELLIDE
- 7. 如何以編程方式從iPhone獲取IMEI號碼?
- 8. 如何以編程方式獲取iPhone的IMEI號碼?
- 9. 如何在Android設備上獲取ion2中的IMEI
- 10. 如何獲取電話序列號(IMEI)
- 11. 如何獲取PhoneGap中的IMEI號碼?
- 12. 如何在iphone中以編程方式獲取imei和序列號?
- 13. 獲取手機的IMEI
- 14. UWP - 獲取IMSI和IMEI
- 15. 如何使用ADB獲取棒棒糖上的IMEI?
- 16. Visual Basic iPhone IMEI CHECK?
- 17. 獲得iPhone 4的IMEI(iOS 4.2)
- 18. 如何在iPhone上獲取IP地址
- 19. 如何在iPhone上獲取GPS位置
- 20. 如何在iPhone上獲取Wifi的RSSI?
- 21. 使用CoreTelephony框架獲取iOS 7上的IMEI和IMSI
- 22. 如何從IMEI獲取iPhone信息(特別是SIM鎖定狀態)?
- 23. 以編程方式獲取iOS7的IMEI
- 24. 如何在imeiplugin的phonegap應用程序中獲取imei號碼
- 25. 如何在J2ME中動態獲取移動IMEI號碼?
- 26. 如何在Android 5.0上使用adb命令獲取MEID和IMEI信息?
- 27. 如何獲取我在iphone
- 28. 獲取網站在iPhone上
- 29. 如何在iPhone 5與iOS上運行的Xcode 5項目7.0.2
- 30. Android:不能從線程獲取Imei
TNX的答覆,我試) – InViZz
可悲的是,沒有這些方法將返回IMEI上iOS7 – JLuiz
@Mobster,這些API可能是由保護我認爲它是'com.apple.coretelephony.Identity.get'。 – creker