Вы не можете использовать файл в файловой системе. Любой, кто захочет поиграть / взломать его, будет достаточно умен, чтобы знать, как отслеживать доступ к файлам с помощью основных стандартных функций OSX. Таким образом, добавляемый файл отсутствует. Не только это, но и плохое поведение - создавать файлы, которые вы не удаляете при удалении приложения. Люди не должны потреблять ресурсы после удаления пробного приложения.
Как отмечалось выше, возиться в вашем комплекте - тоже плохая идея. Это оставляет вам три основных варианта.
1) Не беспокойся об этом слишком сильно. Используйте базовую систему выдоха, которая использует стандартные местоположения и методы. Вы все еще можете использовать шифрование в данных, которые вы храните, но знайте, что это тоже будет сломано. Примите, что нарушение авторских прав произойдет, если ваше приложение не является полностью непопулярным.
2) Используйте сетевой вызов и выполните проверку на сервере. Это потребовало бы, чтобы приложение всегда имело доступ к вашему сервису для запуска. Это не очень хорошая идея в целом. Что делать, если ваши серверы не работают? Что делать, если они в автономном режиме? Что если между вами и вами возникнет проблема с сетью? Все эти сценарии будут происходить. Когда они это сделают, вы, скорее всего, потеряете клиентов, если вашему приложению не требуется подключение к вашим серверам (например, Twitter или Facebook).
3) Быть "плохим гражданином", копаясь в пакете приложений или оставляя бесхозные файлы. Если вы сделаете это последним, по крайней мере, убедитесь, что они имеют четкие имена, чтобы они явно относились к вашему приложению.
В конечном счете, главное, что нужно помнить, это то, что у вас нет защиты на компьютере пользователя. Это их. Это означает, что у них есть физический доступ, который практически сводит на нет любые попытки помешать им копать. Вы также можете посмотреть на это так: чем более технически настроен ваш рынок, тем меньше вероятность, что вы станете умнее всех нас, и ваша «безопасность» будет взломана. Если вы разрабатываете для нетехнической аудитории, то можете предположить, что, вообще говоря, они не будут беспокоиться о том, чтобы взломать ее или искать.
Вы можете потратить свои ресурсы на то, чтобы сделать приложение лучше или дать себе лучшее представление о людях, которые не используют его после пробного периода. Один из них может увеличить ваши продажи, а другой - нет.
[править]
Также я должен отметить, что одним из наиболее распространенных (если не самым распространенным) способом взлома этих вещей является модификация двоичного файла. Таким образом, нарушая подпись кода с помощью перебора пакетов, вы фактически открываете себя этому методу, потому что вы нарушили бы одну из лучших защит, которые у вас есть. Большинство взломов связаны с модификацией двоичных файлов, так что подпрограмма, выполняющая проверки, всегда возвращает успешную аутентификацию.