首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环依赖错误J2OBJC归档构建?

循环依赖错误J2OBJC归档构建?
EN

Stack Overflow用户
提问于 2019-12-02 14:34:35
回答 2查看 199关注 0票数 0

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

我在离子项目中设置了构建规则和设置,如J2OBJC文档中所述。我已经根据需要添加了库、用户头和框架搜索路径(首先只添加了应用程序目标,并同时尝试了应用程序目标和工作区),并创建了用户定义的$J2OBJC_HOME,并且(这可能不是需求的一部分)我也添加了一个$PROJECT_DIR。我还添加了java构建规则如下

"if!-f“${J2OBJC_HOME}/j2objc;然后回显”Settings.xcconfig中未正确定义的J2OBJC_HOME,当前设置为'${J2OBJC_HOME}'";退出1;fi;"${J2OBJC_HOME}/j2objc“-d ${DERIVED_FILE_DIR} -sourcepath "${PROJECT_DIR}/App”--无包目录--使用弧-前缀Flowers=JOE -g ${INPUT_FILE_PATH};

我已经构建了模拟器和iPhone,并在两者上运行,它们似乎都在工作。然而,当我去存档(这样我就可以创建.ipa)的项目。我得到一个循环依赖错误。我尝试过很多事情,比如重新开始项目,使用不同的URL来搜索路径,使用递归的和非递归的,几次检查文档,查看论坛,仍然没有解决方案。任何想法都将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-22 15:48:03

我已经有一个半月的循环依赖问题了。我几乎什么都试过了。

我到处找过..。得到了汤姆·鲍尔的两封回信。当涉及到使用该工具从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_-d$(查找。-name "*.java")

跳出Java文件夹

cd ..。

删除以前的组织

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

cd到ObjC_Output

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

cp -R ./ObjC_-R/*-R

我会自动将所有文件复制回我的Xcode项目。随便你怎么做都行。还不要忘记将j2objc添加到您的路径中。并在终端中运行脚本。/builder.sh。

此外,要使Xcode识别您的objC项目文件夹,您必须添加Xcode项目的顶部目录,并使其具有递归性。

在这种情况下,您不需要在Xcode中包含j2objc脚本。只需确保您像往常一样包括所有默认链接器路径、库搜索路径和用户头搜索路径(如j2objc文档所示)。

我不得不把我的头发拔出来来解决这个问题。因此,如果需要的话,可以随时寻求帮助。

票数 0
EN

Stack Overflow用户

发布于 2019-12-04 17:15:26

Xcode不能再处理头搜索路径和用户头搜索路径中相同的头搜索路径。在这两种情况下,您可能都有"$(J2OBJC_HOME)/include“。因此,从头搜索路径中删除它,并将其保留在用户头搜索路径中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59141104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档