添加在应用程序中捆绑符号链接(Adding a Symbolic Link in the Appli

2019-07-03 20:43发布

苹果指定的UILocalNotification类引用的音频文件必须从应用程序包。 然而,一些聪明的怪胎已经找到了自己的方式解决这一限制使用:

// this works by going up the bundle dir, then pointing to the Documents dir
localNotif.soundName = @"../Documents/blabla.caf";

这种解决方法已在iOS 5的效果不错,但是,它在IOS 6打破了在绝望的尝试,试图拿出一个解决办法新,我做了所谓的别名(符号链接) blabla.caf它指向../Documents/blabla.caf ,并放置入应用程序包。 这是我被困。

现在,我得到一个PBXCp error ,和Xcode中不能完成的应用程序部署到该设备,因为很明显

错误:/Users/stuff/moreStuff/appName/../Documents/blabla.caf:没有这样的文件或目录


我的问题:

  1. 我可以采用某种虚拟文件(0 KB)添加到Documents目录刚刚关闭的Xcode吗?
  2. 我能以某种方式强制的Xcode只覆盖此错误并生活在部署应用程序得到?

Answer 1:

如果你把一个符号链接../../Documents/blabla.caf一个文件夹中,然后将文件夹添加到项目(确保您有“创建文件夹引用...”进口替代设置“创建组...“),那么Xcode中不会试图解决在构建过程中的链接。

我已验证链接本身的应用程序工作正常,但我不知道把我的头顶部,如果UILocalNotification将接受folder/blabla.caf在其soundName财产。



Answer 2:

尽管包符号链接文件目录作品的iOS 7.1,如果你打算把一个应用程序在AppStore这种解决方法成为unusefull。 自2014年3月应用这样的符号链接将不会传递到审查。

我已上载与捆绑到iTunes这样的联动app连接之后我收到一个Invalid binary立即状态。 随着来自iTunes Store以下信箱:

尊敬的开发,

我们已经发现了一个或多个问题与您最近交付的“X”。 为了处理您的交付,以下问题必须予以纠正:

无效的符号链接 - 您的软件包中包含一个符号链接“外部/文档”解析为不存在或者是包以外的地区“外部/../../文档”。

...

问候,

在App Store团队



文章来源: Adding a Symbolic Link in the Application Bundle