无法使用 ios 8 加载 espeak-data xcode 6

Posted

技术标签:

【中文标题】无法使用 ios 8 加载 espeak-data xcode 6【英文标题】:Failed to load espeak-data xcode 6 with ios 8 【发布时间】:2014-07-16 05:57:05 【问题描述】:

我在我的项目中使用 espeakEngine 项目,在 xcode 6 和 ios 8 之前一切都运行良好。

当我安装 xcode 6 beta 2 并使用 iphone4s 和其他 sumulator 运行我的应用程序时,我收到此错误

无法读取数据文件:'/Users/sandeepsharma/Library/Developer/CoreSimulator/Devices/D05D7879-FB45-4E0C-B03A-0AB4202E1608/data/Applications/6B68F910-5822-47E5-B645-99BF4F8DE /phontab' espeak-data 加载失败

我对这条线的路径感到惊讶 NSString * path = [[NSBundle mainBundle] bundlePath];

这一行给 xcode 5.0 和 ios 7 "/Users/sandeepsharma/Library/Application

支持/iPhone Simulator/7.0.3-64/Applications/66286A80-A5C7-4FB7-BEC7-E43C716017DD/TestApp.app"

以及使用 xcode 6 和 ios8

“/Users/sandeepsharma/Library/Developer/CoreSimulator/Devices/D05D7879-FB45-4E0C-B03A-0AB4202E1608/data/Applications/6B68F910-5822-47E5-B645-99BF4F8DEC94/TestApp.app”

请帮助我,我坚持这个,这是 ios 8 的唯一路径问题。

【问题讨论】:

【参考方案1】:

我意识到这是一个老问题,但我会发布答案,以防其他人遇到它,就像我一样。我无法在任何地方找到答案。

在 espeak_1.0/Libraries/speech.h 文件的第 75 行或附近可以找到 Xcode 6 与 iOS 8 中此问题的原因。 Xcode 6 的模拟器应用程序路径比定义的大小要长。最快的解决办法是改变

#ifdef PLATFORM_WINDOWS
#define N_PATH_HOME  220
#else
#define N_PATH_HOME  150
#endif

到这里:

#ifdef PLATFORM_WINDOWS
#define N_PATH_HOME  220
#else
#define N_PATH_HOME  220
#endif

或者,更好的是,去掉条件,只保留一行:

#define N_PATH_HOME  220

当大小为 150 时,路径被截断。将其更改为 220 并且它可以工作(至少在我的目录结构和生成的路径中)。

【讨论】:

以上是关于无法使用 ios 8 加载 espeak-data xcode 6的主要内容,如果未能解决你的问题,请参考以下文章

Mobilefirst 8.0 错误 IOS 推送通知。无法加载 netty_tcnative_aix_ppc_64、netty_tcnative_ppc_64、netty_tcnative

Cordova iOS libMobileGestalt 错误应用程序无法加载

从iOS 8框架加载图像

iOS 自动布局 ios 7 与 ios 8

图像无法在 iOS 上的 Safari 上加载

iOS 8 下 WKWebView 不加载本地文件