Что произойдет, если я слабо связываю все фреймворки в своем приложении?

Что произойдет, если я слабо связываю все фреймворки в своем приложении? Может ли случиться что-то плохое?

3 ответа

Решение

@timesking:

Что нужно для этого сделать?

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

Надеюсь, это поможет вам.

Это не очень хорошая идея. Хотя технически ничего плохого не произойдет, слабое связывание позволяет писать код, который может привести к сбою. Слабое связывание говорит компилятору, что ваша программа должна продолжать работать, даже если части библиотеки не поддерживаются. Если у вас нет слабой ссылки, наличие неподдерживаемого вызова метода или объекта приведет к сбою приложения. Если вы это сделаете, приложение будет работать, пока вы не попытаетесь получить доступ к плохому символу. Таким образом, не слабое связывание всего дает вам дополнительное преимущество, заключающееся в том, что вам не нужно отлаживать непонятные случаи.

Не слабые ссылки - это то, что вы не теряете, а не то, что вы получаете, если только вам не нужна обратная совместимость. Затем история меняется.

Проверьте эту документацию для получения дополнительной информации.

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

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

Надеюсь это поможет.

Другие вопросы по тегам