4

我正在将Rdio添加到我的 iOS 应用程序中,但我被困在安装的这一部分:

在项目构建信息中的 Other Linker Flags 下添加 -all_load

如果我添加了那个标志,那么另一个第三方库会中断给我错误消息:

ld:在 /Users/josh/Projects/app/libs/libvt_universal.a(vw_ctype-3279EF26D0C25F3A.o) 和 /Users/josh/Projects/app/libs/libvt_universal.a(vw_ctype-34AB9EC0B46D954C.o) 中重复符号 _vw_chartype_table_p架构 i386

有没有办法在不使用 -all_load 的情况下使用 Rdio 库?例如,我试过-force_load $(BUILT_PRODUCTS_DIR)/Rdio.framework但似乎没有效果。

4

1 回答 1

15

force_load 正是您想要的 - 它允许您仅加载该框架而不会弄乱其他任何东西。问题在于确切的语法以及对设置的其他一些意外调整。

-force_load 语法

应该为您的目标文件而不是框架提供强制加载的路径。

-force_load $(SOURCE_ROOT)/AppName/libs/Rdio.framework/Versions/Current/Rdio

其他设置

  1. Rdio.framework“Link Binary with Libraries”构建阶段中移除。
  2. 从我的 LIBRARY_SEARCH_PATHS 中删除“/libs/Rdio.framework”
于 2012-06-01T13:34:18.730 回答