Есть ли способ узнать имя пользователя iPhone?

Кроме того, чтобы попросить пользователя ввести свое имя, есть ли способ снять его с устройства?

Я попробовал эту библиотеку, которая пытается извлечь имя из [UIDevice currentDevice] name], но это не работает во многих ситуациях:

https://github.com/tiboll/TLLNameFromDevice

Имя пользователя присутствует в телефонной книге или в другом месте, к которому у нас есть доступ в iOS 6?

14 голосов | спросил Andrew 3 J0000006Europe/Moscow 2013, 17:14:09

4 ответа


0

Хорошо, вы можете просмотреть все контакты в адресной книге и посмотреть, помечены ли какие-либо из них флагом владельца.

Просто помните, что после этого появится всплывающее сообщение "Это приложение хочет получить доступ к адресной книге". Кроме того, Apple не очень любит такие вещи. В руководстве по обзору приложений указано, что приложение не может использовать личную информацию без разрешения пользователя.

ответил rckoenes 3 J0000006Europe/Moscow 2013, 17:19:43
0

Вы можете использовать Решение Square :

  1. Получить имя устройства (например, «iPhone Джона Смита») .
  2. Просмотрите контакты на телефоне и найдите контакт с именем "Джон Смит".

JBDeviceOwner и ABGetMe сделает это за вас.

ответил Senseful 25 Jam1000000amSat, 25 Jan 2014 02:26:09 +040014 2014, 02:26:09
0

Вы можете использовать:

NSLog(@"user == %@",[[[NSHost currentHost] names] objectAtIndex:0]);

Я получил предупреждения компилятора о том, что методы +currentHost и -names не найден. Учитывая предупреждение, я не уверен в намерении Apple сделать это доступным (или нет) в качестве общедоступного API, однако, все, казалось, работает должным образом без необходимости включать какие-либо дополнительные заголовочные файлы или ссылки в дополнительном libraries /frameworks

Изменить 1: Вы также можете взглянуть на эту ссылку

Изменить 2 . Если вы интегрировали свое приложение с Facebook, вы можете легко получить информацию о пользователе, см. Facebook Fetch User Data

ответил Mutawe 3 J0000006Europe/Moscow 2013, 17:28:41
0

Вы можете использовать CloudKit . После фрагмента в Swift (игнорируя ошибки):

let container = CKContainer.defaultContainer()

container.fetchUserRecordIDWithCompletionHandler(
    {
        (recordID, error) in

        container.requestApplicationPermission(
            .PermissionUserDiscoverability,
            {
                (status, error2) in

                if (status == CKApplicationPermissionStatus.Granted)
                {
                    container.discoverUserInfoWithUserRecordID(
                        recordID,
                        completionHandler:
                        {
                            (info, error3) in

                            println("\(info.firstName) \(info.lastName)")
                        }
                    )
                }
            }
        )
    }
)

Приведенный выше код основан на коде в http: //www.snip2code .com /Отрывок /109633 /CloudKit-User-Info

ответил drowa 23 +04002014-10-23T02:10:15+04:00312014bEurope/MoscowThu, 23 Oct 2014 02:10:15 +0400 2014, 02:10:15

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132