Cocoa Touch Framework Swift与嵌入式库

时间:2015-03-27 10:44:12

标签: ios swift frameworks alamofire swifty-json

(下面的法语版)

您好, 我正在开发一套包含通用模块的应用程序。 我想将通用模块存储在Cocoa Touch Framework中。 该框架还可能包含库和Alamofire以及SwiftyJSON,因为它们广泛用于模块中。 目前,尽管在互联网上阅读了许多教程,文章等,但我无法获得稳定的解决方案。 *是否可以在框架自定义中集成框架Alamofire和SwiftyJSON,或者更好地将它们集成到使用框架的不同项目中(它们还需要单独使用)? *是否可以生成在模拟器和手机上运行的框架(无论方法:子项目与否,动态或静态库,胖库)?

提前感谢您提供任何帮助和反思 祝你有个美好的一天: - )

**法语版**

的Bonjour,

je travaille sur une suite d'applications qui contiennent des modules en communs。

Je souhaite ranger les modules communs dans un Cocoa Touch Framework。 Ce framework pourrait aussi contenir les libraries Alamofire et SwiftyJSON car elles sontgrandementutiliséesauseins des modules。

Actuellementetmalgrélesnombreux tutos,文章等lus sur internet,je n'arrivepasàmettreune solution stable en place。

  • Est-il possible d'intégrerlesframeworks Alamofire et SwiftyJSON au sein du framework maison ou vaut-il mieuxlesintégreraudifférentsprojetsutilisant le framework(ils en auront aussi besoin individuellement)?

    < / LI>
  • Est-il possibledegénérerunframework fonctionnant sur le simulateur etsurtéléphone(quelque soientlesméthodes:subproject ou pas,bibliothèquemynamiqueou statique,fat library)?

Je vous remercie par avance是一名助手和反射者 Etbonnejournée: - )

1 个答案:

答案 0 :(得分:5)

你绝对可以这样做。您目前有三个选项可用于设置开发和两个部署选项。


开发

Git子模块

Git submodules是将额外的库带入项目存储库以嵌入项目的好方法。您需要做的就是添加子模块,然后将该库的Xcode项目拖到您的Xcode项目中,以便它嵌套在您的项目中。然后,您需要将框架添加为库的链接目标。

<强>迦太基

Carthage还通过--use-submodules标志支持git子模块。您需要做的只是通过自制软件install carthage,然后创建一个Cartfile,使用以下命令添加Alamofire和SwiftyJSON。

carthage update --use-submodules

<强>的CocoaPods

CocoaPods是一个依赖管理系统,允许您轻松地引入和部署给定库的不同版本。由于AlamofireSwiftyJSON都支持CocoaPod,因此您可以创建Podfile,然后运行pod install将pod拖入您的库中。我不建议这样做,因为这是一个非常重的方法。相反,我建议使用Git SubmodulesCarthage进行开发。


部署

部署是一个很多不同的情况。目前,iOS和OSX有两种相当强大的部署机制,在OSS社区中广泛使用(包括Alamofire和Carthage)。

<强>迦太基

如果您使用Carthage导入了git子模块,那么您可能已经完全支持Carthage部署了。这取决于您是否使用Cartfile.private文件来引入依赖项。考虑到你正在尝试做什么,我怀疑你会使用私人Cartfile,而是使用公共的Cartfile。这意味着你应该开箱即用。真棒!

<强>的CocoaPods

CocoaPods与迦太基有很大的不同,并且比迦太基有一些很大的优势,但需要付出代价。您需要创建一个podspec文件并将其推送到公共或私有规格仓库。然后任何人都可以使用Podfile将你的pod放入他们的项目中。


摘要

如您所见,这里有很多选项。我强烈建议使用Carthage来引入你的git子模块,然后支持Carthage和CocoaPods进行部署。我知道这需要付出很多努力,所以你可能想要专注于其中一个。对于大量的链接和信息感到抱歉,但您提出的问题让我相信您会从各种来源中受益匪浅。

希望这有助于您成为依赖项开发和部署忍者。