循环依赖性错误J2OBJC归档文件生成?

使用J2OBJC作为内置的内部Xcode设置,我的Ionic / iOS项目遇到循环依赖问题。

我已经按照J2OBJC文档中的说明在离子项目中设置了构建规则和设置。我根据需要添加了库,用户标头和框架搜索路径(首先仅是应用程序目标,还尝试了应用程序目标和工作空间),并创建了用户定义的$ J2OBJC_HOME和(这可能不是要求的一部分)也添加了$ PROJECT_DIR。我还添加了Java构建规则

  

“ if [[--f” $ {J2OBJC_HOME} / j2objc“];然后回显” J2OBJC_HOME not   在Settings.xcconfig中正确定义,当前设置为   '$ {J2OBJC_HOME}'';出口1; fi;“ $ {J2OBJC_HOME} / j2objc” -d   $ {DERIVED_FILE_DIR}-源路径“ $ {PROJECT_DIR} / App”   --no-package-directories -use-arc --prefix Flowers = JOE -g $ {INPUT_FILE_PATH};“

我同时构建了模拟器和iPhone,并在两者上运行它们,它们似乎正在运行。但是,当我将项目存档时(以便可以创建.ipa)。我得到一个周期性的依赖错误。我尝试了很多事情,例如重新启动项目,使用不同的URL作为搜索路径,使用递归和非递归,几次检查文档,查看论坛,但仍然没有解决方案。任何想法将不胜感激!

XINXIN16666 回答:循环依赖性错误J2OBJC归档文件生成?

Xcode不能再处理“标题搜索路径”和“用户标题搜索路径”中的相同标题搜索路径。这两个都可能包含“ $(J2OBJC_HOME)/ include”。因此,将其从标题搜索路径中删除,并将其保留在用户标题搜索路径中。

,

这个周期性依赖问题已经存在了一个半月。我已经尝试了几乎所有东西。
我到处都看过了..汤姆·鲍尔(Tom Ball)收到了2条回复。当涉及到使用该工具从Java转换为Objc的大型项目时,xcode将无法识别所创建的子目录。我发现最好的解决方法是使用bash创建自己的脚本。我进行了一些研究,并弄清楚了如何递归地找到所有java文件并将j2objc脚本应用于它们,它将以相同的目录布局输出所有Objc文件。 (为您保留一个不错的布局,而不是像Xcode上的j2objc脚本规则这样的杂乱无章的合一文件夹。)

我的build.sh文件如下,随时复制它-

!/ bin / bash

清理目标C文件夹

rm -rf / ObjC_Output

移至Java文件夹

cd Java

运行j2objc并将所有内容输出到ObjC

j2objc -d ../ObjC_Output $(查找。-name“ * .java”)

跳出Java文件夹

cd ..

删除上一个组织

rm -rf / Users / me / Projects / project-name / mobile-app-front-end / app / ios / app / app / org / p

cd到ObjC_Output

将新的ObjC Project文件复制到XCode项目中。

cp -R ./ObjC_Output/* / Users / me / Projects / project-name / mobile-app-front-end / app / ios / app / app / org / p

我会自动将所有文件复制回我的Xcode项目中。同样不要忘记将j2objc添加到您的路径。并在终端中运行..builder.sh这样的脚本。

Xcode还要识别objC项目文件夹,还必须添加Xcode项目的顶层目录并使其递归。

在这种情况下,您不需要在Xcode中包括j2objc脚本。只需确保像往常一样包括所有默认的Linker路径,Library搜索路径和User Header搜索路径(如j2objc文档所示)。

为此解决方案,我不得不拔头发。。因此,如有需要,随时寻求帮助。

本文链接:https://www.f2er.com/2992518.html

大家都在问