• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - XCode 4.2 中单独项目中的引用代码

[复制链接]
菜鸟教程小白 发表于 2022-12-12 18:49:50 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在开发一个使用第三方库的 iOS 应用程序。我想迁移我的项目以使用 ARC,但第三方库仍在使用旧的内存管理。所以我想分离第三方代码并将其放在没有 ARC 的单独项目中,然后以某种方式将该项目链接到我的 iOS 应用程序项目中,以便使用相同的配置将它们构建在一起。

这是否可以通过一种非常简单的方式来实现,或者我是否最好只为单个文件关闭 ARC? (看起来很乏味..)

我可以使用工作区吗?其中一个项目是我的 iOS 应用程序,而另一个项目只包含第三方代码?

我玩过一些游戏并搜索了很多,但似乎没有任何简单的灵魂,还是我错了?



Best Answer-推荐答案


所以我自己想通了,在不同博客的帮助下。这个基本的东西应该更简单和有据可查......但是我们开始了,这就是我为 AsiHttpRequest 获取库所做的:

  1. 创建一个新的 iOS 项目。选择“Cocoa Touch 静态库”模板。随便叫什么。您不想勾选“使用自动引用计数”,因为 AsiHttpRequest 不支持它。
  2. 为您的图书馆项目选择一个位置(稍后会很重要)。
  3. 删除 Xcode 创建的默认 .h 和 .m 文件。
  4. 将 AsiHttpRequest 文件拖放到项目中
  5. 您可以添加 AsiHttpRequest 所依赖的框架,但无论如何您都必须将它们添加到您的主项目中,因此没有必要。
  6. 尝试构建项目,它应该没有错误。
  7. 打开您的主项目
  8. 从 finder 中,将您的库 .proj 文件拖到您的主项目中(在 Xcode 中,以便它“着陆”到主项目文件中)
  9. 库项目现在应该出现在您的主项目下(仍在 XCode 中)。它应该是可扩展的,您也应该能够看到库项目文件。如果没有,请尝试关闭所有打开的项目并重新打开主项目。
  10. 选择主项目,然后选择目标。在 Build Phases - Link Binary With Libraries 下,单击 + 号。
  11. 在框架列表中,您应该会看到您的库项目(名为 libname.a)。选择该文件
  12. 新添加的文件可能会在框架列表中显示为红色,不用担心,它仍然可以正常工作。猜猜这是一个错误。
  13. 仍在目标下,转到build设置
  14. 在标题搜索路径下,将相对搜索路径添加到库 .h 文件所在的位置。这与您的主要项目 .proj 文件有关。 (例如 ../某个文件夹/libproject/)
  15. 希望您的主项目构建时不会出错,并且库项目将同时构建,使用与主项目相同的配置。

我不知道这是否是一个好方法,或者是否有一些更简单的方法来做到这一点。但是,我喜欢这样,因为我可以在多个项目中使用库项目。如果我想更新库项目,我只需要在一个地方进行,其他项目也会更新,因为它们都引用了同一个项目。

编辑1: 我在使用 objective-c 类别的库项目中遇到了一些问题。在尝试调用这些方法时,我在运行时收到 unrecognized selector sent to instance 错误。这个问题是按照给出的答案解决的 here .

  1. 转到主项目中目标的build设置,并将 -ObjC 添加到名为 Other Linker Flags 的条目中

编辑2: 我找到了this用于创建通用框架的模板。我还没有尝试过,但我想这样的东西也可以。

关于ios - XCode 4.2 中单独项目中的引用代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8805413/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap