There was an internal API error问题的解决

今天用iOS7设备跑debug时发现app无法安装到设置上,并且Xcode会弹出一个显示 There was an internal API error. 错误的提示框.

搜了一圈发现几个可能因素:
1. 工程中的 Product Name 是中文导致的.
Build Setting中搜索Product Name,修改成纯英文.

  1. Build Settings 中搜索 Packaging/Private Headers Folder PathProduct Module Name ,检查下名字是否为 Product Name 名.

试过以上两个之后 发现问题并没有解决, 于是我将 Main Scheme 的名字和 targetName 也改成英文,但没有起作用,然而此时, 运行项目最后报错

error: cannot parse the debug map for  
"/Users/apple/Library/Developer/Xcode/DerivedData/xxx/your_app_name.app/your_app_name": Is a directory

看到这个之后, 我喜出望外, 进入到这个目录下, 发现确实存在 your_app_name 这个文件夹,而此文件夹是我们工程里的一个资源文件夹... 于是再次将 Product Name 修改为另一个英文名.随即运行通过.

总结

工程的相关命名一定要规范:
1. Product Name 要为英文, 避免上文中那种麻烦.
2. 工程的名字最好为英文,同时名字中务必不要带空格. 此举是避免在 Search path 中会将空格转义为 \ ,因此导致一些文件无法被正确加载的问题.
3. targetName , Scheme 的名字务必为英文. 虽然在上文中的问题与这俩并没有关系, 但是在之前我用 jenkins 构建自动部署的时候, 工程的 WorkspaceMain Scheme 如果为中文的话, 总是会出现构建失败的问题, 虽然在之后的版本中 jenkins 已经没有了这个问题, 但是出于谨慎和规范起见, 这些名称都应该使用英文.

订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x