2017-02-15 16 views
1

파일을 공유 앱 그룹으로 성공적으로 이동시키는 기능이 있지만 해당 파일을 삭제하는 기능이 작동하지 않는 것 같습니다. fullpath2 변수를 출력하면 올바른 위치 인 것처럼 보이지만 파일은 제거되지 않고 오류가 반환되지 않습니다.공유 앱 그룹에서 파일 삭제하기

다음
func getSharedFilePath(appGroup:String,sharedFilename:String)->URL? { 

if let directoryPath = FileManager().containerURL(forSecurityApplicationGroupIdentifier: appGroup) { 
    return directoryPath.appendingPathComponent(sharedFilename) 
} else { 
    return nil 
} 
} 


public func deleteFromSharedFile(sharedFilename: String, fileExtension: String)->String { 
let sharedFilename = "\(sharedFilename).\(fileExtension)" 
guard let url = getSharedFilePath(appGroup:applicationGroup,sharedFilename:sharedFilename) else { 
    return("Error getting shared file path") 
} 

// read file from file system to data variable 
let fileManager = FileManager.default 
do { 
    try fileManager.removeItem(atPath: (url.path)) 
    return("File Removed") 
} 
catch let error as NSError { 
    return("File Remove Failed - \(error)") 
} 
} 
+0

'url.absoluteString'이 잘못되었습니다. 당신은 그 길을 얻을 필요가 있습니다. '시도해보십시오 fileManager.removeItem (atPath : url.path)'. BTW absoluteString은 URL 스키마 (이 경우'file : //')도 반환하고 사용자는이를 추가하고 다음 줄을 제거합니다. –

+0

@LeoDabus url.path를 사용하여도 작동하지 않았습니다. – Nate23VT

+0

질문을 실제 코드로 업데이트하십시오. –

답변

2

내 이모티콘 응용 프로그램의 일부 코드이다 :

여기 내 기능입니다.

잘 작동합니다.

func removeImage(itemName: String, fileExtension: String) { 
    let fileName:String = itemName + "." + fileExtension 
    let fileManager = FileManager.default 
    guard let groupURL = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "group.io.XXXXXX.XXXX") else { 
     return 
    } 
    let storagePathUrl = groupURL.appendingPathComponent("image/" + fileName, isDirectory: false) 
    let storagePath = storagePathUrl.path 

    do { 
     if fileManager.fileExists(atPath: storagePath) { 
      try fileManager.removeItem(atPath: storagePath) 
     } 
    } catch let error as NSError { 
     print(error.debugDescription) 
    } 
} 

"image"는 앱 그룹의 하위 폴더 이름입니다.

파일을 루트 폴더에 직접 저장하는 경우 제거 할 수 있습니다.

희망이 있으면 도움이됩니다.