如何为其他开发者构build一个框架或库,这种安全的方式?

我们有一个框架或库的想法,这对任何iOS开发人员都非常有帮助。 所以我们正在认真思考从应用程序开发转向框架/库开发。

但是,当我们要为图书馆/框架收费时,我们必须以某种方式保护代码。 我们如何构build一个框架,使得我们框架的用户看不到源代码,类似于我们怎么看不到苹果框架的源代码? 他们只运送头文件和一些奇怪的Unix exe文件与编译的框架,我猜。

或者,如果无法制作其他iOS开发人员无法复制和粘贴我们的源代码的已编译的框架/库,那么是否有混淆objective-c代码的方法?

是的,可以构build框架,以便框架的用户无法看到源代码。

看看这些文章(我已经成功地使用了第一个创build框架 – 以后的文章是原来的更新):

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 。 它还用其他几种方法列出了这些问题。 这是我在尝试记住build立一个新框架时应该怎么做的指南。 🙂

Update2(带有Xcode 6版本)

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

我的代码会被别人看到吗? 答:不可以。这个框架将导出一个编译后的二进制文件,所以任何人都可以看到它。 对于其他一些文件,比如XIB,你可以做同样的事情。

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

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

本指南对于创buildiOS静态框架来说有点新近了:

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

还有一个XCode 4的模板 ,可以让你创buildiOS静态框架项目。