Вставить код доступа iPhone в Xcode, чтобы мне не нужно было разблокировать свой iPhone для каждой сборки?

13

Есть ли способ, которым я мог бы вставить свой код блокировки iPhone в Xcode, чтобы мне не нужно было разблокировать мой iPhone для каждой сборки?

Это действительно расстраивает, что мне нужно физически разблокировать мой iPhone перед каждой сборкой.

Я знаю, что для разработки на Android они позволяют перевести устройство в режим разработки, который ограничивает устройство от сна.

Ариан Фауртош
источник

Ответы:

7

Не могли бы все сообщить об этом как об ошибке ?

Когда он стоит, вы либо смиритесь с ним, либо, что еще хуже, отключаете блокировку. Ни один из вариантов не является хорошим.

Если устройство iOS находится в режиме разработчика и подключено к активному экземпляру XCode, XCode должен иметь возможность держать телефон разблокированным.

Таким образом, вы можете не только оставить блокировку включенной, но и заново заблокировать ее в тот момент, когда вы отключаетесь.

Мори Марковиц
источник
1
Почему это ошибка? Это просто разработано намерением. Вы бы хотели, чтобы кто-то мог загрузить любое приложение на свой телефон, если бы оно было украдено и «возвращено» как есть. Очевидно, функция безопасности. Вы заставляете это звучать так, как будто вы не включаете автоматическую блокировку телефона - такая трудная задача. Есть несколько вариантов, чтобы обойти эту «проблему», однако Apple не может планировать лень конечного пользователя. & да, я разработчик и очень активен в SO
soulshined
1
Сначала вы утверждаете, что автоматическая блокировка является хорошей функцией, а затем говорите, как легко ее отключить. Эти заявления не согласуются друг с другом. Отключение автоблокировки, как правило, плохая идея, но необходимо при разработке. Функция, которая делает это автоматически при подключении к XCode, является очень хорошей идеей, предотвращая случайное отключение пользователями функции, которую вы считаете хорошей.
Мори Марковиц
Вы неверно истолковали мои слова, чтобы удовлетворить ваши аргументы. Я никогда не говорил хорошую функцию. Сказал функцию безопасности. И я никогда не говорил, легко отключить. Заявленные вами процедуры были преувеличены. Несмотря на это, мне не 5 лет, и я не хочу относиться к тебе как к одному. Я просто высказываю свое мнение и точку зрения. Это все о ваших предпочтениях развития. Если вы сделаете привычкой отключать автоматическую блокировку, а затем включите ее, как только это будет сделано, это станет второй натурой. Я просто чувствую, что ты слишком преувеличил ситуацию и решения. Я бы не назвал это ошибкой, моим главным аргументом, просто запросом функции. Приветствия
души
@soulshined, функция автоматической разблокировки потребовала бы, чтобы устройство iOS сначала доверяло компьютеру (обычное подтверждение доверия, которое происходит один раз), поэтому никто не может загрузить на него какое-либо приложение без вашего компьютера. Учитывая, что ваш компьютер в первую очередь должен быть защищен паролем, я не вижу, как это могло бы быть проблемой безопасности. Если кто-то владеет вашим компьютером и вашим паролем, у вас гораздо большие проблемы. Кроме того, отключение функции автоматической блокировки является гораздо более серьезной проблемой безопасности, чем надежный компьютер, автоматически разблокирующий устройство.
Арда
2

Вы можете запретить спящий режим в меню « Настройки» → «Основные» → «Автоблокировка» → «Никогда» . Это означает, что устройство останется разблокированным, и вам не нужно его разблокировать. Поскольку у меня джейлбрейк, этот параметр установлен автоматически, когда мое устройство подключено к компьютеру с запущенным XCode, но изменение этого параметра вручную также будет работать нормально.

В качестве альтернативы, вы можете установить Настройки → Пароль → Требовать пароль на более длительный интервал, чтобы ваш пароль не требовался, если вам нужно его разблокировать. Не забудьте сбросить этот параметр обратно к исходному значению после завершения разработки.

Grg
источник
Похоже, автоблокировка -> никогда больше не вариант в ios 9.
puzzl
1

Насколько я знаю, это невозможно . Очевидно, что единственным возможным решением будет отключение пароля iPhone во время ваших сеансов программирования.

Thecafremo
источник
1

Это обходной прием.

В AppDelegate.swiftдобавьте этот код

class AppDelegate: UIApplicationDelegate {

let isDebug: Bool = {
        var isDebug = false
        func setDebug() -> Bool {
            isDebug = true
            return true
        }
        assert(setDebug())
        return isDebug
    }()

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    // for development only
    // to make iPhone screen always on when developing app. 
    // should be removed when app is released

    if isDebug {
        print("DEBUG MODE")
        UIApplication.shared.isIdleTimerDisabled = true
    }

    return true
  }

}
devwaseem
источник
Это влияет только на телефон во время работы приложения. Если вы убьете приложение и поработаете над ним какое-то время, экран может заблокироваться до следующего запуска.
Том Харрингтон
0

Реальный ответ - вам нужно сделать джейлбрейк, как на @grgarside.

Используйте Activator (установите из Cydia, если у вас его еще нет) и установите для Anywhere -> Connected (Power)действия действие, которое отключает автоматическую блокировку. Сделайте обратное (включите автоблокировку) для Disconnected (Power).

Стивен Лу
источник
1
Нам не нужно делать джейлбрейк, чтобы сделать это. Пожалуйста, зайдите в Apple Bug Reporter и сообщите об этом. Если достаточное количество из нас сделает это, они исправят это.
Мори Марковиц
0

В Xcode 7.3 кажется, что вам нужно разблокировать устройство только при первой сборке. После этого ваше устройство остается разблокированным, пока вы не отключите его или не выйдете из приложения, которое вы тестируете.

Lasse Bunk
источник