Старые способы больше не работают:
//путь 1
void *lib = dlopen("/Symbols/System/Library/Framework/CoreTelephony.framework/CoreTelephony", RTLD_LAZY);
NSString* (*getPhoneNumber)() = dlsym(lib, "CTSettingCopyMyPhoneNumber");
if (getPhoneNumber == nil) {
    NSLog(@"getPhoneNumber is nil");
    return nil;
}
NSString* ownPhoneNumber = getPhoneNumber();
//путь 2
extern NSString* CTSettingCopyMyPhoneNumber();
NSString *phone = CTSettingCopyMyPhoneNumber();
Похожие вопросы:
Возможно ли определить номер телефона устройства в iOS?
[ОБНОВЛЕНИЕ]
Предоставленный метод работает на iOS 6.1.4 без JB и iOS 7.1.2 с JB
Спасибо пользователю creker за подсказку!
Чтобы получить номер, вы должны использовать следующий способ:
1. Код
-(NSString*) getMyNumber {
    NSLog(@"Open CoreTelephony");
    void *lib = dlopen("/Symbols/System/Library/Framework/CoreTelephony.framework/CoreTelephony",RTLD_LAZY);
    NSLog(@"Get CTSettingCopyMyPhoneNumber from CoreTelephony");
    NSString* (*pCTSettingCopyMyPhoneNumber)() = dlsym(lib, "CTSettingCopyMyPhoneNumber");
    NSLog(@"Get CTSettingCopyMyPhoneNumber from CoreTelephony");
    if (pCTSettingCopyMyPhoneNumber == nil) {
        NSLog(@"pCTSettingCopyMyPhoneNumber is nil");
        return nil;
    }
    NSString* ownPhoneNumber = pCTSettingCopyMyPhoneNumber();
    dlclose(lib);
    return ownPhoneNumber;
}
  2. Создавать приложение без подписания:

3. Создайте xml файл (entitlements.xml) со следующим содержимым:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>com.apple.coretelephony.Calls.allow</key>
        <true/>
        <key>com.apple.coretelephony.Identity.get</key>
        <true/>
    </dict>
</plist>
Где:
com.apple.coretelephony.Calls.allow - для вызовов
com.apple.coretelephony.Identity.get - для получения собственного номера
4. Пойте приложение с правами. xml Скопируйте файлы в одну папку:
./FolderForRunSinging/
    YourApp.app
    entitlements.xml
entitlements.xml - создан xml
YourApp.app - исполняемые файлы для вашего приложения, скопированные из файлов XCode Чтобы найти, где ваши двоичные файлы вы можете использовать команду:
$ls -la ~/Library/Developer/Xcode/DerivedData/ | grep YourApp
Путь должен быть следующим:
/Users/username/Library/Developer/Xcode/DerivedData/YourApp-cktasembftvbmqaaiiunvljdwocs/Build/Products/Debug-iphoneos/YourApp.app
Выполнить команду пения:
$codesign --sign='iPhone Developer: FirstName  SecondName (XXXXXXXX)’
--entitlements entitlements.xml YourApp.app
'Разработчик iPhone: FirstName SecondName (XXXXXXXX)' - имя вашего сертификата в цепочке ключей
 
5. Скопировать приложение YourApp.app на ваше устройство с помощью ssh в папку
/Applications
6. Перезапустить трамплин (запустить на устройстве):
$su mobile -c uicache 1>/dev/null 2>&1
Рабочий образец можно найти на github
Результат для iOS 7.1.2 (требуется JB!):
 
Результат в iOS 6.1.3 (работает без JB и без специальной подписи просто строит и запускает)
 
