我今天正在寻找将大量代码移动到动态框架中的优势(这可以从iOS 8开始),以简化应用程序扩展的过程。
构建框架后,它将捆绑在应用程序包的Frameworks
目录中MyFramework.framework
。
然而,我有一个想法(戴着锡箔帽)。你如何防止有人复制该框架,类转储它(假设Objective-C),然后通过将它捆绑到自己的应用程序中使用它包含的类和方法?
甚至可以这样做吗?
答案 0 :(得分:1)
您无法阻止某人使用您的框架,转发类,或只是使用公共标头并使用它们。例如,如果框架检测到未知应用程序加载了崩溃,则可以通过添加框架中的崩溃使生活更加艰难。(
)
基本上你检查了bundle id,如果它没有被列入白名单,那么框架会引发异常,或者,为了混淆,它会产生一个长调用栈的崩溃。
执行此操作的代码可以添加到一个或多个类的+ load方法中,也可以添加到您认为添加此类行为的实例方法中。
缺点是您需要确保您开发的每个应用程序都被框架列入白名单,否则您将无法使用您的框架:)