├── .gitignore
├── Compiled Nib Opener.nib.zip
├── LICENSE
├── Nib File Viewer
└── NibFileViewer.app
│ └── Contents
│ ├── Frameworks
│ ├── libswiftAppKit.dylib
│ ├── libswiftCore.dylib
│ ├── libswiftCoreData.dylib
│ ├── libswiftCoreGraphics.dylib
│ ├── libswiftCoreImage.dylib
│ ├── libswiftDarwin.dylib
│ ├── libswiftDispatch.dylib
│ ├── libswiftFoundation.dylib
│ ├── libswiftIOKit.dylib
│ ├── libswiftObjectiveC.dylib
│ ├── libswiftQuartzCore.dylib
│ └── libswiftXPC.dylib
│ ├── Info.plist
│ ├── MacOS
│ └── NibFileViewer
│ ├── PkgInfo
│ ├── Resources
│ ├── AppIcon.icns
│ ├── Base.lproj
│ │ └── Main.storyboardc
│ │ │ ├── Info.plist
│ │ │ ├── MainMenu.nib
│ │ │ ├── NSWindowController-B8D-0N-5wS.nib
│ │ │ └── XfG-lQ-9wD-view-m2S-Jp-Qdl.nib
│ ├── Compiled Nib Opener.nib.zip
│ └── libswiftRemoteMirror.dylib
│ └── _CodeSignature
│ └── CodeResources
├── NibFileViewer.png
├── NibFileViewer.xcodeproj
├── project.pbxproj
└── project.xcworkspace
│ └── contents.xcworkspacedata
├── NibFileViewer
├── AppDelegate.swift
├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── NibFileViewerLogoMacHuge_512pt.png
│ │ ├── NibFileViewerLogoMacHuge_512pt@2x.png
│ │ ├── NibFileViewerLogoMacLarge_256pt.png
│ │ ├── NibFileViewerLogoMacLarge_256pt@2x.png
│ │ ├── NibFileViewerLogoMacMedium_128pt.png
│ │ ├── NibFileViewerLogoMacMedium_128pt@2x.png
│ │ ├── NibFileViewerLogoMacMicro_16pt.png
│ │ ├── NibFileViewerLogoMacMicro_16pt@2x.png
│ │ ├── NibFileViewerLogoMacSmall_32pt.png
│ │ └── NibFileViewerLogoMacSmall_32pt@2x.png
├── Base.lproj
│ └── Main.storyboard
├── DragView.swift
├── FileManager.swift
├── Info.plist
└── ViewController.swift
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4 |
5 | ## Build generated
6 | build/
7 | DerivedData
8 |
9 | ## Various settings
10 | *.pbxuser
11 | !default.pbxuser
12 | *.mode1v3
13 | !default.mode1v3
14 | *.mode2v3
15 | !default.mode2v3
16 | *.perspectivev3
17 | !default.perspectivev3
18 | xcuserdata
19 |
20 | ## Other
21 | *.xccheckout
22 | *.moved-aside
23 | *.xcuserstate
24 | *.xcscmblueprint
25 |
26 | ## Obj-C/Swift specific
27 | *.hmap
28 | *.ipa
29 |
30 | ## Playgrounds
31 | timeline.xctimeline
32 | playground.xcworkspace
33 |
34 | # Swift Package Manager
35 | #
36 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
37 | # Packages/
38 | .build/
39 |
40 | # CocoaPods
41 | #
42 | # We recommend against adding the Pods directory to your .gitignore. However
43 | # you should judge for yourself, the pros and cons are mentioned at:
44 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
45 | #
46 | # Pods/
47 |
48 | # Carthage
49 | #
50 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
51 | # Carthage/Checkouts
52 |
53 | Carthage/Build
54 |
55 | # fastlane
56 | #
57 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
58 | # screenshots whenever they are needed.
59 | # For more information about the recommended setup visit:
60 | # https://github.com/fastlane/fastlane/blob/master/docs/Gitignore.md
61 |
62 | fastlane/report.xml
63 | fastlane/screenshots
64 |
--------------------------------------------------------------------------------
/Compiled Nib Opener.nib.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Compiled Nib Opener.nib.zip
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 星夜暮晨
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftAppKit.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftAppKit.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftCore.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftCore.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftCoreData.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftCoreData.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftCoreGraphics.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftCoreGraphics.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftCoreImage.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftCoreImage.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftDarwin.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftDarwin.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftDispatch.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftDispatch.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftFoundation.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftFoundation.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftIOKit.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftIOKit.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftObjectiveC.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftObjectiveC.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftQuartzCore.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftQuartzCore.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftXPC.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Frameworks/libswiftXPC.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 16B2555
7 | CFBundleDevelopmentRegion
8 | en
9 | CFBundleDisplayName
10 | Nib File Viewer
11 | CFBundleExecutable
12 | NibFileViewer
13 | CFBundleIconFile
14 | AppIcon
15 | CFBundleIdentifier
16 | com.1-xing.NibFileViewer
17 | CFBundleInfoDictionaryVersion
18 | 6.0
19 | CFBundleName
20 | NibFileViewer
21 | CFBundlePackageType
22 | APPL
23 | CFBundleShortVersionString
24 | 1.0
25 | CFBundleSignature
26 | ????
27 | CFBundleSupportedPlatforms
28 |
29 | MacOSX
30 |
31 | CFBundleVersion
32 | 1
33 | DTCompiler
34 | com.apple.compilers.llvm.clang.1_0
35 | DTPlatformBuild
36 | 8C38
37 | DTPlatformVersion
38 | GM
39 | DTSDKBuild
40 | 16C58
41 | DTSDKName
42 | macosx10.12
43 | DTXcode
44 | 0820
45 | DTXcodeBuild
46 | 8C38
47 | LSApplicationCategoryType
48 | public.app-category.developer-tools
49 | LSMinimumSystemVersion
50 | 10.10
51 | NSHumanReadableCopyright
52 | Copyright © 2016年 星夜暮晨. All rights reserved.
53 | NSMainStoryboardFile
54 | Main
55 | NSPrincipalClass
56 | NSApplication
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/MacOS/NibFileViewer:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/MacOS/NibFileViewer
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/PkgInfo:
--------------------------------------------------------------------------------
1 | APPL????
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Resources/AppIcon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Resources/AppIcon.icns
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Resources/Base.lproj/Main.storyboardc/Info.plist
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Resources/Base.lproj/Main.storyboardc/MainMenu.nib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Resources/Compiled Nib Opener.nib.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Resources/Compiled Nib Opener.nib.zip
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/Resources/libswiftRemoteMirror.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/Nib File Viewer/NibFileViewer.app/Contents/Resources/libswiftRemoteMirror.dylib
--------------------------------------------------------------------------------
/Nib File Viewer/NibFileViewer.app/Contents/_CodeSignature/CodeResources:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | files
6 |
7 | Resources/AppIcon.icns
8 |
9 | h++eA1KcvBH0HVsGIvdPavbShD0=
10 |
11 | Resources/Base.lproj/Main.storyboardc/Info.plist
12 |
13 | u422IRjw/tvO2ILL3uMYVRYzUXU=
14 |
15 | Resources/Base.lproj/Main.storyboardc/MainMenu.nib
16 |
17 | aKF9kKepmFisbYXXq2As5dZQv6s=
18 |
19 | Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib
20 |
21 | tu+2HYChq0lfGaibKDtQb2ueGTE=
22 |
23 | Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib
24 |
25 | G8DmbA2YjSxAdaqTT1ZQmMC0U94=
26 |
27 | Resources/Compiled Nib Opener.nib.zip
28 |
29 | 7Mkhy5TXlHNZXXqxoxdIVXEJePQ=
30 |
31 | Resources/libswiftRemoteMirror.dylib
32 |
33 | BZDf42seJCdTt1wtGjqtWaxSTU8=
34 |
35 |
36 | files2
37 |
38 | Frameworks/libswiftAppKit.dylib
39 |
40 | cdhash
41 |
42 | WZMEmKYShaApQsascmdqcwKZvAQ=
43 |
44 | requirement
45 | identifier "com.apple.dt.runtime.swiftAppKit" and anchor apple generic and certificate leaf[subject.CN] = "Mac Developer: Junyang Li (V8AP83G3X9)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */
46 |
47 | Frameworks/libswiftCore.dylib
48 |
49 | cdhash
50 |
51 | UNB56yua9UUerY1QvIPCVvrHKto=
52 |
53 | requirement
54 | identifier "com.apple.dt.runtime.swiftCore" and anchor apple generic and certificate leaf[subject.CN] = "Mac Developer: Junyang Li (V8AP83G3X9)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */
55 |
56 | Frameworks/libswiftCoreData.dylib
57 |
58 | cdhash
59 |
60 | P9vvka/VjFwmBhshxusv0Fe3Pkc=
61 |
62 | requirement
63 | identifier "com.apple.dt.runtime.swiftCoreData" and anchor apple generic and certificate leaf[subject.CN] = "Mac Developer: Junyang Li (V8AP83G3X9)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */
64 |
65 | Frameworks/libswiftCoreGraphics.dylib
66 |
67 | cdhash
68 |
69 | m9uw5kAALpVEIaO61bkmBVgEO/c=
70 |
71 | requirement
72 | identifier "com.apple.dt.runtime.swiftCoreGraphics" and anchor apple generic and certificate leaf[subject.CN] = "Mac Developer: Junyang Li (V8AP83G3X9)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */
73 |
74 | Frameworks/libswiftCoreImage.dylib
75 |
76 | cdhash
77 |
78 | ksCr62P8g1WiegGQsfgdkLZhIyQ=
79 |
80 | requirement
81 | identifier "com.apple.dt.runtime.swiftCoreImage" and anchor apple generic and certificate leaf[subject.CN] = "Mac Developer: Junyang Li (V8AP83G3X9)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */
82 |
83 | Frameworks/libswiftDarwin.dylib
84 |
85 | cdhash
86 |
87 | TvvaCnM8tIFFam+I2ojFASMPmXM=
88 |
89 | requirement
90 | identifier "com.apple.dt.runtime.swiftDarwin" and anchor apple generic and certificate leaf[subject.CN] = "Mac Developer: Junyang Li (V8AP83G3X9)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */
91 |
92 | Frameworks/libswiftDispatch.dylib
93 |
94 | cdhash
95 |
96 | z1cKG7icdIqMGs4WbY+rqzu+olA=
97 |
98 | requirement
99 | identifier "com.apple.dt.runtime.swiftDispatch" and anchor apple generic and certificate leaf[subject.CN] = "Mac Developer: Junyang Li (V8AP83G3X9)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */
100 |
101 | Frameworks/libswiftFoundation.dylib
102 |
103 | cdhash
104 |
105 | LuNT2QrKqnkKH3xS5h29UtdK5Fk=
106 |
107 | requirement
108 | identifier "com.apple.dt.runtime.swiftFoundation" and anchor apple generic and certificate leaf[subject.CN] = "Mac Developer: Junyang Li (V8AP83G3X9)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */
109 |
110 | Frameworks/libswiftIOKit.dylib
111 |
112 | cdhash
113 |
114 | XS0xIuJWwgcCX13Rtw8KNuvy1Fk=
115 |
116 | requirement
117 | identifier "com.apple.dt.runtime.swiftIOKit" and anchor apple generic and certificate leaf[subject.CN] = "Mac Developer: Junyang Li (V8AP83G3X9)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */
118 |
119 | Frameworks/libswiftObjectiveC.dylib
120 |
121 | cdhash
122 |
123 | YckQ5xSrIt095SKHKKLfjpbF/Mk=
124 |
125 | requirement
126 | identifier "com.apple.dt.runtime.swiftObjectiveC" and anchor apple generic and certificate leaf[subject.CN] = "Mac Developer: Junyang Li (V8AP83G3X9)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */
127 |
128 | Frameworks/libswiftQuartzCore.dylib
129 |
130 | cdhash
131 |
132 | ekgYz1ypiSCYMw11OfF+uajVKCk=
133 |
134 | requirement
135 | identifier "com.apple.dt.runtime.swiftQuartzCore" and anchor apple generic and certificate leaf[subject.CN] = "Mac Developer: Junyang Li (V8AP83G3X9)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */
136 |
137 | Frameworks/libswiftXPC.dylib
138 |
139 | cdhash
140 |
141 | EZ8zQbFOgNTD6ibs7ZQe+LbCNjU=
142 |
143 | requirement
144 | identifier "com.apple.dt.runtime.swiftXPC" and anchor apple generic and certificate leaf[subject.CN] = "Mac Developer: Junyang Li (V8AP83G3X9)" and certificate 1[field.1.2.840.113635.100.6.2.1] /* exists */
145 |
146 | Resources/AppIcon.icns
147 |
148 | hash
149 |
150 | h++eA1KcvBH0HVsGIvdPavbShD0=
151 |
152 | hash2
153 |
154 | vIvl227HuRAEiFqVzZP+9L474r2raF+tP/odL6mJhwo=
155 |
156 |
157 | Resources/Base.lproj/Main.storyboardc/Info.plist
158 |
159 | hash
160 |
161 | u422IRjw/tvO2ILL3uMYVRYzUXU=
162 |
163 | hash2
164 |
165 | GOqgqJWo8dMfOz7ItkJ3T3WHk3HYsCfitNcVbFdCDqE=
166 |
167 |
168 | Resources/Base.lproj/Main.storyboardc/MainMenu.nib
169 |
170 | hash
171 |
172 | aKF9kKepmFisbYXXq2As5dZQv6s=
173 |
174 | hash2
175 |
176 | WzVZrp/gkDLt7hZYLAZuaTFwtQWLnM8vF1ONIg+/U7c=
177 |
178 |
179 | Resources/Base.lproj/Main.storyboardc/NSWindowController-B8D-0N-5wS.nib
180 |
181 | hash
182 |
183 | tu+2HYChq0lfGaibKDtQb2ueGTE=
184 |
185 | hash2
186 |
187 | ES8izTdWmn1aNCrI08IKHDqg+WBvxcF/u2BnmL9ZHyg=
188 |
189 |
190 | Resources/Base.lproj/Main.storyboardc/XfG-lQ-9wD-view-m2S-Jp-Qdl.nib
191 |
192 | hash
193 |
194 | G8DmbA2YjSxAdaqTT1ZQmMC0U94=
195 |
196 | hash2
197 |
198 | jvqNNThMN4SpFtumbcHlOX/XxWEzpsL1Fh0H0xG8hzs=
199 |
200 |
201 | Resources/Compiled Nib Opener.nib.zip
202 |
203 | hash
204 |
205 | 7Mkhy5TXlHNZXXqxoxdIVXEJePQ=
206 |
207 | hash2
208 |
209 | DBCkohfDpDf/GFMP1jxirrilCCjN0/YVIkweQMFNw8o=
210 |
211 |
212 | Resources/libswiftRemoteMirror.dylib
213 |
214 | hash
215 |
216 | BZDf42seJCdTt1wtGjqtWaxSTU8=
217 |
218 | hash2
219 |
220 | uffeXpuhQfCJaZm5vOqI+WdXi07wrksWVlgHWVgaU1E=
221 |
222 |
223 |
224 | rules
225 |
226 | ^Resources/
227 |
228 | ^Resources/.*\.lproj/
229 |
230 | optional
231 |
232 | weight
233 | 1000
234 |
235 | ^Resources/.*\.lproj/locversion.plist$
236 |
237 | omit
238 |
239 | weight
240 | 1100
241 |
242 | ^Resources/Base\.lproj/
243 |
244 | weight
245 | 1010
246 |
247 | ^version.plist$
248 |
249 |
250 | rules2
251 |
252 | .*\.dSYM($|/)
253 |
254 | weight
255 | 11
256 |
257 | ^(.*/)?\.DS_Store$
258 |
259 | omit
260 |
261 | weight
262 | 2000
263 |
264 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
265 |
266 | nested
267 |
268 | weight
269 | 10
270 |
271 | ^.*
272 |
273 | ^Info\.plist$
274 |
275 | omit
276 |
277 | weight
278 | 20
279 |
280 | ^PkgInfo$
281 |
282 | omit
283 |
284 | weight
285 | 20
286 |
287 | ^Resources/
288 |
289 | weight
290 | 20
291 |
292 | ^Resources/.*\.lproj/
293 |
294 | optional
295 |
296 | weight
297 | 1000
298 |
299 | ^Resources/.*\.lproj/locversion.plist$
300 |
301 | omit
302 |
303 | weight
304 | 1100
305 |
306 | ^Resources/Base\.lproj/
307 |
308 | weight
309 | 1010
310 |
311 | ^[^/]+$
312 |
313 | nested
314 |
315 | weight
316 | 10
317 |
318 | ^embedded\.provisionprofile$
319 |
320 | weight
321 | 20
322 |
323 | ^version\.plist$
324 |
325 | weight
326 | 20
327 |
328 |
329 |
330 |
331 |
--------------------------------------------------------------------------------
/NibFileViewer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/NibFileViewer.png
--------------------------------------------------------------------------------
/NibFileViewer.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | D82B5E7D1CA27F62006827B0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D82B5E7C1CA27F62006827B0 /* AppDelegate.swift */; };
11 | D82B5E7F1CA27F62006827B0 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D82B5E7E1CA27F62006827B0 /* ViewController.swift */; };
12 | D82B5E811CA27F62006827B0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D82B5E801CA27F62006827B0 /* Assets.xcassets */; };
13 | D82B5E841CA27F62006827B0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D82B5E821CA27F62006827B0 /* Main.storyboard */; };
14 | D82B5E8C1CA27FFC006827B0 /* DragView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D82B5E8B1CA27FFC006827B0 /* DragView.swift */; };
15 | D8B7AFF81CA38EFA00B196B1 /* Compiled Nib Opener.nib.zip in Resources */ = {isa = PBXBuildFile; fileRef = D8B7AFF71CA38EFA00B196B1 /* Compiled Nib Opener.nib.zip */; };
16 | D8B7AFFA1CA3914500B196B1 /* FileManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8B7AFF91CA3914500B196B1 /* FileManager.swift */; };
17 | /* End PBXBuildFile section */
18 |
19 | /* Begin PBXFileReference section */
20 | D82B5E791CA27F62006827B0 /* NibFileViewer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NibFileViewer.app; sourceTree = BUILT_PRODUCTS_DIR; };
21 | D82B5E7C1CA27F62006827B0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
22 | D82B5E7E1CA27F62006827B0 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
23 | D82B5E801CA27F62006827B0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
24 | D82B5E831CA27F62006827B0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
25 | D82B5E851CA27F62006827B0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
26 | D82B5E8B1CA27FFC006827B0 /* DragView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DragView.swift; sourceTree = ""; };
27 | D8B7AFF71CA38EFA00B196B1 /* Compiled Nib Opener.nib.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = "Compiled Nib Opener.nib.zip"; sourceTree = SOURCE_ROOT; };
28 | D8B7AFF91CA3914500B196B1 /* FileManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileManager.swift; sourceTree = ""; };
29 | /* End PBXFileReference section */
30 |
31 | /* Begin PBXFrameworksBuildPhase section */
32 | D82B5E761CA27F62006827B0 /* Frameworks */ = {
33 | isa = PBXFrameworksBuildPhase;
34 | buildActionMask = 2147483647;
35 | files = (
36 | );
37 | runOnlyForDeploymentPostprocessing = 0;
38 | };
39 | /* End PBXFrameworksBuildPhase section */
40 |
41 | /* Begin PBXGroup section */
42 | D82B5E701CA27F62006827B0 = {
43 | isa = PBXGroup;
44 | children = (
45 | D82B5E7B1CA27F62006827B0 /* NibFileViewer */,
46 | D82B5E7A1CA27F62006827B0 /* Products */,
47 | );
48 | sourceTree = "";
49 | };
50 | D82B5E7A1CA27F62006827B0 /* Products */ = {
51 | isa = PBXGroup;
52 | children = (
53 | D82B5E791CA27F62006827B0 /* NibFileViewer.app */,
54 | );
55 | name = Products;
56 | sourceTree = "";
57 | };
58 | D82B5E7B1CA27F62006827B0 /* NibFileViewer */ = {
59 | isa = PBXGroup;
60 | children = (
61 | D82B5E7C1CA27F62006827B0 /* AppDelegate.swift */,
62 | D8B7AFF91CA3914500B196B1 /* FileManager.swift */,
63 | D82B5E7E1CA27F62006827B0 /* ViewController.swift */,
64 | D82B5E801CA27F62006827B0 /* Assets.xcassets */,
65 | D8B7AFF71CA38EFA00B196B1 /* Compiled Nib Opener.nib.zip */,
66 | D82B5E821CA27F62006827B0 /* Main.storyboard */,
67 | D82B5E851CA27F62006827B0 /* Info.plist */,
68 | D82B5E8B1CA27FFC006827B0 /* DragView.swift */,
69 | );
70 | path = NibFileViewer;
71 | sourceTree = "";
72 | };
73 | /* End PBXGroup section */
74 |
75 | /* Begin PBXNativeTarget section */
76 | D82B5E781CA27F62006827B0 /* NibFileViewer */ = {
77 | isa = PBXNativeTarget;
78 | buildConfigurationList = D82B5E881CA27F62006827B0 /* Build configuration list for PBXNativeTarget "NibFileViewer" */;
79 | buildPhases = (
80 | D82B5E751CA27F62006827B0 /* Sources */,
81 | D82B5E761CA27F62006827B0 /* Frameworks */,
82 | D82B5E771CA27F62006827B0 /* Resources */,
83 | );
84 | buildRules = (
85 | );
86 | dependencies = (
87 | );
88 | name = NibFileViewer;
89 | productName = NibFileViewer;
90 | productReference = D82B5E791CA27F62006827B0 /* NibFileViewer.app */;
91 | productType = "com.apple.product-type.application";
92 | };
93 | /* End PBXNativeTarget section */
94 |
95 | /* Begin PBXProject section */
96 | D82B5E711CA27F62006827B0 /* Project object */ = {
97 | isa = PBXProject;
98 | attributes = {
99 | LastSwiftUpdateCheck = 0730;
100 | LastUpgradeCheck = 0820;
101 | ORGANIZATIONNAME = "星夜暮晨";
102 | TargetAttributes = {
103 | D82B5E781CA27F62006827B0 = {
104 | CreatedOnToolsVersion = 7.3;
105 | DevelopmentTeam = KNTXK6TU24;
106 | LastSwiftMigration = 0820;
107 | };
108 | };
109 | };
110 | buildConfigurationList = D82B5E741CA27F62006827B0 /* Build configuration list for PBXProject "NibFileViewer" */;
111 | compatibilityVersion = "Xcode 3.2";
112 | developmentRegion = English;
113 | hasScannedForEncodings = 0;
114 | knownRegions = (
115 | en,
116 | Base,
117 | );
118 | mainGroup = D82B5E701CA27F62006827B0;
119 | productRefGroup = D82B5E7A1CA27F62006827B0 /* Products */;
120 | projectDirPath = "";
121 | projectRoot = "";
122 | targets = (
123 | D82B5E781CA27F62006827B0 /* NibFileViewer */,
124 | );
125 | };
126 | /* End PBXProject section */
127 |
128 | /* Begin PBXResourcesBuildPhase section */
129 | D82B5E771CA27F62006827B0 /* Resources */ = {
130 | isa = PBXResourcesBuildPhase;
131 | buildActionMask = 2147483647;
132 | files = (
133 | D82B5E811CA27F62006827B0 /* Assets.xcassets in Resources */,
134 | D82B5E841CA27F62006827B0 /* Main.storyboard in Resources */,
135 | D8B7AFF81CA38EFA00B196B1 /* Compiled Nib Opener.nib.zip in Resources */,
136 | );
137 | runOnlyForDeploymentPostprocessing = 0;
138 | };
139 | /* End PBXResourcesBuildPhase section */
140 |
141 | /* Begin PBXSourcesBuildPhase section */
142 | D82B5E751CA27F62006827B0 /* Sources */ = {
143 | isa = PBXSourcesBuildPhase;
144 | buildActionMask = 2147483647;
145 | files = (
146 | D82B5E7F1CA27F62006827B0 /* ViewController.swift in Sources */,
147 | D8B7AFFA1CA3914500B196B1 /* FileManager.swift in Sources */,
148 | D82B5E7D1CA27F62006827B0 /* AppDelegate.swift in Sources */,
149 | D82B5E8C1CA27FFC006827B0 /* DragView.swift in Sources */,
150 | );
151 | runOnlyForDeploymentPostprocessing = 0;
152 | };
153 | /* End PBXSourcesBuildPhase section */
154 |
155 | /* Begin PBXVariantGroup section */
156 | D82B5E821CA27F62006827B0 /* Main.storyboard */ = {
157 | isa = PBXVariantGroup;
158 | children = (
159 | D82B5E831CA27F62006827B0 /* Base */,
160 | );
161 | name = Main.storyboard;
162 | sourceTree = "";
163 | };
164 | /* End PBXVariantGroup section */
165 |
166 | /* Begin XCBuildConfiguration section */
167 | D82B5E861CA27F62006827B0 /* Debug */ = {
168 | isa = XCBuildConfiguration;
169 | buildSettings = {
170 | ALWAYS_SEARCH_USER_PATHS = NO;
171 | CLANG_ANALYZER_NONNULL = YES;
172 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
173 | CLANG_CXX_LIBRARY = "libc++";
174 | CLANG_ENABLE_MODULES = YES;
175 | CLANG_ENABLE_OBJC_ARC = YES;
176 | CLANG_WARN_BOOL_CONVERSION = YES;
177 | CLANG_WARN_CONSTANT_CONVERSION = YES;
178 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
179 | CLANG_WARN_EMPTY_BODY = YES;
180 | CLANG_WARN_ENUM_CONVERSION = YES;
181 | CLANG_WARN_INFINITE_RECURSION = YES;
182 | CLANG_WARN_INT_CONVERSION = YES;
183 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
184 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
185 | CLANG_WARN_UNREACHABLE_CODE = YES;
186 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
187 | CODE_SIGN_IDENTITY = "-";
188 | COPY_PHASE_STRIP = NO;
189 | DEBUG_INFORMATION_FORMAT = dwarf;
190 | ENABLE_STRICT_OBJC_MSGSEND = YES;
191 | ENABLE_TESTABILITY = YES;
192 | GCC_C_LANGUAGE_STANDARD = gnu99;
193 | GCC_DYNAMIC_NO_PIC = NO;
194 | GCC_NO_COMMON_BLOCKS = YES;
195 | GCC_OPTIMIZATION_LEVEL = 0;
196 | GCC_PREPROCESSOR_DEFINITIONS = (
197 | "DEBUG=1",
198 | "$(inherited)",
199 | );
200 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
201 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
202 | GCC_WARN_UNDECLARED_SELECTOR = YES;
203 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
204 | GCC_WARN_UNUSED_FUNCTION = YES;
205 | GCC_WARN_UNUSED_VARIABLE = YES;
206 | MACOSX_DEPLOYMENT_TARGET = 10.11;
207 | MTL_ENABLE_DEBUG_INFO = YES;
208 | ONLY_ACTIVE_ARCH = YES;
209 | SDKROOT = macosx;
210 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
211 | };
212 | name = Debug;
213 | };
214 | D82B5E871CA27F62006827B0 /* Release */ = {
215 | isa = XCBuildConfiguration;
216 | buildSettings = {
217 | ALWAYS_SEARCH_USER_PATHS = NO;
218 | CLANG_ANALYZER_NONNULL = YES;
219 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
220 | CLANG_CXX_LIBRARY = "libc++";
221 | CLANG_ENABLE_MODULES = YES;
222 | CLANG_ENABLE_OBJC_ARC = YES;
223 | CLANG_WARN_BOOL_CONVERSION = YES;
224 | CLANG_WARN_CONSTANT_CONVERSION = YES;
225 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
226 | CLANG_WARN_EMPTY_BODY = YES;
227 | CLANG_WARN_ENUM_CONVERSION = YES;
228 | CLANG_WARN_INFINITE_RECURSION = YES;
229 | CLANG_WARN_INT_CONVERSION = YES;
230 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
231 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
232 | CLANG_WARN_UNREACHABLE_CODE = YES;
233 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
234 | CODE_SIGN_IDENTITY = "-";
235 | COPY_PHASE_STRIP = NO;
236 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
237 | ENABLE_NS_ASSERTIONS = NO;
238 | ENABLE_STRICT_OBJC_MSGSEND = YES;
239 | GCC_C_LANGUAGE_STANDARD = gnu99;
240 | GCC_NO_COMMON_BLOCKS = YES;
241 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
242 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
243 | GCC_WARN_UNDECLARED_SELECTOR = YES;
244 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
245 | GCC_WARN_UNUSED_FUNCTION = YES;
246 | GCC_WARN_UNUSED_VARIABLE = YES;
247 | MACOSX_DEPLOYMENT_TARGET = 10.11;
248 | MTL_ENABLE_DEBUG_INFO = NO;
249 | SDKROOT = macosx;
250 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
251 | };
252 | name = Release;
253 | };
254 | D82B5E891CA27F62006827B0 /* Debug */ = {
255 | isa = XCBuildConfiguration;
256 | buildSettings = {
257 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
258 | CODE_SIGN_IDENTITY = "Mac Developer";
259 | "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
260 | COMBINE_HIDPI_IMAGES = YES;
261 | INFOPLIST_FILE = NibFileViewer/Info.plist;
262 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
263 | MACOSX_DEPLOYMENT_TARGET = 10.10;
264 | PRODUCT_BUNDLE_IDENTIFIER = "com.1-xing.NibFileViewer";
265 | PRODUCT_NAME = "$(TARGET_NAME)";
266 | PROVISIONING_PROFILE = "";
267 | SWIFT_VERSION = 3.0;
268 | };
269 | name = Debug;
270 | };
271 | D82B5E8A1CA27F62006827B0 /* Release */ = {
272 | isa = XCBuildConfiguration;
273 | buildSettings = {
274 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
275 | CODE_SIGN_IDENTITY = "Mac Developer";
276 | "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer";
277 | COMBINE_HIDPI_IMAGES = YES;
278 | INFOPLIST_FILE = NibFileViewer/Info.plist;
279 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
280 | MACOSX_DEPLOYMENT_TARGET = 10.10;
281 | PRODUCT_BUNDLE_IDENTIFIER = "com.1-xing.NibFileViewer";
282 | PRODUCT_NAME = "$(TARGET_NAME)";
283 | PROVISIONING_PROFILE = "";
284 | SWIFT_VERSION = 3.0;
285 | };
286 | name = Release;
287 | };
288 | /* End XCBuildConfiguration section */
289 |
290 | /* Begin XCConfigurationList section */
291 | D82B5E741CA27F62006827B0 /* Build configuration list for PBXProject "NibFileViewer" */ = {
292 | isa = XCConfigurationList;
293 | buildConfigurations = (
294 | D82B5E861CA27F62006827B0 /* Debug */,
295 | D82B5E871CA27F62006827B0 /* Release */,
296 | );
297 | defaultConfigurationIsVisible = 0;
298 | defaultConfigurationName = Release;
299 | };
300 | D82B5E881CA27F62006827B0 /* Build configuration list for PBXNativeTarget "NibFileViewer" */ = {
301 | isa = XCConfigurationList;
302 | buildConfigurations = (
303 | D82B5E891CA27F62006827B0 /* Debug */,
304 | D82B5E8A1CA27F62006827B0 /* Release */,
305 | );
306 | defaultConfigurationIsVisible = 0;
307 | defaultConfigurationName = Release;
308 | };
309 | /* End XCConfigurationList section */
310 | };
311 | rootObject = D82B5E711CA27F62006827B0 /* Project object */;
312 | }
313 |
--------------------------------------------------------------------------------
/NibFileViewer.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/NibFileViewer/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // NibFileViewer
4 | //
5 | // Created by Semper_Idem on 16/3/23.
6 | // Copyright © 2016年 星夜暮晨. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | @NSApplicationMain
12 | class AppDelegate: NSObject, NSApplicationDelegate {
13 |
14 | func applicationDidFinishLaunching(_ aNotification: Notification) {
15 | // Insert code here to initialize your application
16 | }
17 |
18 | func applicationWillTerminate(_ aNotification: Notification) {
19 | // Insert code here to tear down your application
20 | }
21 |
22 | func application(_ sender: NSApplication, openFile filename: String) -> Bool {
23 | return true
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/NibFileViewer/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "16x16",
5 | "idiom" : "mac",
6 | "filename" : "NibFileViewerLogoMacMicro_16pt.png",
7 | "scale" : "1x"
8 | },
9 | {
10 | "size" : "16x16",
11 | "idiom" : "mac",
12 | "filename" : "NibFileViewerLogoMacMicro_16pt@2x.png",
13 | "scale" : "2x"
14 | },
15 | {
16 | "size" : "32x32",
17 | "idiom" : "mac",
18 | "filename" : "NibFileViewerLogoMacSmall_32pt.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "32x32",
23 | "idiom" : "mac",
24 | "filename" : "NibFileViewerLogoMacSmall_32pt@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "128x128",
29 | "idiom" : "mac",
30 | "filename" : "NibFileViewerLogoMacMedium_128pt.png",
31 | "scale" : "1x"
32 | },
33 | {
34 | "size" : "128x128",
35 | "idiom" : "mac",
36 | "filename" : "NibFileViewerLogoMacMedium_128pt@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "256x256",
41 | "idiom" : "mac",
42 | "filename" : "NibFileViewerLogoMacLarge_256pt.png",
43 | "scale" : "1x"
44 | },
45 | {
46 | "size" : "256x256",
47 | "idiom" : "mac",
48 | "filename" : "NibFileViewerLogoMacLarge_256pt@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "512x512",
53 | "idiom" : "mac",
54 | "filename" : "NibFileViewerLogoMacHuge_512pt.png",
55 | "scale" : "1x"
56 | },
57 | {
58 | "size" : "512x512",
59 | "idiom" : "mac",
60 | "filename" : "NibFileViewerLogoMacHuge_512pt@2x.png",
61 | "scale" : "2x"
62 | }
63 | ],
64 | "info" : {
65 | "version" : 1,
66 | "author" : "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacHuge_512pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacHuge_512pt.png
--------------------------------------------------------------------------------
/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacHuge_512pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacHuge_512pt@2x.png
--------------------------------------------------------------------------------
/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacLarge_256pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacLarge_256pt.png
--------------------------------------------------------------------------------
/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacLarge_256pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacLarge_256pt@2x.png
--------------------------------------------------------------------------------
/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacMedium_128pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacMedium_128pt.png
--------------------------------------------------------------------------------
/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacMedium_128pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacMedium_128pt@2x.png
--------------------------------------------------------------------------------
/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacMicro_16pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacMicro_16pt.png
--------------------------------------------------------------------------------
/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacMicro_16pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacMicro_16pt@2x.png
--------------------------------------------------------------------------------
/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacSmall_32pt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacSmall_32pt.png
--------------------------------------------------------------------------------
/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacSmall_32pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Moonisky/NibFileViewer/e5706fc0ff70891eda2cc40e08e151f751ecb1e0/NibFileViewer/Assets.xcassets/AppIcon.appiconset/NibFileViewerLogoMacSmall_32pt@2x.png
--------------------------------------------------------------------------------
/NibFileViewer/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
--------------------------------------------------------------------------------
/NibFileViewer/DragView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DragView.swift
3 | // NibFileViewer
4 | //
5 | // Created by Semper_Idem on 16/3/23.
6 | // Copyright © 2016年 星夜暮晨. All rights reserved.
7 | //
8 |
9 | import AppKit
10 |
11 | class DragView: NSView {
12 |
13 | fileprivate var isHighlight = false
14 |
15 | override func draw(_ dirtyRect: NSRect) {
16 | super.draw(dirtyRect)
17 |
18 | let rect = frame.insetBy(dx: 5, dy: 5)
19 | guard let context = NSGraphicsContext.current()?.cgContext else { return }
20 | context.setLineWidth(8)
21 | context.setLineDash(phase: 0, lengths: [55, 25])
22 | context.setStrokeColor(CGColor(red: 0.5, green: 0.5, blue: 0.5, alpha: 1))
23 | context.stroke(NSRectToCGRect(rect))
24 |
25 | let text = isHighlight ? "Release and it will be opened by Xcode" : "Drag nib files here"
26 | let style = NSMutableParagraphStyle.default().mutableCopy() as? NSMutableParagraphStyle
27 | style?.alignment = .center
28 |
29 | (text as NSString).draw(
30 | in: NSRect(x: 0, y: rect.origin.y / 2 + 30, width: rect.width, height: rect.height / 2),
31 | withAttributes: [
32 | NSFontAttributeName: NSFont(name: "Helvetica", size: 30)!,
33 | NSParagraphStyleAttributeName: style!,
34 | NSForegroundColorAttributeName: NSColor.gray
35 | ])
36 | }
37 |
38 | override func draggingEntered(_ sender: NSDraggingInfo) -> NSDragOperation {
39 | super.draggingEntered(sender)
40 |
41 | isHighlight = true
42 | needsDisplay = true
43 |
44 | return .generic
45 | }
46 |
47 | override func draggingUpdated(_ sender: NSDraggingInfo) -> NSDragOperation {
48 | super.draggingUpdated(sender)
49 |
50 | return .generic
51 | }
52 |
53 | override func draggingExited(_ sender: NSDraggingInfo?) {
54 | super.draggingExited(sender)
55 |
56 | isHighlight = false
57 | needsDisplay = true
58 | }
59 |
60 | override func prepareForDragOperation(_ sender: NSDraggingInfo) -> Bool {
61 | isHighlight = false
62 | needsDisplay = true
63 |
64 | return true
65 | }
66 |
67 | override func performDragOperation(_ sender: NSDraggingInfo) -> Bool {
68 | let pasteBoard = sender.draggingPasteboard()
69 |
70 | if let types = pasteBoard.types, types.contains(NSFilenamesPboardType) {
71 | guard let files = pasteBoard.propertyList(forType: NSFilenamesPboardType) as? [String] else { return false }
72 | for file in files {
73 | FileManager.openNibFile(file)
74 | }
75 | }
76 | return true
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/NibFileViewer/FileManager.swift:
--------------------------------------------------------------------------------
1 | //
2 | // FileManager.swift
3 | // NibFileViewer
4 | //
5 | // Created by Semper_Idem on 16/3/24.
6 | // Copyright © 2016年 星夜暮晨. All rights reserved.
7 | //
8 |
9 | import AppKit
10 |
11 | class FileManager {
12 |
13 | static var openerNibPath = ""
14 |
15 | class func openNibFile(_ nib: String) {
16 | do {
17 | let fileManager = Foundation.FileManager.default
18 |
19 | // Step 1:拷贝 Compiled Nib Opener 到临时目录
20 | guard let nibURL = URL(string: nib) else { return }
21 | let component = nibURL.lastPathComponent
22 | let destination = NSTemporaryDirectory() + component
23 | print("目标路径:" + destination)
24 | if fileManager.fileExists(atPath: destination) {
25 | try fileManager.removeItem(atPath: destination)
26 | }
27 | try fileManager.copyItem(atPath: openerNibPath, toPath: destination)
28 |
29 | // Step 2:覆盖 keyedobjects.nib 文件
30 | let keyed = destination + "/" + "keyedobjects.nib"
31 | if fileManager.fileExists(atPath: destination) {
32 | try fileManager.removeItem(atPath: keyed)
33 | }
34 | try fileManager.copyItem(atPath: nib, toPath: keyed)
35 |
36 | // Step 3:用 Xcode 打开
37 | if !NSWorkspace.shared().openFile(destination, withApplication: "Xcode") {
38 | throw NSError(domain: NSPOSIXErrorDomain, code: Int(ENOEXEC), userInfo: nil)
39 | }
40 | } catch let error as NSError {
41 | NSAlert(error: error).runModal()
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/NibFileViewer/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | Nib File Viewer
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIconFile
12 |
13 | CFBundleIdentifier
14 | $(PRODUCT_BUNDLE_IDENTIFIER)
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundleName
18 | $(PRODUCT_NAME)
19 | CFBundlePackageType
20 | APPL
21 | CFBundleShortVersionString
22 | 1.0
23 | CFBundleSignature
24 | ????
25 | CFBundleVersion
26 | 1
27 | LSApplicationCategoryType
28 | public.app-category.developer-tools
29 | LSMinimumSystemVersion
30 | $(MACOSX_DEPLOYMENT_TARGET)
31 | NSHumanReadableCopyright
32 | Copyright © 2016年 星夜暮晨. All rights reserved.
33 | NSMainStoryboardFile
34 | Main
35 | NSPrincipalClass
36 | NSApplication
37 |
38 |
39 |
--------------------------------------------------------------------------------
/NibFileViewer/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // NibFileViewer
4 | //
5 | // Created by Semper_Idem on 16/3/23.
6 | // Copyright © 2016年 星夜暮晨. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | class ViewController: NSViewController {
12 |
13 | @IBOutlet fileprivate var dargView: DragView!
14 |
15 | override func viewDidLoad() {
16 | super.viewDidLoad()
17 |
18 | guard let openZip = Bundle.main.path(forResource: "Compiled Nib Opener.nib", ofType: "zip") else { return }
19 | let zipTask = Process.launchedProcess(launchPath: "/usr/bin/unzip", arguments: [
20 | "-u", openZip, "-d", NSTemporaryDirectory()
21 | ])
22 | zipTask.waitUntilExit()
23 | FileManager.openerNibPath = NSTemporaryDirectory() + "Compiled Nib Opener.nib"
24 |
25 | dargView.register(forDraggedTypes: [NSFilenamesPboardType])
26 | }
27 |
28 | override var representedObject: Any? {
29 | didSet {
30 | // Update the view, if already loaded.
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Nib File Viewer
2 | A small Cocoa Application for viewing compiled nib files by Xcode.
3 |
4 | 
5 |
6 | ###Requirements
7 |
8 | OS X 10.10+
9 |
10 | ### Install
11 |
12 | You can download from [here](https://github.com/SemperIdem/NibFileViewer/tree/master/Nib%20File%20Viewer), or build it from sources.
--------------------------------------------------------------------------------