├── DolarHoje
├── IYLoginItem
│ ├── DolarHoje-Bridging-Header.h
│ ├── NSBundle+LoginItem.h
│ └── NSBundle+LoginItem.m
├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ ├── Material Icons_e53e(0)_128.png
│ │ ├── Material Icons_e53e(0)_16.png
│ │ ├── Material Icons_e53e(0)_256.png
│ │ ├── Material Icons_e53e(0)_32.png
│ │ ├── Material Icons_e53e(0)_512.png
│ │ ├── Material Icons_e53e(0)_64.png
│ │ ├── Material Icons_e53e(0)_1024.png
│ │ ├── Material Icons_e53e(0)_256-1.png
│ │ ├── Material Icons_e53e(0)_32-1.png
│ │ ├── Material Icons_e53e(0)_512-1.png
│ │ └── Contents.json
├── Info.plist
├── AppDelegate.swift
└── Base.lproj
│ └── MainMenu.xib
├── DolarHoje.xcodeproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── DolarHoje.xccheckout
└── project.pbxproj
├── README.md
└── .gitignore
/DolarHoje/IYLoginItem/DolarHoje-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // Use this file to import your target's public headers that you would like to expose to Swift.
3 | //
4 | #import "NSBundle+LoginItem.h"
--------------------------------------------------------------------------------
/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/barbosa/dolar-hoje-mac-osx/HEAD/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_128.png
--------------------------------------------------------------------------------
/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/barbosa/dolar-hoje-mac-osx/HEAD/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_16.png
--------------------------------------------------------------------------------
/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/barbosa/dolar-hoje-mac-osx/HEAD/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_256.png
--------------------------------------------------------------------------------
/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/barbosa/dolar-hoje-mac-osx/HEAD/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_32.png
--------------------------------------------------------------------------------
/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/barbosa/dolar-hoje-mac-osx/HEAD/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_512.png
--------------------------------------------------------------------------------
/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/barbosa/dolar-hoje-mac-osx/HEAD/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_64.png
--------------------------------------------------------------------------------
/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/barbosa/dolar-hoje-mac-osx/HEAD/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_1024.png
--------------------------------------------------------------------------------
/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_256-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/barbosa/dolar-hoje-mac-osx/HEAD/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_256-1.png
--------------------------------------------------------------------------------
/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_32-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/barbosa/dolar-hoje-mac-osx/HEAD/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_32-1.png
--------------------------------------------------------------------------------
/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_512-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/barbosa/dolar-hoje-mac-osx/HEAD/DolarHoje/Assets.xcassets/AppIcon.appiconset/Material Icons_e53e(0)_512-1.png
--------------------------------------------------------------------------------
/DolarHoje.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # dolar-hoje-mac-osx
2 | macOS app para mostrar cotação do USD em BRL na Status Bar. [Download](https://github.com/barbosa/dolar-hoje-mac-osx/releases/download/1.2/DolarHoje.zip).
3 |
4 | 
5 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | .DS_Store
3 | build/
4 | *.pbxuser
5 | !default.pbxuser
6 | *.mode1v3
7 | !default.mode1v3
8 | *.mode2v3
9 | !default.mode2v3
10 | *.perspectivev3
11 | !default.perspectivev3
12 | *.xcworkspace
13 | !default.xcworkspace
14 | xcuserdata
15 | profile
16 | *.moved-aside
17 | DerivedData
18 |
--------------------------------------------------------------------------------
/DolarHoje/IYLoginItem/NSBundle+LoginItem.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSBundle+LoginItem.h
3 | // IYLoginItem
4 | //
5 | // Created by Ian Ynda-Hummel on 6/8/13.
6 | // Copyright (c) 2013 Ian Ynda-Hummel. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface NSBundle (LoginItem)
12 |
13 | // Returns YES if the bundle is a login item such that it will be launched
14 | // every time the currently logged in user logs in.
15 | - (BOOL)isLoginItem;
16 |
17 | // Takes the bundle and adds it as a login item such that it will be launched
18 | // every time the currently logged in user logs in. If the bundle is already a
19 | // login item this method has no additional effect.
20 | - (void)addToLoginItems;
21 |
22 | // Takes the bundle and removes it from login items such that it will not be
23 | // launched every time the currently logged in user logs in. If the bundle is
24 | // not a login item this method has no additional effect.
25 | - (void)removeFromLoginItems;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/DolarHoje/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIconFile
10 |
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.2
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 3
25 | LSMinimumSystemVersion
26 | $(MACOSX_DEPLOYMENT_TARGET)
27 | LSUIElement
28 |
29 | NSAppTransportSecurity
30 |
31 | NSExceptionDomains
32 |
33 | api.dolarhoje.com
34 |
35 | NSIncludesSubdomains
36 |
37 | NSTemporaryExceptionAllowsInsecureHTTPLoads
38 |
39 | NSTemporaryExceptionMinimumTLSVersion
40 | TLSv1.1
41 |
42 |
43 |
44 | NSHumanReadableCopyright
45 | Copyright © 2016 Gustavo Barbosa. All rights reserved.
46 | NSMainNibFile
47 | MainMenu
48 | NSPrincipalClass
49 | NSApplication
50 |
51 |
52 |
--------------------------------------------------------------------------------
/DolarHoje.xcodeproj/project.xcworkspace/xcshareddata/DolarHoje.xccheckout:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDESourceControlProjectFavoriteDictionaryKey
6 |
7 | IDESourceControlProjectIdentifier
8 | 5192C266-53DC-4E18-BFD8-57E315B65234
9 | IDESourceControlProjectName
10 | DolarHoje
11 | IDESourceControlProjectOriginsDictionary
12 |
13 | F021E2B6CD8EBB23FFBB112583B0D8E25C8657ED
14 | github.com:barbosa/dolar-hoje-mac-osx.git
15 |
16 | IDESourceControlProjectPath
17 | DolarHoje.xcodeproj
18 | IDESourceControlProjectRelativeInstallPathDictionary
19 |
20 | F021E2B6CD8EBB23FFBB112583B0D8E25C8657ED
21 | ../..
22 |
23 | IDESourceControlProjectURL
24 | github.com:barbosa/dolar-hoje-mac-osx.git
25 | IDESourceControlProjectVersion
26 | 111
27 | IDESourceControlProjectWCCIdentifier
28 | F021E2B6CD8EBB23FFBB112583B0D8E25C8657ED
29 | IDESourceControlProjectWCConfigurations
30 |
31 |
32 | IDESourceControlRepositoryExtensionIdentifierKey
33 | public.vcs.git
34 | IDESourceControlWCCIdentifierKey
35 | F021E2B6CD8EBB23FFBB112583B0D8E25C8657ED
36 | IDESourceControlWCCName
37 | dolar-hoje-mac-osx
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/DolarHoje/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "16x16",
5 | "idiom" : "mac",
6 | "filename" : "Material Icons_e53e(0)_16.png",
7 | "scale" : "1x"
8 | },
9 | {
10 | "size" : "16x16",
11 | "idiom" : "mac",
12 | "filename" : "Material Icons_e53e(0)_32.png",
13 | "scale" : "2x"
14 | },
15 | {
16 | "size" : "32x32",
17 | "idiom" : "mac",
18 | "filename" : "Material Icons_e53e(0)_32-1.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "32x32",
23 | "idiom" : "mac",
24 | "filename" : "Material Icons_e53e(0)_64.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "128x128",
29 | "idiom" : "mac",
30 | "filename" : "Material Icons_e53e(0)_128.png",
31 | "scale" : "1x"
32 | },
33 | {
34 | "size" : "128x128",
35 | "idiom" : "mac",
36 | "filename" : "Material Icons_e53e(0)_256.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "256x256",
41 | "idiom" : "mac",
42 | "filename" : "Material Icons_e53e(0)_256-1.png",
43 | "scale" : "1x"
44 | },
45 | {
46 | "size" : "256x256",
47 | "idiom" : "mac",
48 | "filename" : "Material Icons_e53e(0)_512.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "512x512",
53 | "idiom" : "mac",
54 | "filename" : "Material Icons_e53e(0)_512-1.png",
55 | "scale" : "1x"
56 | },
57 | {
58 | "size" : "512x512",
59 | "idiom" : "mac",
60 | "filename" : "Material Icons_e53e(0)_1024.png",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/DolarHoje/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // DolarHoje
4 | //
5 | // Created by Gustavo Barbosa on 9/10/15.
6 | // Copyright © 2015 Gustavo Barbosa. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 | import ServiceManagement
11 |
12 | @NSApplicationMain
13 | class AppDelegate: NSObject, NSApplicationDelegate {
14 |
15 | @IBOutlet weak var statusMenu: NSMenu!
16 | @IBOutlet weak var loginOnStartupItem: NSMenuItem!
17 | var statusItem: NSStatusItem?
18 |
19 | func applicationDidFinishLaunching(aNotification: NSNotification) {
20 | statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(NSVariableStatusItemLength)
21 | statusItem?.menu = statusMenu
22 | statusItem?.highlightMode = true
23 |
24 | loginOnStartupItem.state = NSBundle.mainBundle().isLoginItem() ? NSOnState : NSOffState
25 |
26 | fetch()
27 | NSTimer.scheduledTimerWithTimeInterval(60, target: self, selector: "fetch", userInfo: nil, repeats: true)
28 | }
29 |
30 | func fetch() {
31 | let url: NSURL = NSURL(string: "http://api.dolarhoje.com")!
32 | let request: NSURLRequest = NSURLRequest(URL: url)
33 | let queue:NSOperationQueue = NSOperationQueue()
34 | NSURLConnection.sendAsynchronousRequest(request, queue: queue, completionHandler:{ (response: NSURLResponse?, data: NSData?, error: NSError?) -> Void in
35 |
36 | if let responseData = data {
37 | if let value = NSString(data: responseData, encoding: NSUTF8StringEncoding) {
38 | print(value)
39 | self.statusItem?.title = "R$ \(value)"
40 | }
41 | }
42 | })
43 | }
44 |
45 | @IBAction func toggleLoginOnStartup(menuItem: NSMenuItem) {
46 | menuItem.state = menuItem.state == NSOnState ? NSOffState : NSOnState
47 |
48 | if menuItem.state == NSOnState {
49 | NSBundle.mainBundle().addToLoginItems()
50 | } else {
51 | NSBundle.mainBundle().removeFromLoginItems()
52 | }
53 | }
54 |
55 | @IBAction func quit(menuItem: NSMenuItem) {
56 | NSApplication.sharedApplication().terminate(self)
57 | }
58 | }
59 |
60 |
--------------------------------------------------------------------------------
/DolarHoje/IYLoginItem/NSBundle+LoginItem.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSBundle+LoginItem.m
3 | // IYLoginItem
4 | //
5 | // Created by Ian Ynda-Hummel on 6/8/13.
6 | // Copyright (c) 2013 Ian Ynda-Hummel. All rights reserved.
7 | //
8 |
9 | #import "NSBundle+LoginItem.h"
10 |
11 | #import
12 |
13 | @interface NSBundle (LoginItemPrivate)
14 | - (LSSharedFileListItemRef)itemRefWithListRef:(LSSharedFileListRef)listRef;
15 | @end
16 |
17 | @implementation NSBundle (LoginItem)
18 |
19 | - (BOOL)isLoginItem {
20 | LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL);
21 | if (!loginItems) return NO;
22 |
23 | LSSharedFileListItemRef loginItemRef = [self itemRefWithListRef:loginItems];
24 | if (!loginItemRef) return NO;
25 |
26 | return YES;
27 | }
28 |
29 | - (void)addToLoginItems {
30 | NSURL *bundleURL = self.bundleURL;
31 |
32 | LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL);
33 | if (!loginItems) return;
34 |
35 | LSSharedFileListItemRef item = LSSharedFileListInsertItemURL(loginItems,
36 | kLSSharedFileListItemLast,
37 | NULL,
38 | NULL,
39 | (__bridge CFURLRef)bundleURL,
40 | NULL,
41 | NULL);
42 |
43 | if (item) CFRelease(item);
44 |
45 | CFRelease(loginItems);
46 | }
47 |
48 | - (void)removeFromLoginItems {
49 | LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL);
50 | if (!loginItems) return;
51 |
52 | LSSharedFileListItemRef loginItemRef = [self itemRefWithListRef:loginItems];
53 | if (!loginItemRef) return;
54 |
55 | LSSharedFileListItemRemove(loginItems, loginItemRef);
56 | }
57 |
58 | - (LSSharedFileListItemRef)itemRefWithListRef:(LSSharedFileListRef)listRef {
59 | NSArray *listItems = (__bridge NSArray *)LSSharedFileListCopySnapshot(listRef, NULL);
60 |
61 | for (NSInteger i = 0; i < listItems.count; ++i) {
62 | LSSharedFileListItemRef itemRef = (__bridge LSSharedFileListItemRef)listItems[i];
63 | CFURLRef urlRef;
64 | OSStatus error = LSSharedFileListItemResolve(itemRef, 0, &urlRef, NULL);
65 |
66 | if (error != noErr) continue;
67 |
68 | if (CFEqual(urlRef, (__bridge CFURLRef)self.bundleURL)) return itemRef;
69 | }
70 |
71 | return NULL;
72 | }
73 |
74 | @end
75 |
--------------------------------------------------------------------------------
/DolarHoje.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | E4CCB36A1BA2653E00C41F84 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4CCB3691BA2653E00C41F84 /* AppDelegate.swift */; };
11 | E4CCB36C1BA2653E00C41F84 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E4CCB36B1BA2653E00C41F84 /* Assets.xcassets */; };
12 | E4CCB36F1BA2653E00C41F84 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = E4CCB36D1BA2653E00C41F84 /* MainMenu.xib */; };
13 | EC6A4AC51BA503BD008C5AC8 /* NSBundle+LoginItem.m in Sources */ = {isa = PBXBuildFile; fileRef = EC6A4AC41BA503BD008C5AC8 /* NSBundle+LoginItem.m */; };
14 | /* End PBXBuildFile section */
15 |
16 | /* Begin PBXCopyFilesBuildPhase section */
17 | E4CCB37C1BA275A500C41F84 /* Embed Frameworks */ = {
18 | isa = PBXCopyFilesBuildPhase;
19 | buildActionMask = 2147483647;
20 | dstPath = "";
21 | dstSubfolderSpec = 10;
22 | files = (
23 | );
24 | name = "Embed Frameworks";
25 | runOnlyForDeploymentPostprocessing = 0;
26 | };
27 | /* End PBXCopyFilesBuildPhase section */
28 |
29 | /* Begin PBXFileReference section */
30 | E4CCB3661BA2653E00C41F84 /* DolarHoje.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DolarHoje.app; sourceTree = BUILT_PRODUCTS_DIR; };
31 | E4CCB3691BA2653E00C41F84 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
32 | E4CCB36B1BA2653E00C41F84 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
33 | E4CCB36E1BA2653E00C41F84 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; };
34 | E4CCB3701BA2653E00C41F84 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
35 | EC6A4AC21BA503BC008C5AC8 /* DolarHoje-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DolarHoje-Bridging-Header.h"; sourceTree = ""; };
36 | EC6A4AC31BA503BD008C5AC8 /* NSBundle+LoginItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSBundle+LoginItem.h"; sourceTree = ""; };
37 | EC6A4AC41BA503BD008C5AC8 /* NSBundle+LoginItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSBundle+LoginItem.m"; sourceTree = ""; };
38 | /* End PBXFileReference section */
39 |
40 | /* Begin PBXFrameworksBuildPhase section */
41 | E4CCB3631BA2653E00C41F84 /* Frameworks */ = {
42 | isa = PBXFrameworksBuildPhase;
43 | buildActionMask = 2147483647;
44 | files = (
45 | );
46 | runOnlyForDeploymentPostprocessing = 0;
47 | };
48 | /* End PBXFrameworksBuildPhase section */
49 |
50 | /* Begin PBXGroup section */
51 | E4CCB35D1BA2653E00C41F84 = {
52 | isa = PBXGroup;
53 | children = (
54 | E4CCB3681BA2653E00C41F84 /* DolarHoje */,
55 | E4CCB3671BA2653E00C41F84 /* Products */,
56 | );
57 | sourceTree = "";
58 | };
59 | E4CCB3671BA2653E00C41F84 /* Products */ = {
60 | isa = PBXGroup;
61 | children = (
62 | E4CCB3661BA2653E00C41F84 /* DolarHoje.app */,
63 | );
64 | name = Products;
65 | sourceTree = "";
66 | };
67 | E4CCB3681BA2653E00C41F84 /* DolarHoje */ = {
68 | isa = PBXGroup;
69 | children = (
70 | E4CCB3691BA2653E00C41F84 /* AppDelegate.swift */,
71 | E4CCB36B1BA2653E00C41F84 /* Assets.xcassets */,
72 | E4CCB36D1BA2653E00C41F84 /* MainMenu.xib */,
73 | E4CCB3701BA2653E00C41F84 /* Info.plist */,
74 | EC6A4AB81BA502C7008C5AC8 /* IYLoginItem */,
75 | );
76 | path = DolarHoje;
77 | sourceTree = "";
78 | };
79 | EC6A4AB81BA502C7008C5AC8 /* IYLoginItem */ = {
80 | isa = PBXGroup;
81 | children = (
82 | EC6A4AC31BA503BD008C5AC8 /* NSBundle+LoginItem.h */,
83 | EC6A4AC41BA503BD008C5AC8 /* NSBundle+LoginItem.m */,
84 | EC6A4AC21BA503BC008C5AC8 /* DolarHoje-Bridging-Header.h */,
85 | );
86 | path = IYLoginItem;
87 | sourceTree = "";
88 | };
89 | /* End PBXGroup section */
90 |
91 | /* Begin PBXNativeTarget section */
92 | E4CCB3651BA2653E00C41F84 /* DolarHoje */ = {
93 | isa = PBXNativeTarget;
94 | buildConfigurationList = E4CCB3731BA2653E00C41F84 /* Build configuration list for PBXNativeTarget "DolarHoje" */;
95 | buildPhases = (
96 | E4CCB3621BA2653E00C41F84 /* Sources */,
97 | E4CCB3631BA2653E00C41F84 /* Frameworks */,
98 | E4CCB3641BA2653E00C41F84 /* Resources */,
99 | E4CCB37C1BA275A500C41F84 /* Embed Frameworks */,
100 | );
101 | buildRules = (
102 | );
103 | dependencies = (
104 | );
105 | name = DolarHoje;
106 | productName = DolarHoje;
107 | productReference = E4CCB3661BA2653E00C41F84 /* DolarHoje.app */;
108 | productType = "com.apple.product-type.application";
109 | };
110 | /* End PBXNativeTarget section */
111 |
112 | /* Begin PBXProject section */
113 | E4CCB35E1BA2653E00C41F84 /* Project object */ = {
114 | isa = PBXProject;
115 | attributes = {
116 | LastSwiftMigration = 0700;
117 | LastSwiftUpdateCheck = 0700;
118 | LastUpgradeCheck = 0700;
119 | ORGANIZATIONNAME = "Gustavo Barbosa";
120 | TargetAttributes = {
121 | E4CCB3651BA2653E00C41F84 = {
122 | CreatedOnToolsVersion = 7.0;
123 | };
124 | };
125 | };
126 | buildConfigurationList = E4CCB3611BA2653E00C41F84 /* Build configuration list for PBXProject "DolarHoje" */;
127 | compatibilityVersion = "Xcode 3.2";
128 | developmentRegion = English;
129 | hasScannedForEncodings = 0;
130 | knownRegions = (
131 | en,
132 | Base,
133 | );
134 | mainGroup = E4CCB35D1BA2653E00C41F84;
135 | productRefGroup = E4CCB3671BA2653E00C41F84 /* Products */;
136 | projectDirPath = "";
137 | projectRoot = "";
138 | targets = (
139 | E4CCB3651BA2653E00C41F84 /* DolarHoje */,
140 | );
141 | };
142 | /* End PBXProject section */
143 |
144 | /* Begin PBXResourcesBuildPhase section */
145 | E4CCB3641BA2653E00C41F84 /* Resources */ = {
146 | isa = PBXResourcesBuildPhase;
147 | buildActionMask = 2147483647;
148 | files = (
149 | E4CCB36C1BA2653E00C41F84 /* Assets.xcassets in Resources */,
150 | E4CCB36F1BA2653E00C41F84 /* MainMenu.xib in Resources */,
151 | );
152 | runOnlyForDeploymentPostprocessing = 0;
153 | };
154 | /* End PBXResourcesBuildPhase section */
155 |
156 | /* Begin PBXSourcesBuildPhase section */
157 | E4CCB3621BA2653E00C41F84 /* Sources */ = {
158 | isa = PBXSourcesBuildPhase;
159 | buildActionMask = 2147483647;
160 | files = (
161 | E4CCB36A1BA2653E00C41F84 /* AppDelegate.swift in Sources */,
162 | EC6A4AC51BA503BD008C5AC8 /* NSBundle+LoginItem.m in Sources */,
163 | );
164 | runOnlyForDeploymentPostprocessing = 0;
165 | };
166 | /* End PBXSourcesBuildPhase section */
167 |
168 | /* Begin PBXVariantGroup section */
169 | E4CCB36D1BA2653E00C41F84 /* MainMenu.xib */ = {
170 | isa = PBXVariantGroup;
171 | children = (
172 | E4CCB36E1BA2653E00C41F84 /* Base */,
173 | );
174 | name = MainMenu.xib;
175 | sourceTree = "";
176 | };
177 | /* End PBXVariantGroup section */
178 |
179 | /* Begin XCBuildConfiguration section */
180 | E4CCB3711BA2653E00C41F84 /* Debug */ = {
181 | isa = XCBuildConfiguration;
182 | buildSettings = {
183 | ALWAYS_SEARCH_USER_PATHS = NO;
184 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
185 | CLANG_CXX_LIBRARY = "libc++";
186 | CLANG_ENABLE_MODULES = YES;
187 | CLANG_ENABLE_OBJC_ARC = YES;
188 | CLANG_WARN_BOOL_CONVERSION = YES;
189 | CLANG_WARN_CONSTANT_CONVERSION = YES;
190 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
191 | CLANG_WARN_EMPTY_BODY = YES;
192 | CLANG_WARN_ENUM_CONVERSION = YES;
193 | CLANG_WARN_INT_CONVERSION = YES;
194 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
195 | CLANG_WARN_UNREACHABLE_CODE = YES;
196 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
197 | CODE_SIGN_IDENTITY = "-";
198 | COPY_PHASE_STRIP = NO;
199 | DEBUG_INFORMATION_FORMAT = dwarf;
200 | ENABLE_STRICT_OBJC_MSGSEND = YES;
201 | ENABLE_TESTABILITY = YES;
202 | GCC_C_LANGUAGE_STANDARD = gnu99;
203 | GCC_DYNAMIC_NO_PIC = NO;
204 | GCC_NO_COMMON_BLOCKS = YES;
205 | GCC_OPTIMIZATION_LEVEL = 0;
206 | GCC_PREPROCESSOR_DEFINITIONS = (
207 | "DEBUG=1",
208 | "$(inherited)",
209 | );
210 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
211 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
212 | GCC_WARN_UNDECLARED_SELECTOR = YES;
213 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
214 | GCC_WARN_UNUSED_FUNCTION = YES;
215 | GCC_WARN_UNUSED_VARIABLE = YES;
216 | MACOSX_DEPLOYMENT_TARGET = 10.10;
217 | MTL_ENABLE_DEBUG_INFO = YES;
218 | ONLY_ACTIVE_ARCH = YES;
219 | SDKROOT = macosx;
220 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
221 | };
222 | name = Debug;
223 | };
224 | E4CCB3721BA2653E00C41F84 /* Release */ = {
225 | isa = XCBuildConfiguration;
226 | buildSettings = {
227 | ALWAYS_SEARCH_USER_PATHS = NO;
228 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
229 | CLANG_CXX_LIBRARY = "libc++";
230 | CLANG_ENABLE_MODULES = YES;
231 | CLANG_ENABLE_OBJC_ARC = YES;
232 | CLANG_WARN_BOOL_CONVERSION = YES;
233 | CLANG_WARN_CONSTANT_CONVERSION = YES;
234 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
235 | CLANG_WARN_EMPTY_BODY = YES;
236 | CLANG_WARN_ENUM_CONVERSION = YES;
237 | CLANG_WARN_INT_CONVERSION = YES;
238 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
239 | CLANG_WARN_UNREACHABLE_CODE = YES;
240 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
241 | CODE_SIGN_IDENTITY = "-";
242 | COPY_PHASE_STRIP = NO;
243 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
244 | ENABLE_NS_ASSERTIONS = NO;
245 | ENABLE_STRICT_OBJC_MSGSEND = YES;
246 | GCC_C_LANGUAGE_STANDARD = gnu99;
247 | GCC_NO_COMMON_BLOCKS = YES;
248 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
249 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
250 | GCC_WARN_UNDECLARED_SELECTOR = YES;
251 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
252 | GCC_WARN_UNUSED_FUNCTION = YES;
253 | GCC_WARN_UNUSED_VARIABLE = YES;
254 | MACOSX_DEPLOYMENT_TARGET = 10.10;
255 | MTL_ENABLE_DEBUG_INFO = NO;
256 | SDKROOT = macosx;
257 | };
258 | name = Release;
259 | };
260 | E4CCB3741BA2653E00C41F84 /* Debug */ = {
261 | isa = XCBuildConfiguration;
262 | buildSettings = {
263 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
264 | CLANG_ENABLE_MODULES = YES;
265 | COMBINE_HIDPI_IMAGES = YES;
266 | FRAMEWORK_SEARCH_PATHS = (
267 | "$(inherited)",
268 | "$(PROJECT_DIR)/DolarHoje",
269 | );
270 | INFOPLIST_FILE = DolarHoje/Info.plist;
271 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
272 | PRODUCT_BUNDLE_IDENTIFIER = co.7pixels.DolarHoje;
273 | PRODUCT_NAME = "$(TARGET_NAME)";
274 | SWIFT_OBJC_BRIDGING_HEADER = "DolarHoje/IYLoginItem/DolarHoje-Bridging-Header.h";
275 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
276 | };
277 | name = Debug;
278 | };
279 | E4CCB3751BA2653E00C41F84 /* Release */ = {
280 | isa = XCBuildConfiguration;
281 | buildSettings = {
282 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
283 | CLANG_ENABLE_MODULES = YES;
284 | COMBINE_HIDPI_IMAGES = YES;
285 | FRAMEWORK_SEARCH_PATHS = (
286 | "$(inherited)",
287 | "$(PROJECT_DIR)/DolarHoje",
288 | );
289 | INFOPLIST_FILE = DolarHoje/Info.plist;
290 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
291 | PRODUCT_BUNDLE_IDENTIFIER = co.7pixels.DolarHoje;
292 | PRODUCT_NAME = "$(TARGET_NAME)";
293 | SWIFT_OBJC_BRIDGING_HEADER = "DolarHoje/IYLoginItem/DolarHoje-Bridging-Header.h";
294 | };
295 | name = Release;
296 | };
297 | /* End XCBuildConfiguration section */
298 |
299 | /* Begin XCConfigurationList section */
300 | E4CCB3611BA2653E00C41F84 /* Build configuration list for PBXProject "DolarHoje" */ = {
301 | isa = XCConfigurationList;
302 | buildConfigurations = (
303 | E4CCB3711BA2653E00C41F84 /* Debug */,
304 | E4CCB3721BA2653E00C41F84 /* Release */,
305 | );
306 | defaultConfigurationIsVisible = 0;
307 | defaultConfigurationName = Release;
308 | };
309 | E4CCB3731BA2653E00C41F84 /* Build configuration list for PBXNativeTarget "DolarHoje" */ = {
310 | isa = XCConfigurationList;
311 | buildConfigurations = (
312 | E4CCB3741BA2653E00C41F84 /* Debug */,
313 | E4CCB3751BA2653E00C41F84 /* Release */,
314 | );
315 | defaultConfigurationIsVisible = 0;
316 | defaultConfigurationName = Release;
317 | };
318 | /* End XCConfigurationList section */
319 | };
320 | rootObject = E4CCB35E1BA2653E00C41F84 /* Project object */;
321 | }
322 |
--------------------------------------------------------------------------------
/DolarHoje/Base.lproj/MainMenu.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
670 |
671 |
672 |
678 |
679 |
685 |
686 |
687 |
688 |
689 |
690 |
--------------------------------------------------------------------------------