Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions AwesomeCache-OS X/AwesomeCache-OS X.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
//
// AwesomeCache-OS X.h
// AwesomeCache-OS X
//
// Created by 北䑓 如法 on 17/3/19.
// Copyright © 2017年 Alexander Schuch. All rights reserved.
//

#import <Cocoa/Cocoa.h>

//! Project version number for AwesomeCache-OS X.
FOUNDATION_EXPORT double AwesomeCache_OS_XVersionNumber;

//! Project version string for AwesomeCache-OS X.
FOUNDATION_EXPORT const unsigned char AwesomeCache_OS_XVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <AwesomeCache_OS_X/PublicHeader.h>


26 changes: 26 additions & 0 deletions AwesomeCache-OS X/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2017年 Alexander Schuch. All rights reserved.</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
24 changes: 24 additions & 0 deletions AwesomeCache/AwesomeCacheOSX.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
//
// AwesomeCacheOSX.h
// AwesomeCache
//
// Created by 北䑓 如法 on 16/2/19.
// Copyright © 2016年 Alexander Schuch. All rights reserved.

#ifndef AwesomeCacheOSX_h
#define AwesomeCacheOSX_h


#endif /* AwesomeCacheOSX_h */

#import <Cocoa/Cocoa.h>

//! Project version number for AwesomeCache.
FOUNDATION_EXPORT double AwesomeCacheVersionNumber;

//! Project version string for AwesomeCache.
FOUNDATION_EXPORT const unsigned char AwesomeCacheVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <AwesomeCache/PublicHeader.h>


9 changes: 8 additions & 1 deletion AwesomeCache/Cache.swift
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,14 @@ open class Cache<T: NSCoding> {
// Create directory on disk if needed
try fileManager.createDirectory(at: cacheDirectory, withIntermediateDirectories: true, attributes: nil)

#if os(iOS)
if let fileProtection = fileProtection {
// Set the correct NSFileProtectionKey
let protection = [FileAttributeKey.protectionKey: fileProtection]
try fileManager.setAttributes(protection, ofItemAtPath: cacheDirectory.path)
}
#elseif os(OSX)
#endif
}

/// Convenience Initializer
Expand Down Expand Up @@ -236,7 +239,11 @@ open class Cache<T: NSCoding> {
// Otherwise, read from disk
let path = urlForKey(key).path
if fileManager.fileExists(atPath: path) {
return _awesomeCache_unarchiveObjectSafely(path) as? CacheObject
#if os(iOS)
return _awesomeCache_unarchiveObjectSafely(path) as? CacheObject
#elseif os(OSX)
return NSKeyedUnarchiver.unarchiveObject(withFile: path) as? CacheObject
#endif
}

return nil
Expand Down
4 changes: 4 additions & 0 deletions AwesomeCacheTests/AwesomeCacheTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@
// Copyright (c) 2015 Alexander Schuch. All rights reserved.
//

#if os(iOS)
import UIKit
#elseif os(OSX)
import Cocoa
#endif
import XCTest
@testable import AwesomeCache

Expand Down
Loading