当前位置:  开发笔记 > IOS > 正文

在命令行工具中使用框架

如何解决《在命令行工具中使用框架》经验,为你挑选了2个好方法。

我使用Cocoa在Xcode中构建了一个命令行实用程序(Foundation工具).该工具使用第三方框架.

在Xcode中一切正常,但我该如何部署这个程序?

如果我从Finder运行应用程序,它找不到库,因为它正在寻找../Frameworks/etc. 可以在第三方框架中静态链接吗?



1> Barry Wark..:

不幸的是,没有办法在OS X中使用命令行实用程序捆绑框架,我怀疑您链接到的框架是否希望捆绑在应用程序包的Frameworks /目录中.如果您可以访问框架源代码,则可以编译静态库并将其静态链接到应用程序(或直接在应用程序目标中包含源代码).如果您没有源代码,或者由于某种原因您不想静态链接库,则还有两个选项:

    如果您可以访问系统范围/ Library/Frameworks文件夹,则可以在那里安装第三方框架.这要求框架的安装路径(INSTALL_PATH构建设置)/Library/Frameworks在构建时设置为或者您使用install_name_tool更改框架安装路径/Library/Frameworks(如果您没有框架的源代码).

    使用命令行实用程序构建应用程序包(就像构建GUI应用程序一样)作为应用程序包的可执行文件(即在AppBundle.app/Contents/MacOS/中).然后,您可以将第三方框架复制到app bundle的frameworks目录.然后,您可以将应用程序包放在任何您想要的位置,并创建指向命令行实用程序的符号链接.

选项1绝对是更容易接受的方法,但是当有正当理由时我使用了选项2.

您可以在Apple的" 框架编程指南"中找到有关构建,链接和安装框架的更多信息.



2> Peter Hosey..:

另一种方法是,如果你有框架的源代码,那就是添加一个静态库目标并从中构建一个静态库.然后,您可以将其静态链接到命令行工具.


静态库不支持Swift :(
推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有