2012-11-15 33 views
4

Apple在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中不能完成的應用程序部署到該設備,因爲顯然

error: /Users/stuff/moreStuff/appName/../Documents/blabla.caf: No such file or directory


我的問題:

  1. 我可以以某種方式添加一個虛擬文件(0 KB)到Documents目錄只是爲了關閉Xcode?
  2. 我可以以某種方式迫使Xcode重寫此錯誤,並繼續使用 生命 部署應用程序?
+0

嘿!你在這個問題上有成功嗎?我也想在本地通知中播放不是來自應用程序包的聲音。 –

+0

我已經創建了應用程序包中的符號鏈接手冊,但它仍然不起作用:( –

+0

@SergeyZenchenko Nope,man。我沒有成功,我在應用程序包中添加了所有聲音。 – Mazyod

回答

2

如果你把一個符號鏈接../../Documents/blabla.caf一個文件夾中,然後將文件夾添加到項目(確保您有「創建文件夾引用...」設置進口,而不是「創建組... 「),那麼Xcode將不會在構建過程中嘗試解析鏈接。

我已驗證鏈接本身在應用程序中正常工作,但如果UILocalNotification將在其soundName屬性中接受folder/blabla.caf,我不確定關閉我的頭頂。

5

儘管從bundle到文檔目錄的符號鏈接在iOS 7.1中工作,但如果要將應用程序放入AppStore,此解決方法將變得無用。自2014年3月起,具有此類符號鏈接的應用不會將傳遞給此評論。

當我已經將包含此類鏈接的應用上傳到iTunes連接後,我立即收到Invalid binary狀態。以下是來自iTunes Store的郵件:

Dear developer,

We have discovered one or more issues with your recent delivery for "X". To process your delivery, the following issues must be corrected:

Invalid Symlink - Your package contains a symbolic link 'External/Documents' which resolves to a location 'External/../../Documents' that does not exist or is outside of the package.

...

Regards,

The App Store team

相關問題