【发布时间】:2009-08-19 14:47:11
【问题描述】:
是否可以创建一个自己的 obj-C Cocoa Touch 框架供其他开发人员使用?而且你能保护这个框架吗?
【问题讨论】:
-
灰尘和指纹。
标签: iphone objective-c cocoa-touch
是否可以创建一个自己的 obj-C Cocoa Touch 框架供其他开发人员使用?而且你能保护这个框架吗?
【问题讨论】:
标签: iphone objective-c cocoa-touch
我为 Xcode 4 创建了模板,允许您构建通用 iOS 框架(在设备和模拟器中都可以使用)。
安装模板后,您只需在创建新项目时选择“静态 iOS 框架”,剩下的就交给它了。它也适用于单元测试。
【讨论】:
您可以创建一个静态库。 XCode 项目选择器中有一个选项可以执行此操作。您必须将编译的静态库文件和头文件分发给库的用户。您的实际实现文件 (.m) 不需要分发。
GHUnit 在这方面做得很好 - 为模拟器和设备打包库 - 所以我建议查看这个项目。 (我也推荐使用这个库进行单元测试:-)
【讨论】:
Objective C 中的框架通常只是 C / ObjC 代码和一堆类,没什么特别的。因此,您可以根据需要创建自己的,然后在构建时将其包含在您的项目中。 iPhone 不关心差异,它只知道将所有代码与其他所有内容一起放入您的应用程序中。
查看 Apple 网站上的 Framework Programming Guide。它会让你开始。基本上你要做的是在 XCode 中创建一个框架项目,然后从那里开始。
至于“保护”你的框架,我假设你的意思是让你的代码不可读。我不确定您是否以及如何做到这一点,但也许 Apple 的指南会对此有所说明。
【讨论】:
是的,您可以创建用于 Cocoa Touch 的框架。
但是有这些警告:
我的网站上有这些内容的指南。
1+2 = http://www.drobnik.com/touch/2010/04/universal-static-libraries/
你必须用谷歌搜索的其他链接,因为这个网站不允许我发布多个 URL。
【讨论】:
您可以将静态库作为二进制文件(即基本的“保护”)提供给第三方,但不能提供动态库,因为 Apple 的 App Store 政策禁止动态链接。
【讨论】:
看一下给出的静态库的一个工作示例 this site
【讨论】:
如果您打算这样做,我认为JSON.framework 是一个很好的榜样。隐藏/混淆源代码是另一回事,也是一个完全不同的问题,
【讨论】:
创建新项目时,导航到 iOS > Framework & Library > Cocoa Touch Framework,就这么简单。编译成功后,.framework 将在 XCode 的 Products 文件夹下创建。右键显示在Finder中,可以找到输出。
【讨论】:
这不太可能按您希望的方式工作,因为其他开发人员将无法使用您的框架。 This StackOverflow Question 解释了原因。
【讨论】: