Skip to content

Commit 225a100

Browse files
committed
Use CoreFoundation to maintain 10.8 compatibility
1 parent d05306d commit 225a100

File tree

4 files changed

+61
-3
lines changed

4 files changed

+61
-3
lines changed

MacDown.xcodeproj/project.pbxproj

+6
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
1F0F3BFC195F75F200FC0B3B /* MathJax in Resources */ = {isa = PBXBuildFile; fileRef = 1F0F3BFB195F75F200FC0B3B /* MathJax */; };
3030
1F23A92119928E650052DB78 /* MPMathJaxListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F23A92019928E650052DB78 /* MPMathJaxListener.m */; };
3131
1F27896B1973BEB100EE696A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1F2789691973BEB100EE696A /* Localizable.strings */; };
32+
1F2A17281A1BB3E30055A107 /* NSUserDefaults+Suite.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F2A17271A1BB3E30055A107 /* NSUserDefaults+Suite.m */; };
3233
1F396E6619B0EA17000D3EFC /* MPEditorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F396E6519B0EA17000D3EFC /* MPEditorView.m */; };
3334
1F3A47521953E84700293259 /* help.md in Resources */ = {isa = PBXBuildFile; fileRef = 1F3A47511953E84700293259 /* help.md */; };
3435
1F4C8E9A194AE0B9004BF82E /* MarkdownDocument.icns in Resources */ = {isa = PBXBuildFile; fileRef = 1F4C8E99194AE0B9004BF82E /* MarkdownDocument.icns */; };
@@ -155,6 +156,8 @@
155156
1F23A91F19928E650052DB78 /* MPMathJaxListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPMathJaxListener.h; sourceTree = "<group>"; };
156157
1F23A92019928E650052DB78 /* MPMathJaxListener.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPMathJaxListener.m; sourceTree = "<group>"; };
157158
1F27896A1973BEB100EE696A /* Base */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = Base; path = Localization/Base.lproj/Localizable.strings; sourceTree = "<group>"; };
159+
1F2A17261A1BB3E30055A107 /* NSUserDefaults+Suite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSUserDefaults+Suite.h"; path = "macdown-cmd/NSUserDefaults+Suite.h"; sourceTree = SOURCE_ROOT; };
160+
1F2A17271A1BB3E30055A107 /* NSUserDefaults+Suite.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSUserDefaults+Suite.m"; path = "macdown-cmd/NSUserDefaults+Suite.m"; sourceTree = SOURCE_ROOT; };
158161
1F396E6419B0EA17000D3EFC /* MPEditorView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPEditorView.h; sourceTree = "<group>"; };
159162
1F396E6519B0EA17000D3EFC /* MPEditorView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEditorView.m; sourceTree = "<group>"; };
160163
1F3A47511953E84700293259 /* help.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = help.md; path = Resources/help.md; sourceTree = "<group>"; };
@@ -522,6 +525,8 @@
522525
905EF1AA196164CA00FC3CE9 /* macdown-cmd */ = {
523526
isa = PBXGroup;
524527
children = (
528+
1F2A17261A1BB3E30055A107 /* NSUserDefaults+Suite.h */,
529+
1F2A17271A1BB3E30055A107 /* NSUserDefaults+Suite.m */,
525530
1FBE8E0E1A11DB1E003E1EF4 /* main.m */,
526531
);
527532
name = "macdown-cmd";
@@ -827,6 +832,7 @@
827832
buildActionMask = 2147483647;
828833
files = (
829834
1FBE8E0F1A11DB1E003E1EF4 /* main.m in Sources */,
835+
1F2A17281A1BB3E30055A107 /* NSUserDefaults+Suite.m in Sources */,
830836
);
831837
runOnlyForDeploymentPostprocessing = 0;
832838
};

macdown-cmd/NSUserDefaults+Suite.h

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//
2+
// NSUserDefaults+Suite.h
3+
// MacDown
4+
//
5+
// Created by Tzu-ping Chung on 19/11.
6+
// Copyright (c) 2014 Tzu-ping Chung . All rights reserved.
7+
//
8+
9+
#import <Foundation/Foundation.h>
10+
11+
@interface NSUserDefaults (Suite)
12+
13+
- (instancetype)initWithSuiteNamed:(NSString *)suiteName;
14+
- (void)setObject:(id)value forKey:(NSString *)key
15+
inSuiteNamed:(NSString *)suiteName;
16+
17+
@end

macdown-cmd/NSUserDefaults+Suite.m

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
//
2+
// NSUserDefaults+Suite.m
3+
// MacDown
4+
//
5+
// Created by Tzu-ping Chung on 19/11.
6+
// Copyright (c) 2014 Tzu-ping Chung . All rights reserved.
7+
//
8+
9+
#import "NSUserDefaults+Suite.h"
10+
11+
@implementation NSUserDefaults (Suite)
12+
13+
- (instancetype)initWithSuiteNamed:(NSString *)suiteName
14+
{
15+
self = [self init];
16+
if (!self)
17+
return nil;
18+
[self addSuiteNamed:suiteName];
19+
return self;
20+
}
21+
22+
- (void)setObject:(id)value forKey:(NSString *)key
23+
inSuiteNamed:(NSString *)suiteName
24+
{
25+
CFPreferencesSetValue((__bridge CFStringRef)key,
26+
(__bridge CFPropertyListRef)value,
27+
(__bridge CFStringRef)suiteName,
28+
kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
29+
}
30+
31+
@end

macdown-cmd/main.m

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
//
22
// main.m
3-
// MacDown-cmd
3+
// macdown-cmd
44
//
55
// Created by Esben Sorig on 30/06/2014.
66
// Copyright (c) 2014 Tzu-ping Chung . All rights reserved.
77
//
88

99
#import <AppKit/AppKit.h>
10+
#import "NSUserDefaults+Suite.h"
11+
12+
static NSString * const kMPMacDownSuiteName = @"com.uranusjr.macdown";
1013

1114
int main(int argc, const char * argv[])
1215
{
@@ -22,8 +25,9 @@ int main(int argc, const char * argv[])
2225
[urls addObject:url.absoluteString];
2326
}
2427
NSUserDefaults *defaults =
25-
[[NSUserDefaults alloc] initWithSuiteName:@"com.uranusjr.macdown"];
26-
[defaults setObject:urls.allObjects forKey:@"filesToOpenOnNextLaunch"];
28+
[[NSUserDefaults alloc] initWithSuiteNamed:kMPMacDownSuiteName];
29+
[defaults setObject:urls.allObjects forKey:@"filesToOpenOnNextLaunch"
30+
inSuiteNamed:kMPMacDownSuiteName];
2731
[defaults synchronize];
2832

2933
[[NSWorkspace sharedWorkspace] launchApplication:@"MacDown"];

0 commit comments

Comments
 (0)