2016-09-21 31 views
-1

我想在我的swift應用程序中存在的.png圖像上添加文本,並用此編輯後的圖像替換舊圖像。 但是,當我試圖刪除舊的圖像我收到錯誤信息:這我使用刪除我的舊png文件重寫或刪除iOS快速應用中的現有.png文件

  Error : Error Domain=NSCocoaErrorDomain Code=513 "「Background.png」 
      couldn’t be removed because you don’t have permission to access it." 
     UserInfo={NSFilePath=/var/containers/Bundle/Application/57134C17-50A5- 
    4709-9E3B-8013733175BA/SignatureApp.app/Background.png, NSUserStringVariant=(
       Remove 
      ), NSUnderlyingError=0x12cd8c150 {Error 
Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}} 

代碼是:

令路徑= NSBundle.mainBundle()。 pathForResource(「Background」,ofType:「png」)!

let fileManager = NSFileManager.defaultManager() 
do { 
    try fileManager.removeItemAtPath(path) 
} 
catch let error as NSError { 
    print("Error: \(error)") 
} 

有沒有人可以給一個想法如何重寫或刪除現有的.png文件在IOS快速應用?

+0

你最初是如何設置圖像的?在Xcode中使用圖像資產,對嗎?所以用新文件替換imageAssets中的文件。 – Santosh

+0

不,它不在圖像資產中,它直接在Xcode中,對於該解決方案,我無法使用圖像資產 – Andrey

回答

1

我不相信你能做到這一點。該圖像是您的應用程序包的一部分。您需要上傳新的應用程序。

相反,您可以將圖像存儲在文檔或緩存目錄中,並在您的代碼中檢查該文件是否存在並加載它而不是Background.png

+0

這是您應該採取的方法。如果需要,甚至可以將應用程序應該使用的新路徑寫入「NSUserDefaults」。這也可以讓你從頭開始生成多個圖像,以防萬一,你知道,你的用戶改變了你疊加的任何值。 –