it-swarm.com.ru

FBSOpenApplicationErrorDomain ошибка 1

Я пытаюсь запустить приложение для iOS, которое было перенесено из Swift 1.2 в Swift 2.0 в Xcode 7 с помощью iPhone Simulator (любого), я получаю следующую ошибку:

Операция не может быть завершена. (FBSOpenApplicationErrorDomain Ошибка 1.)

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

47
Douglas Ferreira

У меня была такая же ошибка после обновления Xcode до v7.0. После нескольких часов борьбы я обнаружил, что в моей активной схеме была задана пустая настройка переменной среды для действия Выполнить (не знаю, почему это произошло). Удаление этой пустой переменной среды немедленно решило проблему.

48
Denis

Эта ошибка происходит, когда предыдущий запуск приложения все еще жив в фоновом режиме, даже если вы нажали «Стоп» в XCode. Попробуйте вручную убить приложение в самом симуляторе: дважды нажмите cmd + shift + H, чтобы открыть запущенные приложения, перетащите ваше приложение, чтобы убить его. Примечание. Cmd + shift + H - это ярлык для перехода на домашний экран. Затем начните новый запуск, и он должен работать нормально :)

19
i Code 4 Food
  1. Симулятор-> Сбросить содержимое и настройки
  2. Выйти из симулятора
  3. Запустите тестовые случаи снова
6
UnchartedWorks

В приложении tvOS вы можете перейти на симулятор и удалить там приложение, а затем повторно запустить программу.

6
NRR

Если другие исправления не работают

Прошел через эти попытки:

  1. Принудительно выйти из приложения в симуляторе
  2. симулятор сброса
  3. удалено приложение из симулятора
  4. Отключено App Transport Security в глобальном масштабе (не рекомендуется)
  5. Отключил все фоновые режимы Проблема всегда возвращалась, предотвращая сеансы отладки

Это было мое исправление

Похоже, что менеджер схем включает поле без аргументов, вызвавших мою проблему. 

Product menu > Scheme > Edit Scheme > Run > Arguments > Environment Variables

Если там есть галочка с пустым полем рядом с ней, снимите ее.

Я получаю код ошибки «1». Я надеюсь, что это работает и для вас.

4
damote

В моем случае я смог решить ее с помощью другого симулятора. Это последовательно происходило с симулятором iPhone 4S, но как только я переключился на симулятор iPhone 6 Plus, ошибка исчезла.

3
Ohad Schneider

Эта ошибка не имеет отношения к SDK Facebook. Я получаю это, и у меня нет Facebook SDK вообще.

Я обнаружил, что хотя XCode не показывает причин для ошибки, было то, что делает журнал симулятора.

Когда вы получите эту ошибку, симулятор будет запущен, поэтому переключитесь на него, а затем в меню «Отладка» выберите «Открыть системный журнал ...».

Как только журнал появится на экране, перейдите к его концу, и вы увидите гораздо больше информации (включая трассировку стека, если вам повезет) о том, что пошло не так.

В моем случае это было исключение, потому что файловый ресурс отсутствовал или не мог быть найден.

2
PKCLsoft

После многих трудностей, я думаю, проблема в том, что вы, возможно, пытаетесь запустить приложение, которое работает в фоновом режиме. Остановка приложения из xcode на самом деле не останавливает его (как ни странно), вы должны дважды нажать клавишу home, которая называется cmd + shift + h, найти свое приложение и убить его. Я все еще пытаюсь найти лучший способ сделать это, поскольку это утомительно, но по крайней мере это будет работать временно. 

1
Munir Mehta

В моем случае я решаю это как.

Просто закройте приложение, над которым вы работаете, если оно работает в фоновом режиме.

это работает для меня и надеюсь, что это работает для вас.

1
Garry

Я получил эту ошибку, используя Xamarin iOS, Visual Studio для Mac 7.2, компиляцию для iPad 2, iOS 9.3. Решение состояло в том, чтобы изменить поддерживаемые архитектуры сборки iOS на i386 + x86_64 , в Project -> Параметры -> Сборка iOS -> Поддерживаемые архитектуры .

1
Barney Szabo

Выход из (Command + Q) симулятора и запуск его снова решил проблему.

1
Khurram Shehzad

Я уверен, что эта проблема может быть связана с ATS на iOS 9.

Убедитесь, что вы выполнили шаги, предоставленные командой FB, чтобы заставить их SDK работать на iOS 9. Примечания к выпуску .

ОБЪЯСНЕНИЕ

App Transport Security

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

«Все соединения, использующие API-интерфейсы NSURLConnection, CFURL или NSURLSession, используют поведение App Transport Security по умолчанию в приложениях, созданных для iOS 9.0 или более поздней версии и OS X v10.11 или более поздней версии. Соединения, которые не соответствуют требованиям, завершатся неудачей».

Источник: Apple - App Transport Security Technote

Это означает, что если вы попытаетесь установить соединение с приложением, созданным для iOS 9.0 или более поздней версии, или OS X v10.11 или более поздней версии, и это подключение не будет соответствовать требованиям ATS, подключение не будет установлено.

Решение

Есть два решения этой проблемы.

Рекомендуемые

Убедитесь, что ваши соединения соответствуют требованиям, предъявляемым ATS.

"Временное решение"

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

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

FACEBOOK SDK

Facebook, чтобы выиграть время и позволить своему пользователю продолжать использовать свой SDK в iOS 9.0 и OS X 10.11. Они выбрали «Временное решение», и из-за этого вы должны. 

  • Отключите ATS из своего приложения.
  • или белый список серверов Facebook для сетевых запросов.

Чтобы сделать позже, вы должны добавить следующее в ваш целевой .plist

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>facebook.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>                
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>fbcdn.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>akamaihd.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>

Также вам может потребоваться внести другие изменения, если вы используете какие-либо из диалогов Facebook (например, «Вход», «Поделиться», «Приглашения приложений» и т.д.), Которые могут выполнять переключение приложений на приложения Facebook.

Источник: Facebook - Подготовка приложений для iOS9

0
APesate

После принятого ответа от Дениса упомянутый им impossible places впервые обнаружен в системном журнале симулятора. (Симулятор Mac XCode> Отладка> Открыть системный журнал ..)

В моем случае я пытаюсь отладить Привет мир Xamarin Forms для симулятора iPad 2 iOS 9.3. VS2017Mac выводит ошибку выше, но Simulator System Log дает больше информации

Program specified by service does not contain one of the requested architectures: XPC_FLAGS=0x0

Как уже упоминалось в этом теме , мне нужно щелкнуть правой кнопкой мыши по проекту iOS и изменить Build > iOS Build > Supported architectures на i386 + x86_64. Это имеет смысл, поскольку до IOS 11 Apple поддерживала как 32-битные, так и 64-битные приложения.

Также помогает обновление симулятора. (Симулятор> Оборудование> Стереть все содержимое и настройки ..). Это гарантирует, что приложение, развернутое на симуляторе, содержит последние изменения.

0
Jeson Martajaya

Попробуйте сбросить симулятор

Sudo rm -rf /private/tmp/com.Apple.CoreSimulator.SimDevice.*
0
Daisy R.

Меню продукта> Схема> Изменить схему> Выполнить> Аргументы> Переменные среды Если там есть галочка с пустым полем рядом с ней, снимите флажок.

Я получаю Операция не может быть завершена (ошибка "1"). Она была исправлена, просто снимите флажок

0
sai