Что произойдет, если я слабо связываю все фреймворки в своем приложении?
Что произойдет, если я слабо связываю все фреймворки в своем приложении? Может ли случиться что-то плохое?
3 ответа
@timesking:
Что нужно для этого сделать?
Я полагаю, что приложение попытается запустить, даже если некоторые из требуемых платформ отсутствуют в конкретной версии iOS, а затем закончится сбоем.
Надеюсь, это поможет вам.
Это не очень хорошая идея. Хотя технически ничего плохого не произойдет, слабое связывание позволяет писать код, который может привести к сбою. Слабое связывание говорит компилятору, что ваша программа должна продолжать работать, даже если части библиотеки не поддерживаются. Если у вас нет слабой ссылки, наличие неподдерживаемого вызова метода или объекта приведет к сбою приложения. Если вы это сделаете, приложение будет работать, пока вы не попытаетесь получить доступ к плохому символу. Таким образом, не слабое связывание всего дает вам дополнительное преимущество, заключающееся в том, что вам не нужно отлаживать непонятные случаи.
Не слабые ссылки - это то, что вы не теряете, а не то, что вы получаете, если только вам не нужна обратная совместимость. Затем история меняется.
Проверьте эту документацию для получения дополнительной информации.
Перемещение библиотеки в слабую поможет вам обработать (старые) устройства, на которых эта библиотека недоступна, а затем разрешить запуск вашего приложения.
Тогда перемещение библиотеки в слабую не является достаточным, потому что вам наверняка нужно будет обрабатывать код, который использует эту библиотеку осторожно, как объяснено в документации SDK, в противном случае ваше приложение будет аварийно завершать работу, когда библиотека будет использоваться (если не поддерживается).
Надеюсь это поможет.