iOS 在构建 MFP 项目时给出 cookie.mom 错误

Posted

技术标签:

【中文标题】iOS 在构建 MFP 项目时给出 cookie.mom 错误【英文标题】:iOS giving cookie.mom error when building MFP project 【发布时间】:2015-04-11 01:23:37 【问题描述】:

我们有一个工作灯项目版本 6.2.0.1,我已将其迁移到 MFP 7。

在我的构建过程中(Ant 或 Eclipse),我在 ios 上遇到了这个错误:

蚂蚁:

 builtin-copyPlist --convert binary1 --outdir /Users/Sam/Desktop/ProjectName/temp/source/ProjectName/apps/ProjectName/iphone/native/CordovaLib/build/ProjectName.app -- WorklightSDK/resources/Cookies.mom
 [exec] 

/Users/Sam/Desktop/ProjectName/temp/source/ProjectName/apps/ProjectName/iphone/native/WorklightSDK/resources/Cookies.mom:0: 
error: reading data: The file “Cookies.mom” couldn’t be opened because there is no such file.

如果我通过 eclipse 构建项目并将其运行到 xCode 我得到:

在 WoklightSDK 中,我没有看到 cookies.mom

如何解决此错误?

【问题讨论】:

您是否将项目存储在某个源代码控制系统中?可能是您没有上传所有内容,因此当您将文件下载到 Studio 7 时,它们不完整?升级前先尝试删除本机文件夹。 是的,我的项目存储在我们一直使用的主 svn 中,并且我们的 svn 中没有本机文件夹,我们使用“NativeResources”文件夹代替,因为我们的混合项目包含一些本机代码。是否需要在“NativeResources”文件夹内的 xCode 项目中插入或配置一些值来迁移 iOS? 您是否也将 xcodproj 文件存储在那里?如果您要存储此文件,则迁移时可能会出现问题。尝试两件事:1)删除 nativeResources 文件夹,然后尝试迁移,然后重新添加文件并在 xcode 中重新构建 2)尝试在 6.2 中生成 native 文件夹后迁移。 是的,当然存储了 xcodeproj,它包含我们的原生代码。我尝试了“1”但它不起作用,得到了同样的错误。我尝试了“2”并在 Eclipse 上出现此错误“将 ProjectName 项目从版本 6.2.0.01.20141106-2034 迁移到版本 7.0.0.00.20150402-2001 失败,因为 java.io.IOException:无法删除文件:/Users /Sam/Documents/workspace/ProjectName/apps/ProjectName/ipad/native/CordovaLib/Classes/UIDevice+Extensions.m" 我唯一能想到的就是删除iPhone文件夹>导入>添加iPhone文件夹>再次添加本机代码。 【参考方案1】:

屏幕截图中提到的文件不再存在于 MFP 项目中(因此它们不在新项目中是可以的)迁移过程应该删除它们,因此构建不应该对它们出错.

但是您遇到了一个错误,这对我来说意味着该项目没有迁移到 MFP 7。


编辑:根据您打开的 PMR 中的测试项目,发生这种情况是因为在您的项目中您使用的是 nativeResources 文件夹。使用此文件夹不再被视为最佳做法,您应该停止使用它

这里的错误是在迁移过程之后,它的那部分删除了旧的 cookies.mom 文件,构建器获取 nativeResources 文件夹的内容并将其复制到本机文件夹。在此过程中,它将更新的 .xcodeproj(现在已删除对不再存在的 cookies.mom 文件的引用)替换为包含这些引用的旧 .xcodeproj 文件 - 到不存在的文件......因此在构建时在 Xcode 中,它会失败,因为它引用了不存在的文件。

从您的 nativeResources 文件夹中删除 .xcodeproj 文件并重新构建。接下来,在 Xcode 中,重新引用您的自定义类文件。在 Xcode 中构建成功并且您的应用程序正常运行后,如果您选择继续使用,请将更新后的 .xcodeproj 文件复制回 nativeResource 文件夹。

继续使用此文件夹,您的支持无效 - 正如我所提到的,此文件夹不再被视为最佳做法,将来可能会消失。

【讨论】:

甚至 MFP6.3 也删除了这些文件? Eclipse 控制台当我从​​ SVN 中签出代码时“将 ProjectName 项目从版本 6.2.0.01.20150214-1613 迁移到版本 6.3.0.00.20150214-1702 已成功。” (右键单击 iPhone > 运行方式 > 构建 iPhone 环境。再次运行方式 > xCode 项目 > 清理项目并构建它得到相同的错误) 可能是迁移错误然后... pmr. Idan,抱歉,最后一个问题,是否有 MFP 6.3 的修复包,我想在提高 PMR 之前下载此版本的最新修复。我使用此 URL 获取 MFP 6.3 (***.com/questions/17493510/…)。如果有修复包并且您可以与我分享获取它的方式,它可能会解决问题并避免 PMR。 如果您是 IBM 客户或业务合作伙伴,您可以从 IBM fIX Central 下载最新的可用 iFix。

以上是关于iOS 在构建 MFP 项目时给出 cookie.mom 错误的主要内容,如果未能解决你的问题,请参考以下文章

MFP CLI v7.0 无法构建-部署最初使用 MFP Studio v7.0 创建的项目

添加 mfp-push 插件后,Ionic 空白项目的构建失败

新项目在构建 Android 时出错

现有 IONIC 1 项目迁移到 IBM Worklight(MobileFirst 平台“MFP”)

PhoneGap/Cordova:如何使用 cookie (iOS)?

在 MFP V8.0 中调用 Java Script Adapter 过程时出错