ChatGPT解决这个技术问题 Extra ChatGPT

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

关闭。这个问题需要更加集中。它目前不接受答案。想改进这个问题?更新问题,使其仅通过编辑此帖子专注于一个问题。 7年前关闭。改进这个问题

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

但是当我们想为库/框架收费时,我们必须以某种方式保护代码。我们如何构建一个框架,让我们框架的用户看不到源代码,就像我们看不到苹果框架的源代码一样?我猜他们只提供头文件和一些带有编译框架的奇怪的 Unix exe 文件。

或者,如果无法制作其他 iOS 开发人员可以在不复制和粘贴我们的源代码的情况下使用的编译框架/库,那么有没有办法混淆 Objective-c 代码?

Unix exe文件:-)
如果你真的想对 iOS 开发者有所帮助,那就开源吧!
@KaanDedeoglu - 在这两种情况下,用户都有利有弊。就个人而言,我更喜欢价格合理的封闭源代码,一切都有很好的文档、支持和正常工作的框架,而不是开源、不受支持和无文档的框架。很少见的开源框架实际上几乎是有据可查并得到积极维护的。

C
Community

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

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

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/


谢了哥们!苹果不会因为这个技巧而拒绝一个应用程序吗?您是否真的在 App Store 上获得了使用这种框架的 App 获得批准?
回到这一点,从 Xcode 4 开始,“其他链接器标志”构建设置中的 -all_load 链接器标志不是必需的。 -ObjC 是您唯一需要的标志。
没错,Daniel,LLVM/Clang 的最新版本之一修复了这个问题。谢谢!
喜欢 iOS 框架的 github 链接,+1
注意:如果您有 Xcode 4.5,则需要对本教程进行一些修改,如下所述:stackoverflow.com/questions/13571080/…
f
featherless

本指南是创建 iOS 静态框架的最新版本:

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


G
Greg

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


你知道用这种方法发布的项目吗?
不,我没有。我正在开发一款我们正在考虑以这种方式发布的产品,但我不确定我们最终是否会采用这种方式。

关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅