我使用MyScript Interactive墨水SDK转换手写数学方程式。我使用他们拥有的测试示例测试了SDK,一切都很好。我将很多代码逻辑导入到我的应用程序中,并成功地设置了引擎和编辑器。我可以编写项目,甚至可以在编辑器中使用重做,清除和撤消项目。问题是,每当我试图隐藏它时,它都会返回一个"?"。
要转换的函数在下面,与MyScript提供的示例中的代码完全相同 -
@IBAction func ConvertButtonWasTouchedUpInside(_ sender: UIBarButtonItem) {
do {
editorViewController.editor.waitForIdle()
let supportedTargetStates = editorViewController.editor.getSupportedTargetConversionState(nil)
try editorViewController.editor.convert(nil, targetState: supportedTargetStates[0].value)
} catch {
print("Error while converting : " + error.localizedDescription)
}
do
{
try equationInLatex = editorViewController.editor.export_(nil, mimeType: .laTeX)
}
catch
{
print("Error while printing : " + error.localizedDescription)
}
print(equationInLatex)
}
创建引擎包的代码和在AppDelegate.swift文件中在引擎中设置的代码也是一样的。
我附上了返回值看起来的图像
喜欢这里
我无法弄清楚为什么我遇到此错误以及我正在做错的引擎和/或编辑器设置的哪一部分。
谢谢!
答案 0 :(得分:2)
看起来你错过了认可资产。
在提供的GetStartedSwift示例中,“Copy Bundle Resources”构建阶段中引用了一个"configuration-manager.search-path"
文件夹,如快照中所示。您也必须将这些文件复制到项目中。
如果您愿意,可以重命名recognition-assets文件夹,但如果这样做,则必须更改AppDelegate.swift中的conf/math.conf
设置
如果您只想要数学识别,则可能只想复制与数学相关的文件:resources/math/math-ak.res
,resources/math/math-grm-atk.res
和<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_shuffle"
android:icon="@drawable/rand"
android:orderInCategory="1"
android:showAction="always"
android:title="shuffle"/>
<item
android:id="@+id/action_end"
android:icon="@drawable/end"
android:orderInCategory="2"
android:showAction="always"
android:title="End"/>
</menu>
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()){
case R.id.action_shuffle:
//shuffle
break;
case R.id.action_end:
stopService(playIntent);
musicSrv=null;
System.exit(0);
break;
}
return super.onOptionsItemSelected(item);
}