防止其他应用程序使用动态框架

时间:2015-04-02 13:44:27

标签: ios objective-c

我今天正在寻找将大量代码移动到动态框架中的优势(这可以从iOS 8开始),以简化应用程序扩展的过程。

构建框架后,它将捆绑在应用程序包的Frameworks目录中MyFramework.framework

然而,我有一个想法(戴着锡箔帽)。你如何防止有人复制该框架,类转储它(假设Objective-C),然后通过将它捆绑到自己的应用程序中使用它包含的类和方法?

甚至可以这样做吗?

1 个答案:

答案 0 :(得分:1)

您无法阻止某人使用您的框架,转发类,或只是使用公共标头并使用它们。例如,如果框架检测到未知应用程序加载了崩溃,则可以通过添加框架中的崩溃使生活更加艰难。(
) 基本上你检查了bundle id,如果它没有被列入白名单,那么框架会引发异常,或者,为了混淆,它会产生一个长调用栈的崩溃。

执行此操作的代码可以添加到一个或多个类的+ load方法中,也可以添加到您认为添加此类行为的实例方法中。

缺点是您需要确保您开发的每个应用程序都被框架列入白名单,否则您将无法使用您的框架:)