Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何为其他开发人员构建框架或库,安全的方式?_Iphone_Ipad_Frameworks_Ios - Fatal编程技术网

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

Iphone 如何为其他开发人员构建框架或库,安全的方式?,iphone,ipad,frameworks,ios,Iphone,Ipad,Frameworks,Ios,我们有一个框架或库的想法,这对任何iOS开发人员都非常有帮助。因此,我们正在认真考虑从应用程序开发转向框架/库开发 但是,当我们想为库/框架收费时,我们必须以某种方式保护代码。我们如何构建一个框架,让框架的用户看不到源代码,就像我们看不到苹果框架的源代码一样?我想,他们只提供头文件和一些奇怪的Unix exe文件以及编译后的框架 或者,如果在没有复制粘贴我们的源代码的情况下,无法生成其他iOS开发人员可以使用的编译框架/库,那么有没有办法混淆objective-c代码?是的,可以构建框架,使框架

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

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


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

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

查看以下文章(我在过去成功地使用了第一篇文章来创建框架——后面的文章是对原始文章的更新):

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

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


更新: 查看下面添加的链接featherless——它比以前更新了很多,并且都在一个页面上:。它还列出了其他几种方法的问题。这是我现在尝试记住在设置新框架时要做什么时遵循的指南。:)

更新2(使用Xcode 6版本) 有一个选项,正是您想要的:
iOS通用框架

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

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


(c)

还有一个可以让您创建iOS静态框架项目的向导。

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


谢谢你,伙计!苹果不会因为这个把戏而拒绝应用程序吗?您是否真的在使用这种框架的应用商店上获得了批准的应用程序?回到这里,从Xcode 4开始,“其他链接器标志”生成设置中的所有加载链接器标志都不是必需的-ObjC是您需要的唯一标志。您说得对,Daniel,LLVM/Clang的最新版本之一修复了此问题。谢谢喜欢iOS框架的github链接,+1注意:如果你有Xcode 4.5,你需要对教程进行一些小的修改,如本文所述:你知道使用这种方法发布的项目吗?不,我不知道。我正在研究一个我们正考虑以这种方式发布的版本,但我不确定这是否是我们最终将使用的.Unix exe文件:-)如果您真的想对iOS开发人员有所帮助,请将其开源@KaanDedeoglu-在这两种情况下,用户都有优点和缺点。就我个人而言,我更喜欢一个价格合理的封闭源代码框架,所有东西都有很好的文档记录、支持,并且只工作框架,而不是一个开源的、不受支持的和没有文档记录的框架。很少有开源框架,它实际上几乎可以被很好地记录和维护。