Documents folder working in Simulator but not iPad - Swift 2.1
<p>The below code unzips a folder of images into a folder I create. and then loops through it and adds the names to an array, then loops through this array and retrieves those file names into an array of images.</p>

<p>It works perfectly on the simulator, but the data is empty when I do it on the iPad, it prints out nothing. I can only assume the folder isn't accessible or is being searched before the unzip has completed, but It shouldnt as I am using NSOperationQueue with a completion block.</p>

<pre><code>func unzipData(objectData: NSManagedObject) {
        var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
        let documentsDir = paths[0]
        let zipPath = documentsDir.stringByAppendingString("MyZipFiles")
        let folderPath = documentsDir.stringByAppendingString("/docLibFiles") // My folder name in document directory
        var optData = NSData(data: objectData.valueForKey("image") as! NSData)
        print(objectData.valueForKey("imageUrl") as! String)
        optData.writeToFile(zipPath, atomically: true)
        let success = fileManager.fileExistsAtPath(zipPath) as Bool
        if success == false {
            do {
                try! fileManager.createDirectoryAtPath(folderPath, withIntermediateDirectories: true, attributes: nil)
            }
        }
        queue.addOperationWithBlock { () -&gt; Void in
            let operation1 = NSBlockOperation(block: {
                let unZipped = SSZipArchive.unzipFileAtPath(zipPath, toDestination: folderPath)

            })
            operation1.completionBlock = {
                    dispatch_async(dispatch_get_main_queue(), {
                        if queue.operationCount == 0 {
                            self.retrieveFiles()
                        }
                    })
            }
            queue.addOperation(operation1)
        }
    }

    func getDocumentsURL() -&gt; NSURL {
        let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
        return documentsURL
    }

    func fileInDocumentsDirectory(filename: String) -&gt; String {
        let fileURL = getDocumentsURL().URLByAppendingPathComponent(filename)
        return fileURL.path!
    }

    func retrieveFiles() {
        var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
        let documentsDir = paths[0]
        let zipPath = documentsDir.stringByAppendingString("MyZipFiles")
        let folderPath = documentsDir.stringByAppendingString("/docLibFiles") // My folder name in document directory
        do {
            let filelist = try fileManager.contentsOfDirectoryAtPath(folderPath)
            print(filelist)
            print("filename")
            for filename in filelist {
                fileNameArray.append(filename)
            }
        } catch let error as NSError  {
            print("Could not save \(error)")
        }
        do {
            for item in fileNameArray {
                print("item \(item)")
                let imagePath = fileInDocumentsDirectory("docLibFiles/\(item)")
                imageArray.append(UIImage(contentsOfFile: imagePath)!)
            }
            print("filename array \(fileNameArray)")
            print("image array \(imageArray)")
            unzipDelegate!.unzipSet(imageArray)
        }
    }
</code></pre>