如何以安全的方式为其他开发人员构建框架或库?

时间:2010-10-31 20:52:49

标签: iphone ipad frameworks ios

我们有一个框架或库的想法,对任何iOS开发人员都非常有帮助。因此,我们正在认真考虑从应用程序开发切换到框架/库开发。

但是当我们想要为库/框架收费时,我们必须以某种方式保护代码。我们如何以这样的方式构建框架,使我们框架的用户看不到源代码,类似于我们如何看不到Apples框架的源代码?我猜他们只用汇编的框架发送头文件和一些奇怪的Unix exe文件。

或者,如果无法制作其他iOS开发人员可以使用的编译框架/库而无需复制和粘贴我们的源代码,那么有没有办法对目标-c代码进行模糊处理?

3 个答案:

答案 0 :(得分:113)

是的,可以构建框架,以便框架的用户看不到源代码。

查看这些文章(我过去成功使用了第一篇文章来创建框架 - 后面的文章是对原文的更新):

http://www.drobnik.com/touch/2010/04/making-your-own-iphone-frameworks/

http://www.drobnik.com/touch/2010/05/making-your-own-iphone-frameworks-in-xcode/

http://www.drobnik.com/touch/2010/10/embedding-binary-resources/

要使用该框架,您的用户只需将.framework包拖到Xcode中即可。他们将能够看到您复制到包中的头文件(请参阅上面的文章),但不能看到源(因为它不包括在内 - 只有编译后的输出在包中)。

这也是分发用于公司内多个项目的代码的好方法。


更新

查看下面添加的无羽毛链接 - 它更新近,全部在一个页面上:http://github.com/jverkoey/iOS-Framework。它还列出了其他几种方法的问题。这是我在尝试记住设置新框架时要做的事情时遵循的指南。 :)

Update2(Xcode 6发布)

有一个选项,正是您正在寻找: Universal Framework for iOS

  

其他人可以看到我的代码吗?答:不可以。此框架将导出已编译的二进制文件,因此任何人都可以在其中查看。您可以对其他一些文件(如XIB)进行相同的操作。

     

为什么我需要这个?答:这适用于想要共享代码而不显示整个代码(.m / .c / .cpp文件)的开发人员/团队。此外,这是为了谁想要将编译的代码+资源(图像,视频,声音,XIB,plist等)组织到一个地方。这也适用于希望在同一个基础(框架)之上一起工作的团队。

(c)http://blog.db-in.com/universal-framework-for-ios/

答案 1 :(得分:51)

本指南有点用于创建iOS静态框架:

https://github.com/jverkoey/iOS-Framework

答案 2 :(得分:9)

还有一个template for XCode 4可以让你创建iOS静态框架项目。