关闭。这个问题需要更加集中。它目前不接受答案。想改进这个问题?更新问题,使其仅通过编辑此帖子专注于一个问题。 7年前关闭。改进这个问题
我们有一个对任何 iOS 开发人员都非常有帮助的框架或库的想法。所以我们正在认真考虑从应用程序开发切换到框架/库开发。
但是当我们想为库/框架收费时,我们必须以某种方式保护代码。我们如何构建一个框架,让我们框架的用户看不到源代码,就像我们看不到苹果框架的源代码一样?我猜他们只提供头文件和一些带有编译框架的奇怪的 Unix exe 文件。
或者,如果无法制作其他 iOS 开发人员可以在不复制和粘贴我们的源代码的情况下使用的编译框架/库,那么有没有办法混淆 Objective-c 代码?
是的,可以构建框架,使框架的用户看不到源代码。
查看这些文章(我过去成功使用第一篇创建框架——后面的文章是对原始文章的更新):
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
!
其他人可以看到我的代码吗? A: 不会。这个框架会导出一个编译好的二进制文件,所以任何人都可以看到里面的内容。您可以对其他一些文件进行相同的操作,例如 XIB。为什么我需要这个?答:这适用于希望在不显示整个代码(.m/.c/.cpp 文件)的情况下共享其代码的开发人员/团队。此外,这适用于那些想要将编译后的代码 + 资源(图像、视频、声音、XIB、plist 等)组织到一个地方的人。这也适用于希望在同一基础(框架)之上一起工作的团队。
(c) http://blog.db-in.com/universal-framework-for-ios/
还有一个 template for XCode 4 可让您创建 iOS 静态框架项目。