替代XCode的其他链接器标志中的all_load

我正在将Rdio添加到我的iOS应用程序中,并且我仍然坚持安装的这一部分:

在项目构建信息中的其他链接器标志下添加-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但似乎没有效果。

force_load正是你想要的 – 它允许你只加载那个框架而不会搞乱任何其他东西。 问题是确切的语法以及对您的设置的一些其他意外调整。

-force_load语法

强制加载应该给出目标文件的路径,而不是框架。

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

其他设置

  1. 从“Link Binary with Libraries”构建阶段中删除Rdio.framework
  2. 从我的LIBRARY_SEARCH_PATHS中删除’/libs/Rdio.framework’