代码之家  ›  专栏  ›  技术社区  ›  jantimon

我可以为CocoaTouch应用程序开发自己的Objective-C框架吗?

  •  19
  • jantimon  · 技术社区  · 15 年前

    是否可以创建自己的obj-c cocoa touch框架,其他开发人员可以使用它?而且,您能保护这个框架吗?

    9 回复  |  直到 9 年前
        1
  •  17
  •   Karl    13 年前

    我已经为Xcode4创建了模板,允许您构建通用的iOS框架(在设备和模拟器中都可以工作)。

    一旦安装了模板,您只需在创建新项目时选择“静态iOS框架”,其余的就可以了。它也适用于单元测试。

    https://github.com/kstenerud/iOS-Universal-Framework

        2
  •  14
  •   teabot    15 年前

    可以创建静态库。Xcode项目选择器中有一个选项可以执行此操作。您必须将编译后的静态库文件和头文件分发给库的用户。您的实际实现文件(.m)不需要分发。

    GHUnit 这方面做得很好-为模拟器和设备打包库-所以我建议查看这个项目。(我还建议使用此库进行单元测试:—)

        3
  •  6
  •   Eli    15 年前

    目标C中的框架通常只是C/OBJC代码和一些类,没有什么特别之处。因此,如果愿意,您可以创建自己的,然后在构建项目时将其包含在项目中。iPhone不在乎区别,它只知道把所有的代码和其他东西一起放到你的应用程序中。

    看看 Framework Programming Guide 在苹果的网站上。它会让你开始。本质上,您将要做的是在Xcode中创建一个框架项目,然后从那里开始。

    至于“保护”您的框架,我认为您的意思是使代码不可读。我不确定你是否可以以及如何做到这一点,但也许苹果的指南会对此有所说明。

        4
  •  3
  •   Cocoanetics    14 年前

    是的,您可以创建用于CocoaTouch的框架。

    但是,有以下警告:

    1. 必须是静态链接的libary,我们没有动态加载(dyld)
    2. 应该是i386(模拟器)、arm6和arm7的组合(lipo)库
    3. 你需要把一个捆绑项目分解成一个框架。
    4. 您应该将(小的和很少的)图像嵌入到库中,这样开发人员就不必乱弄资源,而只需将其拖放到他的项目中。
    5. …或者如果你有大量的图片,用它们构建一个包。

    我的网站上有这些东西的指南。

    1+2= http://www.drobnik.com/touch/2010/04/universal-static-libraries/

    其他链接你必须谷歌,因为这个网站不允许我张贴多个网址。

        5
  •  2
  •   hatfinch    15 年前

    您可以将静态库作为二进制文件(即基本的“保护”)提供给第三方,而不是动态库,因为苹果的应用商店策略阻止动态链接。

        6
  •  1
  •   John Smith    15 年前

    请看下面给出的静态库的一个工作示例 this site

        7
  •  0
  •   slf    15 年前

    在我看来,如果你打算这么做的话 JSON.framework 是一个很好的例子。隐藏/混淆源代码是另一回事,完全是另一个问题,

        8
  •  0
  •   Gaurav Srivastava    9 年前

    创建新项目时,请导航到iOS>框架&library>cocoa touch框架,操作非常简单。成功编译后,将在Xcode的products文件夹下创建.framework。右键单击以在finder中显示,您可以找到输出。

        9
  •  -2
  •   Community Ian Goodfellow    7 年前

    这不太可能像您希望的那样工作,因为其他开发人员将无法使用您的框架。 This StackOverflow Question 解释原因。