├── .gitignore
├── .gitmodules
├── ASCIImage Super Studio.entitlements
├── ASCIImage Super Studio.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ └── contents.xcworkspacedata
└── xcuserdata
│ └── mz2.xcuserdatad
│ ├── xcdebugger
│ └── Breakpoints_v2.xcbkptlist
│ └── xcschemes
│ ├── ASCIImage Super Studio.xcscheme
│ ├── ASCIImageQuickLook.xcscheme
│ └── xcschememanagement.plist
├── ASCIImage
└── main.m
├── ASCIImageQuickLook
├── GeneratePreviewForURL.m
├── GenerateThumbnailForURL.m
├── Info.plist
├── MPASCIImagePreviewUtility.h
├── MPASCIImagePreviewUtility.m
└── main.c
├── ASCIImagination
├── Base.lproj
│ └── Main.storyboard
├── Images.xcassets
│ └── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── app-icon-128.png
│ │ └── app-icon-64.png
├── Info.plist
├── MPASCIImageDocument.h
├── MPASCIImageDocument.m
├── MPASCIImageEditorViewController.h
├── MPASCIImageEditorViewController.m
├── MPASCIImagePreviewViewController.h
├── MPASCIImagePreviewViewController.m
├── MPASCIImageTextViewController.h
├── MPASCIImageTextViewController.m
├── MPASCIImageView.h
├── MPASCIImageView.m
├── MPASCIImaginationAppDelegate.h
├── MPASCIImaginationAppDelegate.m
├── MPGeneralPreferencesViewController.h
├── MPGeneralPreferencesViewController.m
├── MPGeneralPreferencesViewController.xib
├── MPLayeredASCIImageRenderer.h
├── MPLayeredASCIImageRenderer.m
├── NSString+ASCII.h
├── NSString+ASCII.m
├── app-icon-128.png
├── app-icon-64.png
├── app-icon.asciimage
├── app-icon.png
└── main.m
├── ASCIImaginationTests
├── ASCIImaginationTests.m
└── Info.plist
├── LICENSE
├── Libraries
└── HockeySDK-Mac
│ ├── BuildAgent
│ ├── HockeySDK.framework.dSYM
│ └── Contents
│ │ ├── Info.plist
│ │ └── Resources
│ │ └── DWARF
│ │ └── HockeySDK
│ └── HockeySDK.framework
│ ├── Frameworks
│ ├── Headers
│ ├── HockeySDK
│ ├── Resources
│ └── Versions
│ ├── A
│ ├── Frameworks
│ │ └── CrashReporter.framework
│ │ │ ├── CrashReporter
│ │ │ ├── Headers
│ │ │ ├── Resources
│ │ │ └── Versions
│ │ │ ├── A
│ │ │ ├── CrashReporter
│ │ │ ├── Headers
│ │ │ │ ├── CrashReporter.h
│ │ │ │ ├── PLCrashFeatureConfig.h
│ │ │ │ ├── PLCrashNamespace.h
│ │ │ │ ├── PLCrashReport.h
│ │ │ │ ├── PLCrashReportApplicationInfo.h
│ │ │ │ ├── PLCrashReportBinaryImageInfo.h
│ │ │ │ ├── PLCrashReportExceptionInfo.h
│ │ │ │ ├── PLCrashReportFormatter.h
│ │ │ │ ├── PLCrashReportMachExceptionInfo.h
│ │ │ │ ├── PLCrashReportMachineInfo.h
│ │ │ │ ├── PLCrashReportProcessInfo.h
│ │ │ │ ├── PLCrashReportProcessorInfo.h
│ │ │ │ ├── PLCrashReportRegisterInfo.h
│ │ │ │ ├── PLCrashReportSignalInfo.h
│ │ │ │ ├── PLCrashReportStackFrameInfo.h
│ │ │ │ ├── PLCrashReportSymbolInfo.h
│ │ │ │ ├── PLCrashReportSystemInfo.h
│ │ │ │ ├── PLCrashReportTextFormatter.h
│ │ │ │ ├── PLCrashReportThreadInfo.h
│ │ │ │ ├── PLCrashReporter.h
│ │ │ │ └── PLCrashReporterConfig.h
│ │ │ ├── Resources
│ │ │ │ └── Info.plist
│ │ │ └── _CodeSignature
│ │ │ │ └── CodeResources
│ │ │ └── Current
│ ├── Headers
│ │ ├── BITCrashDetails.h
│ │ ├── BITCrashExceptionApplication.h
│ │ ├── BITCrashManager.h
│ │ ├── BITCrashManagerDelegate.h
│ │ ├── BITCrashMetaData.h
│ │ ├── BITFeedbackManager.h
│ │ ├── BITFeedbackWindowController.h
│ │ ├── BITHockeyAttachment.h
│ │ ├── BITHockeyBaseManager.h
│ │ ├── BITHockeyManager.h
│ │ ├── BITHockeyManagerDelegate.h
│ │ ├── BITSystemProfile.h
│ │ └── HockeySDK.h
│ ├── HockeySDK
│ ├── Resources
│ │ ├── BITCrashReportUI.nib
│ │ ├── BITFeedbackWindowController.nib
│ │ ├── Info.plist
│ │ ├── de.lproj
│ │ │ └── HockeySDK.strings
│ │ ├── en.lproj
│ │ │ └── HockeySDK.strings
│ │ ├── fi.lproj
│ │ │ └── HockeySDK.strings
│ │ ├── fr.lproj
│ │ │ └── HockeySDK.strings
│ │ ├── it.lproj
│ │ │ └── HockeySDK.strings
│ │ ├── ja.lproj
│ │ │ └── HockeySDK.strings
│ │ ├── nb.lproj
│ │ │ └── HockeySDK.strings
│ │ └── sv.lproj
│ │ │ └── HockeySDK.strings
│ └── _CodeSignature
│ │ └── CodeResources
│ └── Current
├── README.md
└── Script
└── set-bundle-version.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | build/
4 | *.pbxuser
5 | !default.pbxuser
6 | *.mode1v3
7 | !default.mode1v3
8 | *.mode2v3
9 | !default.mode2v3
10 | *.perspectivev3
11 | !default.perspectivev3
12 | xcuserdata
13 | *.xccheckout
14 | *.moved-aside
15 | DerivedData
16 | *.hmap
17 | *.ipa
18 | *.xcuserstate
19 |
20 | # CocoaPods
21 | #
22 | # We recommend against adding the Pods directory to your .gitignore. However
23 | # you should judge for yourself, the pros and cons are mentioned at:
24 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
25 | #
26 | # Pods/
27 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "ASCIImage"]
2 | path = ASCIImage
3 | url = git@github.com:mz2/ASCIImage.git
4 | [submodule "External/ASCIImage.git"]
5 | path = External/ASCIImage.git
6 | url = git@github.com:mz2/ASCIImage.git
7 | [submodule "External/ASCIImage"]
8 | path = External/ASCIImage
9 | url = git@github.com:mz2/ASCIImage.git
10 | [submodule "External/MASPreferences"]
11 | path = External/MASPreferences
12 | url = git@github.com:mz2/MASPreferences.git
13 | [submodule "External/BFColorPickerPopover"]
14 | path = External/BFColorPickerPopover
15 | url = git@github.com:mz2/BFColorPickerPopover.git
16 | [submodule "External/Sparkle"]
17 | path = External/Sparkle
18 | url = git@github.com:mpapp/Sparkle.git
19 | [submodule "External/ArgumentParser"]
20 | path = External/ArgumentParser
21 | url = git@github.com:mz2/ArgumentParser.git
22 |
--------------------------------------------------------------------------------
/ASCIImage Super Studio.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.app-sandbox
6 |
7 | com.apple.security.files.downloads.read-write
8 |
9 | com.apple.security.files.user-selected.read-write
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/ASCIImage Super Studio.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ASCIImage Super Studio.xcodeproj/xcuserdata/mz2.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
8 |
14 |
15 |
16 |
18 |
30 |
31 |
32 |
34 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/ASCIImage Super Studio.xcodeproj/xcuserdata/mz2.xcuserdatad/xcschemes/ASCIImage Super Studio.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
38 |
39 |
44 |
45 |
47 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
65 |
66 |
75 |
77 |
83 |
84 |
85 |
86 |
87 |
88 |
94 |
96 |
102 |
103 |
104 |
105 |
107 |
108 |
111 |
112 |
113 |
--------------------------------------------------------------------------------
/ASCIImage Super Studio.xcodeproj/xcuserdata/mz2.xcuserdatad/xcschemes/ASCIImageQuickLook.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
42 |
43 |
49 |
50 |
51 |
52 |
53 |
54 |
60 |
61 |
67 |
68 |
69 |
70 |
72 |
73 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/ASCIImage Super Studio.xcodeproj/xcuserdata/mz2.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | ASCIImage Super Studio.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 | ASCIImage.xcscheme
13 |
14 | orderHint
15 | 5
16 |
17 | ASCIImageQuickLook.xcscheme
18 |
19 | orderHint
20 | 1
21 |
22 | asciimage.xcscheme
23 |
24 | orderHint
25 | 11
26 |
27 |
28 | SuppressBuildableAutocreation
29 |
30 | 5F2A7F3E1AB73F12006F5CFB
31 |
32 | primary
33 |
34 |
35 | 5F2A7F571AB73F12006F5CFB
36 |
37 | primary
38 |
39 |
40 | 5F2CD8841ABD9E5B001A4B27
41 |
42 | primary
43 |
44 |
45 | 5F2CD8C81ABDA7F0001A4B27
46 |
47 | primary
48 |
49 |
50 | 5FB8CA271AB98DB30047ECF3
51 |
52 | primary
53 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/ASCIImage/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // asciimage
4 | //
5 | // Created by Matias Piipari on 21/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #import "FSArgumentSignature.h"
12 | #import "FSArgumentPackage.h"
13 | #import "NSProcessInfo+FSArgumentParser.h"
14 |
15 | #import "PARImage+ASCIIInput.h"
16 | #import "NSString+ASCII.h"
17 | #import "MPLayeredASCIImageRenderer.h"
18 |
19 | int main(int argc, const char * argv[]) {
20 | @autoreleasepool {
21 | NSFileHandle *input = [NSFileHandle fileHandleWithStandardInput];
22 | NSData *inputData = [NSData dataWithData:[input readDataToEndOfFile]];
23 | NSString *inputString = [[NSString alloc] initWithData:inputData encoding:NSUTF8StringEncoding];
24 |
25 | FSArgumentSignature *antialiasArg = [FSArgumentSignature argumentSignatureWithFormat:@"[-a --no-antialias]"];
26 | FSArgumentSignature *closeArg = [FSArgumentSignature argumentSignatureWithFormat:@"[-c --close]"];
27 | FSArgumentSignature *strokeWidthArg = [FSArgumentSignature argumentSignatureWithFormat:@"[-s --stroke]="];
28 | FSArgumentSignature *scaleArg = [FSArgumentSignature argumentSignatureWithFormat:@"[-z --scale]="];
29 |
30 | NSArray *signatures = @[ antialiasArg, closeArg, strokeWidthArg, scaleArg ];
31 |
32 | FSArgumentPackage *package = [NSProcessInfo.processInfo fsargs_parseArgumentsWithSignatures:signatures];
33 |
34 | BOOL antialias = ![package booleanValueForSignature:antialiasArg];
35 | BOOL close = [package booleanValueForSignature:closeArg];
36 |
37 | id strokeWidthObj = [package firstObjectForSignature:strokeWidthArg] ;
38 | CGFloat strokeWidth = strokeWidthObj ? [strokeWidthObj floatValue] : 1.0f;
39 |
40 | id scaleObj = [package firstObjectForSignature:scaleArg];
41 | CGFloat scale = scaleObj ? [scaleObj floatValue] : 20.0f;
42 |
43 | MPLayeredASCIImageRenderer *renderer = [MPLayeredASCIImageRenderer new];
44 |
45 | NSLog(@"Close: %@", @(close));
46 |
47 | NSImage *img = [renderer imageWithLayeredASCIIString:inputString
48 | scale:scale
49 | strokeWidth:strokeWidth
50 | strokeColor:[NSColor blackColor]
51 | fillColor:nil
52 | closeShape:close
53 | antialias:antialias];
54 |
55 | if (img) {
56 | CGImageRef cgRef = [img CGImageForProposedRect:NULL context:nil hints:nil];
57 | NSBitmapImageRep *newRep = [[NSBitmapImageRep alloc] initWithCGImage:cgRef];
58 | [newRep setSize:[img size]]; // if you want the same resolution
59 | NSData *pngData = [newRep representationUsingType:NSPNGFileType properties:nil];
60 |
61 | NSFileHandle *stdout = [NSFileHandle fileHandleWithStandardOutput];
62 | [stdout writeData: pngData];
63 | }
64 | else {
65 | return -1;
66 | }
67 | }
68 | return 0;
69 | }
70 |
--------------------------------------------------------------------------------
/ASCIImageQuickLook/GeneratePreviewForURL.m:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import
4 |
5 | #import "PARImage+ASCIIInput.h"
6 |
7 | #import "MPASCIImagePreviewUtility.h"
8 |
9 | OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options);
10 | void CancelPreviewGeneration(void *thisInterface, QLPreviewRequestRef preview);
11 |
12 | /* -----------------------------------------------------------------------------
13 | Generate a preview for file
14 |
15 | This function's job is to create preview for designated file
16 | ----------------------------------------------------------------------------- */
17 |
18 | OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options)
19 | {
20 | NSError *err = nil;
21 | NSImage *img = [MPASCIImagePreviewUtility ASCIImageWithContentsOfURL:(__bridge NSURL *)url error:&err];
22 |
23 | if (!img) {
24 | return -1;
25 | }
26 |
27 | CGImageRef cgRef = [img CGImageForProposedRect:NULL context:nil hints:nil];
28 | NSBitmapImageRep *newRep = [[NSBitmapImageRep alloc] initWithCGImage:cgRef];
29 |
30 | CGSize canvasSize = img.size;
31 | [newRep setSize:canvasSize];
32 |
33 | NSData *pngData = [newRep representationUsingType:NSPNGFileType properties:nil];
34 | CGContextRef cgContext = QLPreviewRequestCreateContext(preview, *(CGSize *)&canvasSize, true, NULL);
35 | if(cgContext) {
36 | CGDataProviderRef imgDataProvider = CGDataProviderCreateWithCFData((__bridge CFDataRef)pngData);
37 | CGImageRef image = CGImageCreateWithPNGDataProvider(imgDataProvider, NULL, true, kCGRenderingIntentDefault);
38 | CGContextDrawImage(cgContext,CGRectMake(0, 0, canvasSize.width, canvasSize.height), image);
39 | QLPreviewRequestFlushContext(preview, cgContext);
40 |
41 | CFRelease(cgContext);
42 | CFRelease(image);
43 | }
44 |
45 | return noErr;
46 | }
47 |
48 | void CancelPreviewGeneration(void *thisInterface, QLPreviewRequestRef preview)
49 | {
50 | // Implement only if supported
51 | }
52 |
--------------------------------------------------------------------------------
/ASCIImageQuickLook/GenerateThumbnailForURL.m:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import
4 |
5 | #import "PARImage+ASCIIInput.h"
6 |
7 | #import "MPASCIImagePreviewUtility.h"
8 |
9 | OSStatus GenerateThumbnailForURL(void *thisInterface, QLThumbnailRequestRef thumbnail, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options, CGSize maxSize);
10 | void CancelThumbnailGeneration(void *thisInterface, QLThumbnailRequestRef thumbnail);
11 |
12 | /* -----------------------------------------------------------------------------
13 | Generate a thumbnail for file
14 |
15 | This function's job is to create thumbnail for designated file as fast as possible
16 | ----------------------------------------------------------------------------- */
17 |
18 | OSStatus GenerateThumbnailForURL(void *thisInterface, QLThumbnailRequestRef thumbnail, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options, CGSize maxSize)
19 | {
20 | NSError *err = nil;
21 | NSImage *img = [MPASCIImagePreviewUtility ASCIImageWithContentsOfURL:(__bridge NSURL *)url error:&err];
22 |
23 | if (!img) {
24 | return -1;
25 | }
26 |
27 | CGImageRef cgRef = [img CGImageForProposedRect:NULL context:nil hints:nil];
28 | NSLog(@"Created CG ref.");
29 |
30 | NSBitmapImageRep *newRep = [[NSBitmapImageRep alloc] initWithCGImage:cgRef];
31 | NSData *pngData = [newRep representationUsingType:NSPNGFileType properties:nil];
32 | NSLog(@"Created PNG data.");
33 |
34 | NSSize imgSize = img.size;
35 | [newRep setSize:imgSize];
36 |
37 | QLThumbnailRequestSetImageWithData(thumbnail, (__bridge CFDataRef)pngData, NULL);
38 |
39 | return noErr;
40 | }
41 |
42 | void CancelThumbnailGeneration(void *thisInterface, QLThumbnailRequestRef thumbnail)
43 | {
44 | // Implement only if supported
45 | }
46 |
--------------------------------------------------------------------------------
/ASCIImageQuickLook/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDocumentTypes
8 |
9 |
10 | CFBundleTypeRole
11 | QLGenerator
12 | LSItemContentTypes
13 |
14 | com.findingsapp.asciimage
15 |
16 |
17 |
18 | CFBundleExecutable
19 | $(EXECUTABLE_NAME)
20 | CFBundleIdentifier
21 | com.manuscripts.$(PRODUCT_NAME:rfc1034identifier)
22 | CFBundleInfoDictionaryVersion
23 | 6.0
24 | CFBundleName
25 | $(PRODUCT_NAME)
26 | CFBundleShortVersionString
27 | 1.0
28 | CFBundleSignature
29 | ????
30 | CFBundleVersion
31 | 1
32 | CFPlugInDynamicRegisterFunction
33 |
34 | CFPlugInDynamicRegistration
35 | NO
36 | CFPlugInFactories
37 |
38 | 27D29205-0671-4BEB-9206-0056371987A7
39 | QuickLookGeneratorPluginFactory
40 |
41 | CFPlugInTypes
42 |
43 | 5E2D9680-5022-40FA-B806-43349622E5B9
44 |
45 | 27D29205-0671-4BEB-9206-0056371987A7
46 |
47 |
48 | CFPlugInUnloadFunction
49 |
50 | NSHumanReadableCopyright
51 | Copyright © 2015 Manuscripts.app Limited. All rights reserved.
52 | QLNeedsToBeRunInMainThread
53 |
54 | QLPreviewHeight
55 | 600
56 | QLPreviewWidth
57 | 800
58 | QLSupportsConcurrentRequests
59 |
60 | QLThumbnailMinimumSize
61 | 17
62 |
63 |
64 |
--------------------------------------------------------------------------------
/ASCIImageQuickLook/MPASCIImagePreviewUtility.h:
--------------------------------------------------------------------------------
1 | //
2 | // MPASCIImagePreviewUtility.h
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 18/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface MPASCIImagePreviewUtility : NSObject
12 |
13 | + (NSImage *)ASCIImageWithContentsOfURL:(NSURL *)url error:(NSError **)err;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/ASCIImageQuickLook/MPASCIImagePreviewUtility.m:
--------------------------------------------------------------------------------
1 | //
2 | // MPASCIImagePreviewUtility.m
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 18/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import "MPASCIImagePreviewUtility.h"
10 |
11 | #import "PARImage+ASCIIInput.h"
12 |
13 | @implementation MPASCIImagePreviewUtility
14 |
15 | + (NSImage *)ASCIImageWithContentsOfURL:(NSURL *)url error:(NSError **)err {
16 | NSString *asciiStr = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:err];
17 | NSArray *asciiStrs = [asciiStr componentsSeparatedByString:@"\n"];
18 |
19 | NSImage *img = [NSImage imageWithASCIIRepresentation:asciiStrs contextHandler:^(NSMutableDictionary *context)
20 | {
21 | context[ASCIIContextScale] = @(50.0f);
22 | context[ASCIIContextLineWidth] = @(3.0f);
23 | context[ASCIIContextStrokeColor] = [NSColor blackColor];
24 | context[ASCIIContextShouldClose] = @(YES);
25 | context[ASCIIContextShouldAntialias] = @(YES);
26 | }];
27 |
28 | return img;
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/ASCIImageQuickLook/main.c:
--------------------------------------------------------------------------------
1 | //==============================================================================
2 | //
3 | // DO NO MODIFY THE CONTENT OF THIS FILE
4 | //
5 | // This file contains the generic CFPlug-in code necessary for your generator
6 | // To complete your generator implement the function in GenerateThumbnailForURL/GeneratePreviewForURL.c
7 | //
8 | //==============================================================================
9 |
10 |
11 |
12 |
13 |
14 |
15 | #include
16 | #include
17 | #include
18 | #include
19 |
20 | // -----------------------------------------------------------------------------
21 | // constants
22 | // -----------------------------------------------------------------------------
23 |
24 | // Don't modify this line
25 | #define PLUGIN_ID "27D29205-0671-4BEB-9206-0056371987A7"
26 |
27 | //
28 | // Below is the generic glue code for all plug-ins.
29 | //
30 | // You should not have to modify this code aside from changing
31 | // names if you decide to change the names defined in the Info.plist
32 | //
33 |
34 |
35 | // -----------------------------------------------------------------------------
36 | // typedefs
37 | // -----------------------------------------------------------------------------
38 |
39 | // The thumbnail generation function to be implemented in GenerateThumbnailForURL.c
40 | OSStatus GenerateThumbnailForURL(void *thisInterface, QLThumbnailRequestRef thumbnail, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options, CGSize maxSize);
41 | void CancelThumbnailGeneration(void* thisInterface, QLThumbnailRequestRef thumbnail);
42 |
43 | // The preview generation function to be implemented in GeneratePreviewForURL.c
44 | OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options);
45 | void CancelPreviewGeneration(void *thisInterface, QLPreviewRequestRef preview);
46 |
47 | // The layout for an instance of QuickLookGeneratorPlugIn
48 | typedef struct __QuickLookGeneratorPluginType
49 | {
50 | void *conduitInterface;
51 | CFUUIDRef factoryID;
52 | UInt32 refCount;
53 | } QuickLookGeneratorPluginType;
54 |
55 | // -----------------------------------------------------------------------------
56 | // prototypes
57 | // -----------------------------------------------------------------------------
58 | // Forward declaration for the IUnknown implementation.
59 | //
60 |
61 | QuickLookGeneratorPluginType *AllocQuickLookGeneratorPluginType(CFUUIDRef inFactoryID);
62 | void DeallocQuickLookGeneratorPluginType(QuickLookGeneratorPluginType *thisInstance);
63 | HRESULT QuickLookGeneratorQueryInterface(void *thisInstance,REFIID iid,LPVOID *ppv);
64 | void *QuickLookGeneratorPluginFactory(CFAllocatorRef allocator,CFUUIDRef typeID);
65 | ULONG QuickLookGeneratorPluginAddRef(void *thisInstance);
66 | ULONG QuickLookGeneratorPluginRelease(void *thisInstance);
67 |
68 | // -----------------------------------------------------------------------------
69 | // myInterfaceFtbl definition
70 | // -----------------------------------------------------------------------------
71 | // The QLGeneratorInterfaceStruct function table.
72 | //
73 | static QLGeneratorInterfaceStruct myInterfaceFtbl = {
74 | NULL,
75 | QuickLookGeneratorQueryInterface,
76 | QuickLookGeneratorPluginAddRef,
77 | QuickLookGeneratorPluginRelease,
78 | NULL,
79 | NULL,
80 | NULL,
81 | NULL
82 | };
83 |
84 |
85 | // -----------------------------------------------------------------------------
86 | // AllocQuickLookGeneratorPluginType
87 | // -----------------------------------------------------------------------------
88 | // Utility function that allocates a new instance.
89 | // You can do some initial setup for the generator here if you wish
90 | // like allocating globals etc...
91 | //
92 | QuickLookGeneratorPluginType *AllocQuickLookGeneratorPluginType(CFUUIDRef inFactoryID)
93 | {
94 | QuickLookGeneratorPluginType *theNewInstance;
95 |
96 | theNewInstance = (QuickLookGeneratorPluginType *)malloc(sizeof(QuickLookGeneratorPluginType));
97 | memset(theNewInstance,0,sizeof(QuickLookGeneratorPluginType));
98 |
99 | /* Point to the function table Malloc enough to store the stuff and copy the filler from myInterfaceFtbl over */
100 | theNewInstance->conduitInterface = malloc(sizeof(QLGeneratorInterfaceStruct));
101 | memcpy(theNewInstance->conduitInterface,&myInterfaceFtbl,sizeof(QLGeneratorInterfaceStruct));
102 |
103 | /* Retain and keep an open instance refcount for each factory. */
104 | theNewInstance->factoryID = CFRetain(inFactoryID);
105 | CFPlugInAddInstanceForFactory(inFactoryID);
106 |
107 | /* This function returns the IUnknown interface so set the refCount to one. */
108 | theNewInstance->refCount = 1;
109 | return theNewInstance;
110 | }
111 |
112 | // -----------------------------------------------------------------------------
113 | // DeallocQuickLookGeneratorPluginType
114 | // -----------------------------------------------------------------------------
115 | // Utility function that deallocates the instance when
116 | // the refCount goes to zero.
117 | // In the current implementation generator interfaces are never deallocated
118 | // but implement this as this might change in the future
119 | //
120 | void DeallocQuickLookGeneratorPluginType(QuickLookGeneratorPluginType *thisInstance)
121 | {
122 | CFUUIDRef theFactoryID;
123 |
124 | theFactoryID = thisInstance->factoryID;
125 | /* Free the conduitInterface table up */
126 | free(thisInstance->conduitInterface);
127 |
128 | /* Free the instance structure */
129 | free(thisInstance);
130 | if (theFactoryID){
131 | CFPlugInRemoveInstanceForFactory(theFactoryID);
132 | CFRelease(theFactoryID);
133 | }
134 | }
135 |
136 | // -----------------------------------------------------------------------------
137 | // QuickLookGeneratorQueryInterface
138 | // -----------------------------------------------------------------------------
139 | // Implementation of the IUnknown QueryInterface function.
140 | //
141 | HRESULT QuickLookGeneratorQueryInterface(void *thisInstance,REFIID iid,LPVOID *ppv)
142 | {
143 | CFUUIDRef interfaceID;
144 |
145 | interfaceID = CFUUIDCreateFromUUIDBytes(kCFAllocatorDefault,iid);
146 |
147 | if (CFEqual(interfaceID,kQLGeneratorCallbacksInterfaceID)){
148 | /* If the Right interface was requested, bump the ref count,
149 | * set the ppv parameter equal to the instance, and
150 | * return good status.
151 | */
152 | ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType *)thisInstance)->conduitInterface)->GenerateThumbnailForURL = GenerateThumbnailForURL;
153 | ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType *)thisInstance)->conduitInterface)->CancelThumbnailGeneration = CancelThumbnailGeneration;
154 | ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType *)thisInstance)->conduitInterface)->GeneratePreviewForURL = GeneratePreviewForURL;
155 | ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType *)thisInstance)->conduitInterface)->CancelPreviewGeneration = CancelPreviewGeneration;
156 | ((QLGeneratorInterfaceStruct *)((QuickLookGeneratorPluginType*)thisInstance)->conduitInterface)->AddRef(thisInstance);
157 | *ppv = thisInstance;
158 | CFRelease(interfaceID);
159 | return S_OK;
160 | }else{
161 | /* Requested interface unknown, bail with error. */
162 | *ppv = NULL;
163 | CFRelease(interfaceID);
164 | return E_NOINTERFACE;
165 | }
166 | }
167 |
168 | // -----------------------------------------------------------------------------
169 | // QuickLookGeneratorPluginAddRef
170 | // -----------------------------------------------------------------------------
171 | // Implementation of reference counting for this type. Whenever an interface
172 | // is requested, bump the refCount for the instance. NOTE: returning the
173 | // refcount is a convention but is not required so don't rely on it.
174 | //
175 | ULONG QuickLookGeneratorPluginAddRef(void *thisInstance)
176 | {
177 | ((QuickLookGeneratorPluginType *)thisInstance )->refCount += 1;
178 | return ((QuickLookGeneratorPluginType*) thisInstance)->refCount;
179 | }
180 |
181 | // -----------------------------------------------------------------------------
182 | // QuickLookGeneratorPluginRelease
183 | // -----------------------------------------------------------------------------
184 | // When an interface is released, decrement the refCount.
185 | // If the refCount goes to zero, deallocate the instance.
186 | //
187 | ULONG QuickLookGeneratorPluginRelease(void *thisInstance)
188 | {
189 | ((QuickLookGeneratorPluginType*)thisInstance)->refCount -= 1;
190 | if (((QuickLookGeneratorPluginType*)thisInstance)->refCount == 0){
191 | DeallocQuickLookGeneratorPluginType((QuickLookGeneratorPluginType*)thisInstance );
192 | return 0;
193 | }else{
194 | return ((QuickLookGeneratorPluginType*) thisInstance )->refCount;
195 | }
196 | }
197 |
198 | // -----------------------------------------------------------------------------
199 | // QuickLookGeneratorPluginFactory
200 | // -----------------------------------------------------------------------------
201 | void *QuickLookGeneratorPluginFactory(CFAllocatorRef allocator,CFUUIDRef typeID)
202 | {
203 | QuickLookGeneratorPluginType *result;
204 | CFUUIDRef uuid;
205 |
206 | /* If correct type is being requested, allocate an
207 | * instance of kQLGeneratorTypeID and return the IUnknown interface.
208 | */
209 | if (CFEqual(typeID,kQLGeneratorTypeID)){
210 | uuid = CFUUIDCreateFromString(kCFAllocatorDefault,CFSTR(PLUGIN_ID));
211 | result = AllocQuickLookGeneratorPluginType(uuid);
212 | CFRelease(uuid);
213 | return result;
214 | }
215 | /* If the requested type is incorrect, return NULL. */
216 | return NULL;
217 | }
218 |
219 |
--------------------------------------------------------------------------------
/ASCIImagination/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "mac",
5 | "size" : "16x16",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "mac",
10 | "size" : "16x16",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "mac",
15 | "size" : "32x32",
16 | "scale" : "1x"
17 | },
18 | {
19 | "size" : "32x32",
20 | "idiom" : "mac",
21 | "filename" : "app-icon-64.png",
22 | "scale" : "2x"
23 | },
24 | {
25 | "size" : "128x128",
26 | "idiom" : "mac",
27 | "filename" : "app-icon-128.png",
28 | "scale" : "1x"
29 | },
30 | {
31 | "idiom" : "mac",
32 | "size" : "128x128",
33 | "scale" : "2x"
34 | },
35 | {
36 | "idiom" : "mac",
37 | "size" : "256x256",
38 | "scale" : "1x"
39 | },
40 | {
41 | "idiom" : "mac",
42 | "size" : "256x256",
43 | "scale" : "2x"
44 | },
45 | {
46 | "idiom" : "mac",
47 | "size" : "512x512",
48 | "scale" : "1x"
49 | },
50 | {
51 | "idiom" : "mac",
52 | "size" : "512x512",
53 | "scale" : "2x"
54 | }
55 | ],
56 | "info" : {
57 | "version" : 1,
58 | "author" : "xcode"
59 | }
60 | }
--------------------------------------------------------------------------------
/ASCIImagination/Images.xcassets/AppIcon.appiconset/app-icon-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/ASCIImagination/Images.xcassets/AppIcon.appiconset/app-icon-128.png
--------------------------------------------------------------------------------
/ASCIImagination/Images.xcassets/AppIcon.appiconset/app-icon-64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/ASCIImagination/Images.xcassets/AppIcon.appiconset/app-icon-64.png
--------------------------------------------------------------------------------
/ASCIImagination/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDocumentTypes
8 |
9 |
10 | CFBundleTypeExtensions
11 |
12 | asciimage
13 |
14 | CFBundleTypeIconFile
15 |
16 | CFBundleTypeName
17 | DocumentType
18 | CFBundleTypeOSTypes
19 |
20 | ????
21 |
22 | CFBundleTypeRole
23 | Editor
24 | LSItemContentTypes
25 |
26 | com.findingsapp.asciimage
27 |
28 | NSDocumentClass
29 | MPASCIImageDocument
30 |
31 |
32 | CFBundleExecutable
33 | $(EXECUTABLE_NAME)
34 | CFBundleIconFile
35 |
36 | CFBundleIdentifier
37 | com.manuscripts.$(PRODUCT_NAME:rfc1034identifier)
38 | CFBundleInfoDictionaryVersion
39 | 6.0
40 | CFBundleName
41 | $(PRODUCT_NAME)
42 | CFBundlePackageType
43 | APPL
44 | CFBundleShortVersionString
45 | 0.4
46 | CFBundleSignature
47 | ????
48 | CFBundleVersion
49 | 5
50 | LSMinimumSystemVersion
51 | $(MACOSX_DEPLOYMENT_TARGET)
52 | NSHumanReadableCopyright
53 | Copyright © 2015 Manuscripts.app Limited. All rights reserved.
54 | NSMainStoryboardFile
55 | Main
56 | NSPrincipalClass
57 | NSApplication
58 | SUFeedURL
59 | https://rink.hockeyapp.net/api/2/apps/8ac351501c5c3db78ececb2f7e26062f
60 | UTExportedTypeDeclarations
61 |
62 |
63 | UTTypeConformsTo
64 |
65 | public.text
66 |
67 | UTTypeDescription
68 | ASCII image
69 | UTTypeIdentifier
70 | com.findingsapp.asciimage
71 | UTTypeTagSpecification
72 |
73 | com.apple.nspboard-type
74 |
75 | com.findingsapp.asciimage
76 |
77 | public.filename-extension
78 |
79 | asciimage
80 | ass
81 |
82 | public.mime-type
83 |
84 | text/plain
85 |
86 |
87 |
88 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/ASCIImagination/MPASCIImageDocument.h:
--------------------------------------------------------------------------------
1 | //
2 | // Document.h
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface MPASCIImageDocument : NSDocument
12 |
13 | @property (readonly, nonatomic) NSString *imageString;
14 |
15 | @end
16 |
17 |
--------------------------------------------------------------------------------
/ASCIImagination/MPASCIImageDocument.m:
--------------------------------------------------------------------------------
1 | //
2 | // Document.m
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import "MPASCIImageDocument.h"
10 |
11 | #import "MPASCIImageEditorViewController.h"
12 | #import "MPASCIImageTextViewController.h"
13 |
14 | @interface MPASCIImageDocument ()
15 | @property (readwrite, nonatomic) NSString *imageString;
16 | @end
17 |
18 | @implementation MPASCIImageDocument
19 |
20 | - (instancetype)init {
21 | self = [super init];
22 | if (self) {
23 | // Add your subclass-specific initialization here.
24 | }
25 | return self;
26 | }
27 |
28 | - (void)windowControllerDidLoadNib:(NSWindowController *)aController {
29 | [super windowControllerDidLoadNib:aController];
30 | // Add any code here that needs to be executed once the windowController has loaded the document's window.
31 | }
32 |
33 | + (BOOL)autosavesInPlace {
34 | return YES;
35 | }
36 |
37 | - (void)makeWindowControllers {
38 | // Override to return the Storyboard file name of the document.
39 | [self addWindowController:[[NSStoryboard storyboardWithName:@"Main" bundle:nil] instantiateControllerWithIdentifier:@"Document Window Controller"]];
40 |
41 | self.imageString = self.imageString;
42 | }
43 |
44 | - (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError {
45 | NSWindowController *winC = self.windowControllers[0];
46 | MPASCIImageEditorViewController *editorController = (id)winC.contentViewController;
47 |
48 | return [editorController.textViewController.editorTextArea.string dataUsingEncoding:NSUTF8StringEncoding];
49 | }
50 |
51 | - (void)setImageString:(NSString *)str {
52 | _imageString = str;
53 |
54 | if (self.windowControllers.count > 0) {
55 | NSWindowController *winC = self.windowControllers[0];
56 | MPASCIImageEditorViewController *editorController = (id)winC.contentViewController;
57 | editorController.textViewController.editorTextArea.string = str ?: @"";
58 | }
59 | }
60 |
61 | - (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError {
62 | self.imageString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
63 | return YES;
64 | }
65 |
66 | @end
67 |
--------------------------------------------------------------------------------
/ASCIImagination/MPASCIImageEditorViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #import "MPASCIImageEditorViewController.h"
12 |
13 | @class MPASCIImageTextViewController, MPASCIImagePreviewViewController;
14 |
15 | @interface MPASCIImageEditorViewController : NSSplitViewController
16 |
17 | @property (readwrite, strong) IBOutlet MPASCIImageTextViewController *textViewController;
18 | @property (readwrite, strong) IBOutlet MPASCIImagePreviewViewController *previewViewController;
19 |
20 | @end
21 |
22 |
--------------------------------------------------------------------------------
/ASCIImagination/MPASCIImageEditorViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.m
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import "MPASCIImageEditorViewController.h"
10 |
11 | #import "MPASCIImageTextViewController.h"
12 | #import "MPASCIImagePreviewViewController.h"
13 |
14 | @implementation MPASCIImageEditorViewController
15 |
16 | - (void)viewDidLoad {
17 | [super viewDidLoad];
18 |
19 | NSSplitViewItem *editorAreaItem = self.splitViewItems[0]; NSParameterAssert(editorAreaItem.viewController);
20 | NSSplitViewItem *previewAreawItem = self.splitViewItems[1]; NSParameterAssert(previewAreawItem.viewController);
21 |
22 | self.textViewController = (id)editorAreaItem.viewController;
23 | self.previewViewController = (id)previewAreawItem.viewController;
24 | self.textViewController.delegate = self.previewViewController;
25 | self.previewViewController.textViewController = self.textViewController;
26 | }
27 |
28 | - (void)setRepresentedObject:(id)representedObject {
29 | [super setRepresentedObject:representedObject];
30 |
31 | // Update the view, if already loaded.
32 | }
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/ASCIImagination/MPASCIImagePreviewViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // MPASCIImagePreviewViewController.h
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class MPASCIImageTextViewController;
12 |
13 | @protocol MPASCIImageTextViewControllerDelegate
14 | @end
15 |
16 | @interface MPASCIImagePreviewViewController : NSViewController
17 |
18 | @property (readwrite, assign) IBOutlet NSImageView *previewArea;
19 |
20 | @property (readwrite, weak) IBOutlet MPASCIImageTextViewController *textViewController;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/ASCIImagination/MPASCIImagePreviewViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // MPASCIImagePreviewViewController.m
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import "MPASCIImagePreviewViewController.h"
10 |
11 | #import "MPASCIImageTextViewController.h"
12 |
13 | #import "PARImage+ASCIIInput.h"
14 | #import "NSString+ASCII.h"
15 |
16 | #import "MPLayeredASCIImageRenderer.h"
17 |
18 | @interface MPASCIImagePreviewViewController ()
19 |
20 | @end
21 |
22 | @implementation MPASCIImagePreviewViewController
23 |
24 | - (void)viewDidLoad {
25 | [super viewDidLoad];
26 |
27 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(preferencesDidChange:)
28 | name:NSUserDefaultsDidChangeNotification object:nil];
29 |
30 | [[NSUserDefaults standardUserDefaults] registerDefaults:@{@"previewScale": @(30.0f)}];
31 | }
32 |
33 | - (void)viewWillAppear {
34 | [self ASCIImageTextViewControllerDidRefresh:self.textViewController]; // hack.
35 | }
36 |
37 | - (void)preferencesDidChange:(NSNotification *)notification {
38 | [self ASCIImageTextViewControllerDidRefresh:self.textViewController];
39 | }
40 |
41 |
42 | - (void)ASCIImageTextViewControllerDidRefresh:(MPASCIImageTextViewController *)textViewController {
43 | MPLayeredASCIImageRenderer *renderer = [MPLayeredASCIImageRenderer new];
44 |
45 | CGFloat scaleFactor = [[NSUserDefaults standardUserDefaults] floatForKey:@"previewScale"];
46 | if (scaleFactor <= 0)
47 | scaleFactor = 20.0f;
48 |
49 | CGFloat strokeWidth = [[NSUserDefaults standardUserDefaults] floatForKey:@"strokeWidth"];
50 | if (strokeWidth <= 0)
51 | strokeWidth = 1.0f;
52 |
53 | NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"strokeColor"];
54 |
55 | NSColor *defaultColor = [NSColor blackColor];
56 | NSColor *color;
57 | if (colorData) {
58 | color = [NSUnarchiver unarchiveObjectWithData:colorData];
59 | if (!color) {
60 | color = defaultColor;
61 | }
62 | }
63 | else {
64 | color = defaultColor;
65 | }
66 |
67 | NSColor *fillColor = nil;
68 | NSData *fillColorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"fillColor"];
69 | if (fillColorData) {
70 | fillColor = [NSUnarchiver unarchiveObjectWithData:colorData] ?: [NSColor clearColor];
71 | }
72 |
73 | BOOL shouldClose = @([[NSUserDefaults standardUserDefaults] boolForKey:@"shouldClose"]);
74 |
75 | BOOL antialias = [[NSUserDefaults standardUserDefaults] boolForKey:@"antialias"];
76 |
77 | self.previewArea.image = [renderer imageWithLayeredASCIIString:textViewController.editorTextArea.string
78 | scale:scaleFactor
79 | strokeWidth:strokeWidth
80 | strokeColor:color
81 | fillColor:fillColor
82 | closeShape:shouldClose
83 | antialias:antialias];
84 | }
85 |
86 | @end
87 |
--------------------------------------------------------------------------------
/ASCIImagination/MPASCIImageTextViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // MPASCIImageTextViewController.h
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class MPASCIImageTextViewController;
12 |
13 | @protocol MPASCIImageTextViewControllerDelegate
14 | - (void)ASCIImageTextViewControllerDidRefresh:(MPASCIImageTextViewController *)textViewController;
15 | @end
16 |
17 | @interface MPASCIImageTextViewController : NSViewController
18 |
19 | @property (readwrite, assign) IBOutlet NSTextView *editorTextArea;
20 |
21 | @property (readwrite, weak) IBOutlet id delegate;
22 |
23 | @end
--------------------------------------------------------------------------------
/ASCIImagination/MPASCIImageTextViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // MPASCIImageTextViewController.m
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import "MPASCIImageTextViewController.h"
10 |
11 | @interface MPASCIImageTextViewController ()
12 |
13 | @end
14 |
15 | @implementation MPASCIImageTextViewController
16 |
17 | - (void)textDidChange:(NSNotification *)notification {
18 | [self.delegate ASCIImageTextViewControllerDidRefresh:self];
19 | }
20 |
21 | - (void)viewDidLoad {
22 | NSFont *font = [NSFont fontWithName:@"Menlo" size:18.0f];
23 | [self.editorTextArea setTextColor:[NSColor grayColor]];
24 | [self.editorTextArea setFont:font];
25 | }
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/ASCIImagination/MPASCIImageView.h:
--------------------------------------------------------------------------------
1 | //
2 | // MPASCIImageView.h
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 17/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface MPASCIImageView : NSImageView
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/ASCIImagination/MPASCIImageView.m:
--------------------------------------------------------------------------------
1 | //
2 | // MPASCIImageView.m
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 17/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import "MPASCIImageView.h"
10 |
11 | @interface MPASCIImageView ()
12 | @end
13 |
14 | @implementation MPASCIImageView
15 |
16 | -(void)mouseDown:(NSEvent *)event {
17 | NSPasteboardItem *pbItem = [NSPasteboardItem new];
18 | [pbItem setDataProvider:self forTypes:@[NSPasteboardTypePDF, NSPasteboardTypePNG]];
19 |
20 | NSDraggingItem *dragItem = [[NSDraggingItem alloc] initWithPasteboardWriter:pbItem];
21 |
22 | NSRect imageRect = [self.cell drawingRectForBounds:self.bounds];
23 | [dragItem setDraggingFrame:imageRect contents:self.image];
24 |
25 | NSDraggingSession *draggingSession = [self beginDraggingSessionWithItems:@[dragItem] event:event source:self];
26 | draggingSession.animatesToStartingPositionsOnCancelOrFail = YES;
27 | draggingSession.draggingFormation = NSDraggingFormationNone;
28 | return;
29 | }
30 |
31 | - (NSDragOperation)draggingSession:(NSDraggingSession *)session sourceOperationMaskForDraggingContext:(NSDraggingContext)context {
32 | switch (context) {
33 | case NSDraggingContextOutsideApplication:
34 | return NSDragOperationCopy;
35 |
36 | case NSDraggingContextWithinApplication:
37 | default:
38 | return NSDragOperationCopy;
39 | break;
40 | }
41 | }
42 |
43 | - (BOOL)acceptsFirstMouse:(NSEvent *)event {
44 | return YES;
45 | }
46 |
47 | - (void)pasteboard:(NSPasteboard *)sender item:(NSPasteboardItem *)item provideDataForType:(NSString *)type {
48 | CGImageRef cgRef = [self.image CGImageForProposedRect:NULL context:nil hints:nil];
49 | NSBitmapImageRep *newRep = [[NSBitmapImageRep alloc] initWithCGImage:cgRef];
50 |
51 | NSSize imgSize = self.image.size;
52 | [newRep setSize:imgSize];
53 |
54 | if ([type compare:NSPasteboardTypePNG] == NSOrderedSame) {
55 | NSData *pngData = [newRep representationUsingType:NSPNGFileType properties:nil];
56 | [sender setData:pngData forType:NSPasteboardTypePNG];
57 | }
58 | else if ([type compare:NSPasteboardTypePDF] == NSOrderedSame) {
59 | [sender setData:[self dataWithPDFInsideRect:[self bounds]] forType:NSPasteboardTypePDF];
60 | }
61 | }
62 |
63 | @end
64 |
--------------------------------------------------------------------------------
/ASCIImagination/MPASCIImaginationAppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : NSObject
12 |
13 | - (IBAction)openPreferences:(id)sender;
14 |
15 | @end
16 |
17 |
--------------------------------------------------------------------------------
/ASCIImagination/MPASCIImaginationAppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.m
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import "MPASCIImaginationAppDelegate.h"
10 | #import "MPGeneralPreferencesViewController.h"
11 | #import "MASPreferencesWindowController.h"
12 |
13 | #import
14 |
15 | @interface AppDelegate ()
16 | @property (readwrite) NSWindowController *preferencesWindowController;
17 | @end
18 |
19 | @implementation AppDelegate
20 |
21 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
22 | // Insert code here to initialize your application
23 |
24 | [[BITHockeyManager sharedHockeyManager] configureWithIdentifier:@"8ac351501c5c3db78ececb2f7e26062f"];
25 | [[BITHockeyManager sharedHockeyManager] startManager];
26 | }
27 |
28 | - (void)applicationWillTerminate:(NSNotification *)aNotification {
29 | // Insert code here to tear down your application
30 | }
31 |
32 | #pragma mark -
33 |
34 | - (NSWindowController *)preferencesWindowController {
35 | if (_preferencesWindowController == nil)
36 | {
37 | NSViewController *generalViewController = [[MPGeneralPreferencesViewController alloc] init];
38 | NSArray *controllers = @[ generalViewController ];
39 |
40 | NSString *title = NSLocalizedString(@"Preferences", @"Common title for Preferences window");
41 | _preferencesWindowController = [[MASPreferencesWindowController alloc] initWithViewControllers:controllers
42 | title:title];
43 | }
44 | return _preferencesWindowController;
45 | }
46 |
47 | #pragma mark - Actions
48 |
49 | - (IBAction)openPreferences:(id)sender
50 | {
51 | [self.preferencesWindowController showWindow:nil];
52 | }
53 |
54 | @end
55 |
--------------------------------------------------------------------------------
/ASCIImagination/MPGeneralPreferencesViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // MPGeneralPreferencesViewController.h
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 17/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #import "MASPreferencesViewController.h"
12 |
13 | @class BFColorPickerPopover;
14 |
15 | @interface MPGeneralPreferencesViewController : NSViewController
16 |
17 | @property (readwrite) IBOutlet BFColorPickerPopover *colorPickerPopover;
18 |
19 | @property (readwrite) IBOutlet NSColorWell *colorChoiceButton;
20 |
21 | - (IBAction)chooseColour:(id)sender;
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/ASCIImagination/MPGeneralPreferencesViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // MPGeneralPreferencesViewController.m
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 17/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import "MPGeneralPreferencesViewController.h"
10 |
11 | #import "BFColorPickerPopover.h"
12 | #import "BFColorPickerViewController.h"
13 |
14 | @interface MPGeneralPreferencesViewController ()
15 |
16 | @end
17 |
18 | @implementation MPGeneralPreferencesViewController
19 |
20 | - (instancetype)init {
21 | return [super initWithNibName:@"MPGeneralPreferencesViewController" bundle:nil];
22 | }
23 |
24 | - (void)viewDidLoad {
25 | [super viewDidLoad];
26 | // Do view setup here.
27 |
28 | self.colorPickerPopover.target = self;
29 | self.colorPickerPopover.action = @selector(didChooseColor:);
30 |
31 | NSData *colorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"strokeColor"];
32 |
33 | if (colorData) {
34 | NSColor *color = [NSUnarchiver unarchiveObjectWithData:colorData];
35 | self.colorChoiceButton.color = color;
36 | }
37 | }
38 |
39 | - (NSString *)identifier {
40 | return @"GeneralPreferences";
41 | }
42 |
43 | - (NSImage *)toolbarItemImage {
44 | return [NSImage imageNamed:NSImageNamePreferencesGeneral];
45 | }
46 |
47 | - (NSString *)toolbarItemLabel {
48 | return NSLocalizedString(@"General", @"Toolbar item name for the General preference pane");
49 | }
50 |
51 | #pragma mark -
52 |
53 | - (IBAction)chooseColour:(id)sender {
54 | [self.colorPickerPopover showRelativeToRect:[sender bounds] ofView:sender
55 | preferredEdge:CGRectMinYEdge];
56 | self.colorPickerPopover.target = self;
57 | self.colorPickerPopover.action = @selector(didChooseColor:);
58 | }
59 |
60 | - (void)didChooseColor:(BFColorPickerPopover *)popover {
61 | if (popover.color) {
62 | NSData *colorData = [NSArchiver archivedDataWithRootObject:popover.color];
63 | [[NSUserDefaults standardUserDefaults] setObject:colorData forKey:@"strokeColor"];
64 | [self.colorPickerPopover close];
65 |
66 | [self.colorChoiceButton setColor:popover.color];
67 | }
68 | }
69 |
70 | @end
71 |
--------------------------------------------------------------------------------
/ASCIImagination/MPLayeredASCIImageRenderer.h:
--------------------------------------------------------------------------------
1 | //
2 | // MPASCIImageRenderer.h
3 | // ASCIImage Super Studio
4 | //
5 | // Created by Matias Piipari on 21/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface MPLayeredASCIImageRenderer : NSObject
12 |
13 | - (NSImage *)imageWithLayeredASCIIString:(NSString *)asciiStr
14 | scale:(CGFloat)scaleFactor
15 | strokeWidth:(CGFloat)strokeWidth
16 | strokeColor:(NSColor *)color
17 | fillColor:(NSColor *)fillColor
18 | closeShape:(BOOL)shouldClose
19 | antialias:(BOOL)antialias;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/ASCIImagination/MPLayeredASCIImageRenderer.m:
--------------------------------------------------------------------------------
1 | //
2 | // MPASCIImageRenderer.m
3 | // ASCIImage Super Studio
4 | //
5 | // Created by Matias Piipari on 21/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import "MPLayeredASCIImageRenderer.h"
10 |
11 | #import "PARImage+ASCIIInput.h"
12 | #import "NSString+ASCII.h"
13 |
14 | @implementation MPLayeredASCIImageRenderer
15 |
16 | // from http://stackoverflow.com/questions/9159931/compositing-images-with-fresh-context
17 | - (void)compositeImage:(NSImage *)overlay
18 | onto:(NSImage *)background
19 | atPoint:(NSPoint)location {
20 |
21 | [background lockFocus];
22 | [[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationHigh];
23 | [overlay drawInRect:NSMakeRect(location.x, location.y, [overlay size].width, [overlay size].width)
24 | fromRect:NSZeroRect
25 | operation:NSCompositeSourceOver
26 | fraction:1.0];
27 | [background unlockFocus];
28 | }
29 |
30 | - (NSImage *)imageWithLayeredASCIIString:(NSString *)asciiStr
31 | scale:(CGFloat)scaleFactor
32 | strokeWidth:(CGFloat)strokeWidth
33 | strokeColor:(NSColor *)color
34 | fillColor:(NSColor *)fillColor
35 | closeShape:(BOOL)shouldClose
36 | antialias:(BOOL)antialias
37 | {
38 | NSMutableArray *layers = [asciiStr componentsSeparatedByString:@"#>>>\n"].mutableCopy;
39 | NSMutableArray *images = [NSMutableArray new];
40 |
41 | for (NSString *layerStr in layers) {
42 | NSMutableArray *asciiStrs = [layerStr componentsSeparatedByString:@"\n"].mutableCopy;
43 |
44 | NSUInteger len = [asciiStrs[0] length];
45 | for (NSUInteger i = 0; i < asciiStrs.count; i++) {
46 | NSString *str = asciiStrs[i];
47 |
48 | if (str.length > len) {
49 | str = [str substringToIndex:len];
50 | }
51 | else if (str.length < len) {
52 | str = [str stringWithLinesPaddedToLength:len];
53 | }
54 |
55 | asciiStrs[i] = str;
56 | }
57 |
58 | PARImage *img = [PARImage imageWithASCIIRepresentation:asciiStrs contextHandler:^(NSMutableDictionary *context) {
59 | context[ASCIIContextScale] = @(scaleFactor);
60 |
61 | context[ASCIIContextLineWidth] = @(strokeWidth);
62 |
63 | context[ASCIIContextStrokeColor] = color;
64 |
65 | if (fillColor) {
66 | context[ASCIIContextFillColor] = fillColor;
67 | }
68 |
69 | context[ASCIIContextShouldClose] = @(shouldClose);
70 | context[ASCIIContextShouldAntialias] = @(antialias);
71 | }];
72 |
73 | [images addObject:img];
74 | }
75 |
76 | if (images.count == 1) {
77 | return images[0];
78 | }
79 | else if (images.count > 0) {
80 | NSImage *accummulatingImage = [images[0] copy];
81 |
82 | if (accummulatingImage.size.width > 0 && accummulatingImage.size.height > 0) {
83 | for (NSImage *img in [images subarrayWithRange:NSMakeRange(1, images.count - 1)]) {
84 | if (img.size.width > 0 && img.size.height > 0) {
85 | [self compositeImage:img onto:accummulatingImage atPoint:NSMakePoint(0, 0)];
86 | }
87 | }
88 | }
89 |
90 | return accummulatingImage;
91 | }
92 |
93 | return nil;
94 |
95 | }
96 |
97 | @end
98 |
--------------------------------------------------------------------------------
/ASCIImagination/NSString+ASCII.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+NSString_ASCII.h
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface NSString (ASCII)
12 |
13 | - (NSArray *)componentsSplitToSubstringsOfMaxLength:(NSUInteger)length;
14 |
15 | - (NSString *)stringWithLinesPaddedToLength:(NSUInteger)length;
16 |
17 | - (NSString *)repeatTimes:(NSUInteger)times;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/ASCIImagination/NSString+ASCII.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+NSString_ASCII.m
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import "NSString+ASCII.h"
10 |
11 | @implementation NSString (ASCII)
12 |
13 | - (NSArray *)componentsSplitToSubstringsOfMaxLength:(NSUInteger)length {
14 | NSString *remainingStr = self;
15 |
16 | NSMutableArray *components = [NSMutableArray new];
17 | while (remainingStr.length > length) {
18 | NSString *subStr = [remainingStr substringToIndex:length];
19 | [components addObject:subStr];
20 |
21 | remainingStr = [remainingStr substringFromIndex:length];
22 | }
23 |
24 | return components.copy;
25 | }
26 |
27 | - (NSString *)stringWithLinesPaddedToLength:(NSUInteger)length {
28 | NSMutableArray *components = [NSMutableArray new];
29 |
30 | for (NSString *component in [self componentsSeparatedByString:@"\n"]) {
31 | NSParameterAssert(component.length <= length);
32 | NSUInteger missingLen = length - component.length;
33 |
34 | NSString *pad = [@" " repeatTimes:missingLen];
35 | NSString *paddedComponent = [NSString stringWithFormat:@"%@%@", component, pad];
36 | [components addObject:paddedComponent];
37 | }
38 |
39 | return [components componentsJoinedByString:@""];
40 | }
41 |
42 | - (NSString *)repeatTimes:(NSUInteger)times {
43 | return [self stringByPaddingToLength:times * [self length] withString:self startingAtIndex:0];
44 | }
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/ASCIImagination/app-icon-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/ASCIImagination/app-icon-128.png
--------------------------------------------------------------------------------
/ASCIImagination/app-icon-64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/ASCIImagination/app-icon-64.png
--------------------------------------------------------------------------------
/ASCIImagination/app-icon.asciimage:
--------------------------------------------------------------------------------
1 | - - - - - - - - -
2 | - K - - 3 - - L -
3 | - - F - 2 - G - -
4 | — - - A 1 B - - -
5 | - 3 2 1 - 1 2 3 -
6 | - - - D 1 C - - -
7 | - - I - 2 - H - -
8 | - N - - 3 - - M -
9 | - - - - - - - - -
--------------------------------------------------------------------------------
/ASCIImagination/app-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/ASCIImagination/app-icon.png
--------------------------------------------------------------------------------
/ASCIImagination/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // ASCIImagination
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | int main(int argc, const char * argv[]) {
12 | return NSApplicationMain(argc, argv);
13 | }
14 |
--------------------------------------------------------------------------------
/ASCIImaginationTests/ASCIImaginationTests.m:
--------------------------------------------------------------------------------
1 | //
2 | // ASCIImaginationTests.m
3 | // ASCIImaginationTests
4 | //
5 | // Created by Matias Piipari on 16/03/2015.
6 | // Copyright (c) 2015 Manuscripts.app Limited. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface ASCIImaginationTests : XCTestCase
13 |
14 | @end
15 |
16 | @implementation ASCIImaginationTests
17 |
18 | - (void)setUp {
19 | [super setUp];
20 | // Put setup code here. This method is called before the invocation of each test method in the class.
21 | }
22 |
23 | - (void)tearDown {
24 | // Put teardown code here. This method is called after the invocation of each test method in the class.
25 | [super tearDown];
26 | }
27 |
28 | - (void)testExample {
29 | // This is an example of a functional test case.
30 | XCTAssert(YES, @"Pass");
31 | }
32 |
33 | - (void)testPerformanceExample {
34 | // This is an example of a performance test case.
35 | [self measureBlock:^{
36 | // Put the code you want to measure the time of here.
37 | }];
38 | }
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/ASCIImaginationTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | com.manuscripts.$(PRODUCT_NAME:rfc1034identifier)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Matias Piipari
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 |
23 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/BuildAgent:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/BuildAgent
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework.dSYM/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleIdentifier
8 | com.apple.xcode.dsym.net.hockeyapp.sdk.mac
9 | CFBundleInfoDictionaryVersion
10 | 6.0
11 | CFBundlePackageType
12 | dSYM
13 | CFBundleSignature
14 | ????
15 | CFBundleShortVersionString
16 | 3.0
17 | CFBundleVersion
18 | 27
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework.dSYM/Contents/Resources/DWARF/HockeySDK:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework.dSYM/Contents/Resources/DWARF/HockeySDK
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Frameworks:
--------------------------------------------------------------------------------
1 | Versions/Current/Frameworks
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Headers:
--------------------------------------------------------------------------------
1 | Versions/Current/Headers
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/HockeySDK:
--------------------------------------------------------------------------------
1 | Versions/Current/HockeySDK
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Resources:
--------------------------------------------------------------------------------
1 | Versions/Current/Resources
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/CrashReporter:
--------------------------------------------------------------------------------
1 | Versions/Current/CrashReporter
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Headers:
--------------------------------------------------------------------------------
1 | Versions/Current/Headers
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Resources:
--------------------------------------------------------------------------------
1 | Versions/Current/Resources
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/CrashReporter:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/CrashReporter
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashFeatureConfig.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2012-2013 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #ifndef PLCRASH_FEATURE_CONFIG_H
30 | #define PLCRASH_FEATURE_CONFIG_H
31 |
32 | #include
33 |
34 | /**
35 | * @internal
36 | *
37 | * Build-time configuration for PLCrashReporter.
38 | *
39 | * This is used to automatically enable/disable features on a per-platform and per-configuration
40 | * basis; it may also be used by third-party vendors to configure a custom build of PLCrashReporter.
41 | *
42 | * @defgroup build_config Build Configuration
43 | * @ingroup constants
44 | * @{
45 | */
46 |
47 | /*
48 | * Defaults
49 | */
50 |
51 | /*
52 | * For release builds, disable unused unwind implementations on targets that do not use them. For non-release
53 | * builds, we include the unwind implementations to allow testing on a broader range of targets.
54 | */
55 | #ifdef PLCF_RELEASE_BUILD
56 | # if defined(__arm__)
57 | # ifndef PLCRASH_FEATURE_UNWIND_DWARF
58 | # define PLCRASH_FEATURE_UNWIND_DWARF 0
59 | # endif
60 | # ifndef PLCRASH_FEATURE_UNWIND_COMPACT
61 | # define PLCRASH_FEATURE_UNWIND_COMPACT 0
62 | # endif
63 | # endif
64 | #endif
65 |
66 | /*
67 | * Configuration Flags
68 | */
69 |
70 |
71 | #ifndef PLCRASH_FEATURE_MACH_EXCEPTIONS
72 | /**
73 | * If true, enable Mach exception support. On Mac OS X, the Mach exception implementation is fully supported,
74 | * using publicly available API. On iOS, the APIs required for a complete implementation are not public. However, a
75 | * popular commercial crash reporter is now shipping with support for Mach exceptions, which implies that either
76 | * they've received special dispensation to use private APIs / private structures, they've found another way to do
77 | * it, or they're just using undocumented functionality and hoping for the best.
78 | *
79 | * The exposed surface of undocumented API usage is relatively low, and there has been strong user demand to
80 | * implement Mach exception handling regardless of concerns over API visiblity. Given this, we've enabled
81 | * Mach exception handling by default, and provided both build-time and runtime configuration
82 | * to disable its use.
83 | *
84 | * For more information on the potential issues with enabling mach exception support, @sa @ref mach_exceptions.
85 | */
86 | # define PLCRASH_FEATURE_MACH_EXCEPTIONS 1
87 | #endif
88 |
89 | #ifndef PLCRASH_FEATURE_UNWIND_DWARF
90 | /** If true, enable DWARF unwinding support. */
91 | # define PLCRASH_FEATURE_UNWIND_DWARF 1
92 | #endif
93 |
94 |
95 | #ifndef PLCRASH_FEATURE_UNWIND_COMPACT
96 | /** If true, enable compact unwinding support. */
97 | # define PLCRASH_FEATURE_UNWIND_COMPACT 1
98 | #endif
99 |
100 | /**
101 | * @}
102 | */
103 |
104 | #endif /* PLCRASH_FEATURE_CONFIG_H */
105 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashNamespace.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2012-2013 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | /*
30 | * For external library integrators:
31 | *
32 | * Set this value to any valid C symbol prefix. This will automatically
33 | * prepend the given prefix to all external symbols in the library.
34 | *
35 | * This may be used to avoid symbol conflicts between multiple libraries
36 | * that may both incorporate PLCrashReporter.
37 | */
38 | #define PLCRASHREPORTER_PREFIX BIT
39 |
40 | #ifdef PLCRASHREPORTER_PREFIX
41 |
42 | // We need two extra layers of indirection to make CPP substitute
43 | // the PLCRASHREPORTER_PREFIX define.
44 | #define PLNS_impl2(prefix, symbol) prefix ## symbol
45 | #define PLNS_impl(prefix, symbol) PLNS_impl2(prefix, symbol)
46 | #define PLNS(symbol) PLNS_impl(PLCRASHREPORTER_PREFIX, symbol)
47 |
48 | #define PLCrashMachExceptionServer PLNS(PLCrashMachExceptionServer)
49 | #define PLCrashReport PLNS(PLCrashReport)
50 | #define PLCrashReportApplicationInfo PLNS(PLCrashReportApplicationInfo)
51 | #define PLCrashReportBinaryImageInfo PLNS(PLCrashReportBinaryImageInfo)
52 | #define PLCrashReportExceptionInfo PLNS(PLCrashReportExceptionInfo)
53 | #define PLCrashReportMachExceptionInfo PLNS(PLCrashReportMachExceptionInfo)
54 | #define PLCrashReportMachineInfo PLNS(PLCrashReportMachineInfo)
55 | #define PLCrashReportProcessInfo PLNS(PLCrashReportProcessInfo)
56 | #define PLCrashReportProcessorInfo PLNS(PLCrashReportProcessorInfo)
57 | #define PLCrashReportRegisterInfo PLNS(PLCrashReportRegisterInfo)
58 | #define PLCrashReportSignalInfo PLNS(PLCrashReportSignalInfo)
59 | #define PLCrashReportStackFrameInfo PLNS(PLCrashReportStackFrameInfo)
60 | #define PLCrashReportSymbolInfo PLNS(PLCrashReportSymbolInfo)
61 | #define PLCrashReportSystemInfo PLNS(PLCrashReportSystemInfo)
62 | #define PLCrashReportTextFormatter PLNS(PLCrashReportTextFormatter)
63 | #define PLCrashReportThreadInfo PLNS(PLCrashReportThreadInfo)
64 | #define PLCrashReporter PLNS(PLCrashReporter)
65 | #define PLCrashSignalHandler PLNS(PLCrashSignalHandler)
66 | #define PLCrashReportHostArchitecture PLNS(PLCrashReportHostArchitecture)
67 | #define PLCrashReportHostOperatingSystem PLNS(PLCrashReportHostOperatingSystem)
68 | #define PLCrashReporterErrorDomain PLNS(PLCrashReporterErrorDomain)
69 | #define PLCrashReporterException PLNS(PLCrashReporterException)
70 | #define PLCrashHostInfo PLNS(PLCrashHostInfo)
71 | #define PLCrashMachExceptionPort PLNS(PLCrashMachExceptionPort)
72 | #define PLCrashMachExceptionPortSet PLNS(PLCrashMachExceptionPortSet)
73 | #define PLCrashProcessInfo PLNS(PLCrashProcessInfo)
74 | #define PLCrashReporterConfig PLNS(PLCrashReporterConfig)
75 | #define PLCrashUncaughtExceptionHandler PLNS(PLCrashUncaughtExceptionHandler)
76 | #define PLCrashMachExceptionForward PLNS(PLCrashMachExceptionForward)
77 | #define PLCrashSignalHandlerForward PLNS(PLCrashSignalHandlerForward)
78 | #define plcrash_signal_handler PLNS(plcrash_signal_handler)
79 |
80 | #endif
81 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReport.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2013 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | #import "PLCrashReportApplicationInfo.h"
32 | #import "PLCrashReportBinaryImageInfo.h"
33 | #import "PLCrashReportExceptionInfo.h"
34 | #import "PLCrashReportMachineInfo.h"
35 | #import "PLCrashReportMachExceptionInfo.h"
36 | #import "PLCrashReportProcessInfo.h"
37 | #import "PLCrashReportProcessorInfo.h"
38 | #import "PLCrashReportRegisterInfo.h"
39 | #import "PLCrashReportSignalInfo.h"
40 | #import "PLCrashReportStackFrameInfo.h"
41 | #import "PLCrashReportSymbolInfo.h"
42 | #import "PLCrashReportSystemInfo.h"
43 | #import "PLCrashReportThreadInfo.h"
44 |
45 | /**
46 | * @ingroup constants
47 | * Crash file magic identifier */
48 | #define PLCRASH_REPORT_FILE_MAGIC "plcrash"
49 |
50 | /**
51 | * @ingroup constants
52 | * Crash format version byte identifier. Will not change outside of the introduction of
53 | * an entirely new crash log format. */
54 | #define PLCRASH_REPORT_FILE_VERSION 1
55 |
56 | /**
57 | * @ingroup types
58 | * Crash log file header format.
59 | *
60 | * Crash log files start with 7 byte magic identifier (#PLCRASH_REPORT_FILE_MAGIC),
61 | * followed by a single unsigned byte version number (#PLCRASH_REPORT_FILE_VERSION).
62 | * The crash log message format itself is extensible, so this version number will only
63 | * be incremented in the event of an incompatible encoding or format change.
64 | */
65 | struct PLCrashReportFileHeader {
66 | /** Crash log magic identifier, not NULL terminated */
67 | const char magic[7];
68 |
69 | /** Crash log encoding/format version */
70 | const uint8_t version;
71 |
72 | /** File data */
73 | const uint8_t data[];
74 | } __attribute__((packed));
75 |
76 |
77 | /**
78 | * @internal
79 | * Private decoder instance variables (used to hide the underlying protobuf parser).
80 | */
81 | typedef struct _PLCrashReportDecoder _PLCrashReportDecoder;
82 |
83 | @interface PLCrashReport : NSObject {
84 | @private
85 | /** Private implementation variables (used to hide the underlying protobuf parser) */
86 | _PLCrashReportDecoder *_decoder;
87 |
88 | /** System info */
89 | PLCrashReportSystemInfo *_systemInfo;
90 |
91 | /** Machine info */
92 | PLCrashReportMachineInfo *_machineInfo;
93 |
94 | /** Application info */
95 | PLCrashReportApplicationInfo *_applicationInfo;
96 |
97 | /** Process info */
98 | PLCrashReportProcessInfo *_processInfo;
99 |
100 | /** Signal info */
101 | PLCrashReportSignalInfo *_signalInfo;
102 |
103 | /** Mach exception info */
104 | PLCrashReportMachExceptionInfo *_machExceptionInfo;
105 |
106 | /** Thread info (PLCrashReportThreadInfo instances) */
107 | NSArray *_threads;
108 |
109 | /** Binary images (PLCrashReportBinaryImageInfo instances */
110 | NSArray *_images;
111 |
112 | /** Exception information (may be nil) */
113 | PLCrashReportExceptionInfo *_exceptionInfo;
114 |
115 | /** Report UUID */
116 | CFUUIDRef _uuid;
117 | }
118 |
119 | - (id) initWithData: (NSData *) encodedData error: (NSError **) outError;
120 |
121 | - (PLCrashReportBinaryImageInfo *) imageForAddress: (uint64_t) address;
122 |
123 | /**
124 | * System information.
125 | */
126 | @property(nonatomic, readonly) PLCrashReportSystemInfo *systemInfo;
127 |
128 | /**
129 | * YES if machine information is available.
130 | */
131 | @property(nonatomic, readonly) BOOL hasMachineInfo;
132 |
133 | /**
134 | * Machine information. Only available in later (v1.1+) crash report format versions. If not available,
135 | * will be nil.
136 | */
137 | @property(nonatomic, readonly) PLCrashReportMachineInfo *machineInfo;
138 |
139 | /**
140 | * Application information.
141 | */
142 | @property(nonatomic, readonly) PLCrashReportApplicationInfo *applicationInfo;
143 |
144 | /**
145 | * YES if process information is available.
146 | */
147 | @property(nonatomic, readonly) BOOL hasProcessInfo;
148 |
149 | /**
150 | * Process information. Only available in later (v1.1+) crash report format versions. If not available,
151 | * will be nil.
152 | */
153 | @property(nonatomic, readonly) PLCrashReportProcessInfo *processInfo;
154 |
155 | /**
156 | * Signal information. This provides the signal and signal code of the fatal signal.
157 | */
158 | @property(nonatomic, readonly) PLCrashReportSignalInfo *signalInfo;
159 |
160 | /**
161 | * Mach exception information, if available. This will only be included in the
162 | * case that encoding crash reporter's exception-based reporting was enabled, and a Mach
163 | * exception was caught.
164 | *
165 | * @warning If Mach exception information is available, the legacy signalInfo property will also be provided; this
166 | * s required to maintain backwards compatibility with the established API. Note, however, that the signal info may be derived from the
167 | * Mach exception info by the encoding crash reporter, and thus may not exactly match the kernel exception-to-signal
168 | * mappings implemented in xnu. As such, when Mach exception info is available, its use should be preferred.
169 | */
170 | @property(nonatomic, readonly) PLCrashReportMachExceptionInfo *machExceptionInfo;
171 |
172 | /**
173 | * Thread information. Returns a list of PLCrashReportThreadInfo instances.
174 | */
175 | @property(nonatomic, readonly) NSArray *threads;
176 |
177 | /**
178 | * Binary image information. Returns a list of PLCrashReportBinaryImageInfo instances.
179 | */
180 | @property(nonatomic, readonly) NSArray *images;
181 |
182 | /**
183 | * YES if exception information is available.
184 | */
185 | @property(nonatomic, readonly) BOOL hasExceptionInfo;
186 |
187 | /**
188 | * Exception information. Only available if a crash was caused by an uncaught exception,
189 | * otherwise nil.
190 | */
191 | @property(nonatomic, readonly) PLCrashReportExceptionInfo *exceptionInfo;
192 |
193 | /**
194 | * A client-generated 16-byte UUID. May be used to filter duplicate reports submitted or generated
195 | * by a single client. Only available in later (v1.2+) crash report format versions. If not available,
196 | * will be NULL.
197 | */
198 | @property(nonatomic, readonly) CFUUIDRef uuidRef;
199 |
200 | @end
201 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportApplicationInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2009 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | @interface PLCrashReportApplicationInfo : NSObject {
32 | @private
33 | /** Application identifier */
34 | NSString *_applicationIdentifier;
35 |
36 | /** Application version */
37 | NSString *_applicationVersion;
38 | }
39 |
40 | - (id) initWithApplicationIdentifier: (NSString *) applicationIdentifier
41 | applicationVersion: (NSString *) applicationVersion;
42 |
43 | /**
44 | * The application identifier. This is usually the application's CFBundleIdentifier value.
45 | */
46 | @property(nonatomic, readonly) NSString *applicationIdentifier;
47 |
48 | /**
49 | * The application version. This is usually the application's CFBundleVersion value.
50 | */
51 | @property(nonatomic, readonly) NSString *applicationVersion;
52 |
53 | @end
54 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportBinaryImageInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2009 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 | #import "PLCrashReportProcessorInfo.h"
31 |
32 | @interface PLCrashReportBinaryImageInfo : NSObject {
33 | @private
34 | /** Code type */
35 | PLCrashReportProcessorInfo *_processorInfo;
36 |
37 | /** Base image address */
38 | uint64_t _baseAddress;
39 |
40 | /** Image segment size */
41 | uint64_t _imageSize;
42 |
43 | /** Name of binary image */
44 | NSString *_imageName;
45 |
46 | /** If the UUID is available */
47 | BOOL _hasImageUUID;
48 |
49 | /** 128-bit object UUID. May be nil. */
50 | NSString *_imageUUID;
51 | }
52 |
53 | - (id) initWithCodeType: (PLCrashReportProcessorInfo *) processorInfo
54 | baseAddress: (uint64_t) baseAddress
55 | size: (uint64_t) imageSize
56 | name: (NSString *) imageName
57 | uuid: (NSData *) uuid;
58 |
59 | /**
60 | * Image code type, or nil if unavailable.
61 | */
62 | @property(nonatomic, readonly) PLCrashReportProcessorInfo *codeType;
63 |
64 | /**
65 | * Image base address.
66 | */
67 | @property(nonatomic, readonly) uint64_t imageBaseAddress;
68 |
69 | /**
70 | * Segment size.
71 | */
72 | @property(nonatomic, readonly) uint64_t imageSize;
73 |
74 | /**
75 | * Image name (absolute path)
76 | */
77 | @property(nonatomic, readonly) NSString *imageName;
78 |
79 |
80 | /**
81 | * YES if this image has an associated UUID.
82 | */
83 | @property(nonatomic, readonly) BOOL hasImageUUID;
84 |
85 | /**
86 | * 128-bit object UUID (matches Mach-O DWARF dSYM files). May be nil if unavailable.
87 | */
88 | @property(nonatomic, readonly) NSString *imageUUID;
89 |
90 | @end
91 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportExceptionInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2009 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 | #import "PLCrashReportThreadInfo.h"
31 |
32 |
33 | @interface PLCrashReportExceptionInfo : NSObject {
34 | @private
35 | /** Name */
36 | NSString *_name;
37 |
38 | /** Reason */
39 | NSString *_reason;
40 |
41 | /** Ordered list of PLCrashReportStackFrame instances, or nil if unavailable. */
42 | NSArray *_stackFrames;
43 | }
44 |
45 | - (id) initWithExceptionName: (NSString *) name reason: (NSString *) reason;
46 |
47 | - (id) initWithExceptionName: (NSString *) name
48 | reason: (NSString *) reason
49 | stackFrames: (NSArray *) stackFrames;
50 |
51 | /**
52 | * The exception name.
53 | */
54 | @property(nonatomic, readonly) NSString *exceptionName;
55 |
56 | /**
57 | * The exception reason.
58 | */
59 | @property(nonatomic, readonly) NSString *exceptionReason;
60 |
61 | /* The exception's original call stack, as an array of PLCrashReportStackFrameInfo instances, or nil if unavailable.
62 | * This may be preserved across rethrow of an exception, and can be used to determine the original call stack. */
63 | @property(nonatomic, readonly) NSArray *stackFrames;
64 |
65 | @end
66 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportFormatter.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2013 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | #import "PLCrashReport.h"
32 |
33 | /**
34 | * A crash report formatter accepts a PLCrashReport instance, formats it according to implementation-specified rules,
35 | * (such as implementing text output support), and returns the result.
36 | */
37 | @protocol PLCrashReportFormatter
38 |
39 | /**
40 | * Format the provided @a report.
41 | *
42 | * @param report Report to be formatted.
43 | * @param outError A pointer to an NSError object variable. If an error occurs, this pointer will contain an error
44 | * object indicating why the pending crash report could not be formatted. If no error occurs, this parameter will
45 | * be left unmodified. You may specify nil for this parameter, and no error information will be provided.
46 | *
47 | * @return Returns the formatted report data on success, or nil on failure.
48 | */
49 | - (NSData *) formatReport: (PLCrashReport *) report error: (NSError **) outError;
50 |
51 | @end
52 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachExceptionInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2013 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | @interface PLCrashReportMachExceptionInfo : NSObject {
32 | @private
33 | /** The Mach exception type. */
34 | uint64_t _type;
35 |
36 | /** The Mach exception codes, represented as an ordered array of NSNumber instances. */
37 | NSArray *_codes;
38 | }
39 |
40 | - (id) initWithType: (uint64_t) type codes: (NSArray *) codes;
41 |
42 | /** The Mach exception type. */
43 | @property(nonatomic, readonly) uint64_t type;
44 |
45 | /** The Mach exception codes, represented as an ordered array of 64-bit unsigned NSNumber instances. */
46 | @property(nonatomic, readonly) NSArray *codes;
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportMachineInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2013 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | #import "PLCrashReportProcessorInfo.h"
32 |
33 | @interface PLCrashReportMachineInfo : NSObject {
34 | @private
35 | /** The hardware model name (eg, MacBookPro6,1). This may be unavailable, and this property will be nil. */
36 | NSString *_modelName;
37 |
38 | /** The processor type. */
39 | PLCrashReportProcessorInfo *_processorInfo;
40 |
41 | /* The number of actual physical processor cores. */
42 | NSUInteger _processorCount;
43 |
44 | /* The number of logical processors. */
45 | NSUInteger _logicalProcessorCount;
46 | }
47 |
48 | - (id) initWithModelName: (NSString *) modelName
49 | processorInfo: (PLCrashReportProcessorInfo *) processorInfo
50 | processorCount: (NSUInteger) processorCount
51 | logicalProcessorCount: (NSUInteger) logicalProcessorCount;
52 |
53 | /** The hardware model name (eg, MacBookPro6,1). This may be unavailable, and this property will be nil. */
54 | @property(nonatomic, readonly) NSString *modelName;
55 |
56 | /** The processor type. This will be unavailable in reports generated prior to PLCrashReporter 1.2, in which case this property will be nil. */
57 | @property(nonatomic, readonly) PLCrashReportProcessorInfo *processorInfo;
58 |
59 | /*
60 | * The number of actual physical processor cores. Note that the number of active processors may be managed by the
61 | * operating system's power management system, and this value may not reflect the number of active
62 | * processors at the time of the crash.
63 | */
64 | @property(nonatomic, readonly) NSUInteger processorCount;
65 |
66 | /*
67 | * The number of logical processors. Note that the number of active processors may be managed by the
68 | * operating system's power management system, and this value may not reflect the number of active
69 | * processors at the time of the crash.
70 | */
71 | @property(nonatomic, readonly) NSUInteger logicalProcessorCount;
72 |
73 | @end
74 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Damian Morris
3 | *
4 | * Copyright (c) 2010 MOSO Corporation, Pty Ltd.
5 | * Copyright (c) 2010-2013 Plausible Labs Cooperative, Inc.
6 | *
7 | * All rights reserved.
8 | *
9 | * Permission is hereby granted, free of charge, to any person
10 | * obtaining a copy of this software and associated documentation
11 | * files (the "Software"), to deal in the Software without
12 | * restriction, including without limitation the rights to use,
13 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
14 | * copies of the Software, and to permit persons to whom the
15 | * Software is furnished to do so, subject to the following
16 | * conditions:
17 | *
18 | * The above copyright notice and this permission notice shall be
19 | * included in all copies or substantial portions of the Software.
20 | *
21 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
23 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
26 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
28 | * OTHER DEALINGS IN THE SOFTWARE.
29 | */
30 |
31 | #import
32 |
33 | @interface PLCrashReportProcessInfo : NSObject {
34 | @private
35 | /** Process name, or nil if unavailable. */
36 | NSString *_processName;
37 |
38 | /** Process ID */
39 | NSUInteger _processID;
40 |
41 | /** Process path */
42 | NSString* _processPath;
43 |
44 | /** Date and time that the crashing process was started. This may be unavailable, and this property
45 | * will be nil. */
46 | NSDate *_processStartTime;
47 |
48 | /** Parent process name, or nil if unavailable. */
49 | NSString *_parentProcessName;
50 |
51 | /** Parent process ID */
52 | NSUInteger _parentProcessID;
53 |
54 | /** If false, the process is being run via process-level CPU emulation (such as Rosetta). */
55 | BOOL _native;
56 | }
57 |
58 | - (id) initWithProcessName: (NSString *) processName
59 | processID: (NSUInteger) processID
60 | processPath: (NSString *) processPath
61 | processStartTime: (NSDate *) processStartTime
62 | parentProcessName: (NSString *) parentProcessName
63 | parentProcessID: (NSUInteger) parentProcessID
64 | native: (BOOL) native;
65 |
66 | /**
67 | * The process name. This value may not be included in the crash report, in which case this property
68 | * will be nil.
69 | */
70 | @property(nonatomic, readonly) NSString *processName;
71 |
72 | /**
73 | * The process ID.
74 | */
75 | @property(nonatomic, readonly) NSUInteger processID;
76 |
77 | /**
78 | * The path to the process executable. This value may not be included in the crash report, in which case this property
79 | * will be nil.
80 | */
81 | @property(nonatomic, readonly) NSString *processPath;
82 |
83 | /**
84 | * Date and time that the crashing process was started. This value may not be included in the crash report, in which case this property
85 | * will be nil.
86 | */
87 | @property(nonatomic, readonly) NSDate *processStartTime;
88 |
89 | /**
90 | * The parent process name. This value may not be included in the crash report, in which case this property
91 | * will be nil.
92 | */
93 | @property(nonatomic, readonly) NSString *parentProcessName;
94 |
95 | /**
96 | * The parent process ID.
97 | */
98 | @property(nonatomic, readonly) NSUInteger parentProcessID;
99 |
100 | /** The process' native execution status. If false, the process is being run via process-level CPU emulation (such as Rosetta). */
101 | @property(nonatomic, readonly) BOOL native;
102 |
103 | @end
104 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportProcessorInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2013 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 | #import
31 |
32 | /**
33 | * @ingroup constants
34 | *
35 | * The type encodings supported for CPU types and subtypes. Currently only Apple
36 | * Mach-O defined encodings are supported.
37 | *
38 | * @internal
39 | * These enum values match the protobuf values. Keep them synchronized.
40 | */
41 | typedef enum {
42 | /** Unknown cpu type encoding. */
43 | PLCrashReportProcessorTypeEncodingUnknown = 0,
44 |
45 | /** Apple Mach-defined processor types. */
46 | PLCrashReportProcessorTypeEncodingMach = 1
47 | } PLCrashReportProcessorTypeEncoding;
48 |
49 | @interface PLCrashReportProcessorInfo : NSObject {
50 | @private
51 | /** Type encoding */
52 | PLCrashReportProcessorTypeEncoding _typeEncoding;
53 |
54 | /** CPU type */
55 | uint64_t _type;
56 |
57 | /** CPU subtype */
58 | uint64_t _subtype;
59 | }
60 |
61 | - (id) initWithTypeEncoding: (PLCrashReportProcessorTypeEncoding) typeEncoding
62 | type: (uint64_t) type
63 | subtype: (uint64_t) subtype;
64 |
65 | /** The CPU type encoding. */
66 | @property(nonatomic, readonly) PLCrashReportProcessorTypeEncoding typeEncoding;
67 |
68 | /** The CPU type. */
69 | @property(nonatomic, readonly) uint64_t type;
70 |
71 | /** The CPU subtype. */
72 | @property(nonatomic, readonly) uint64_t subtype;
73 |
74 | @end
75 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportRegisterInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2013 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | @interface PLCrashReportRegisterInfo : NSObject {
32 | @private
33 | /** Register name */
34 | NSString *_registerName;
35 |
36 | /** Register value */
37 | uint64_t _registerValue;
38 | }
39 |
40 | - (id) initWithRegisterName: (NSString *) registerName registerValue: (uint64_t) registerValue;
41 |
42 | /**
43 | * Register name.
44 | */
45 | @property(nonatomic, readonly) NSString *registerName;
46 |
47 | /**
48 | * Register value.
49 | */
50 | @property(nonatomic, readonly) uint64_t registerValue;
51 |
52 | @end
53 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportSignalInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2009 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | @interface PLCrashReportSignalInfo : NSObject {
32 | @private
33 | /** Signal name */
34 | NSString *_name;
35 |
36 | /** Signal code */
37 | NSString *_code;
38 |
39 | /** Fauling instruction or address */
40 | uint64_t _address;
41 | }
42 |
43 | - (id) initWithSignalName: (NSString *) name code: (NSString *) code address: (uint64_t) address;
44 |
45 | /**
46 | * The signal name.
47 | */
48 | @property(nonatomic, readonly) NSString *name;
49 |
50 | /**
51 | * The signal code.
52 | */
53 | @property(nonatomic, readonly) NSString *code;
54 |
55 | /**
56 | * The faulting instruction or address.
57 | */
58 | @property(nonatomic, readonly) uint64_t address;
59 |
60 | @end
61 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportStackFrameInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2013 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 | #import "PLCrashReportSymbolInfo.h"
31 |
32 | @interface PLCrashReportStackFrameInfo : NSObject {
33 | @private
34 | /** Frame instruction pointer. */
35 | uint64_t _instructionPointer;
36 |
37 | /** Symbol information, if available. Otherwise, will be nil. */
38 | PLCrashReportSymbolInfo *_symbolInfo;
39 | }
40 |
41 | - (id) initWithInstructionPointer: (uint64_t) instructionPointer symbolInfo: (PLCrashReportSymbolInfo *) symbolInfo;
42 |
43 | /**
44 | * Frame's instruction pointer.
45 | */
46 | @property(nonatomic, readonly) uint64_t instructionPointer;
47 |
48 | /** Symbol information for this frame.
49 | * This may be unavailable, and this property will be nil. */
50 | @property(nonatomic, readonly) PLCrashReportSymbolInfo *symbolInfo;
51 |
52 | @end
53 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportSymbolInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2012-2013 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | @interface PLCrashReportSymbolInfo : NSObject {
32 | @private
33 | /** The symbol name. */
34 | NSString *_symbolName;
35 |
36 | /** The symbol start address. */
37 | uint64_t _startAddress;
38 |
39 | /** The symbol end address, if explicitly defined. Will be 0 if unknown. */
40 | uint64_t _endAddress;
41 | }
42 |
43 | - (id) initWithSymbolName: (NSString *) symbolName
44 | startAddress: (uint64_t) startAddress
45 | endAddress: (uint64_t) endAddress;
46 |
47 | /** The symbol name. */
48 | @property(nonatomic, readonly) NSString *symbolName;
49 |
50 | /** The symbol start address. */
51 | @property(nonatomic, readonly) uint64_t startAddress;
52 |
53 | /* The symbol end address, if explicitly defined. This will only be included if the end address is
54 | * explicitly defined (eg, by DWARF debugging information), will not be derived by best-guess
55 | * heuristics.
56 | *
57 | * If unknown, the address will be 0.
58 | */
59 | @property(nonatomic, readonly) uint64_t endAddress;
60 |
61 | @end
62 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportSystemInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2009 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | /**
32 | * @ingroup constants
33 | *
34 | * Indicates the Operating System under which a Crash Log was generated.
35 | *
36 | * @internal
37 | * These enum values match the protobuf values. Keep them synchronized.
38 | */
39 | typedef enum {
40 | /** Mac OS X. */
41 | PLCrashReportOperatingSystemMacOSX = 0,
42 |
43 | /** iPhone OS */
44 | PLCrashReportOperatingSystemiPhoneOS = 1,
45 |
46 | /** iPhone Simulator (Mac OS X with additional simulator-specific runtime libraries) */
47 | PLCrashReportOperatingSystemiPhoneSimulator = 2,
48 |
49 | /** Unknown operating system */
50 | PLCrashReportOperatingSystemUnknown = 3,
51 | } PLCrashReportOperatingSystem;
52 |
53 | /**
54 | * @ingroup constants
55 | *
56 | * Indicates the architecture under which a Crash Log was generated.
57 | *
58 | * @deprecated The architecture value has been deprecated in v1.1 and later crash reports. All new reports
59 | * will make use of the new PLCrashReportProcessorInfo CPU type encodings.
60 | *
61 | * @internal
62 | * These enum values match the protobuf values. Keep them synchronized.
63 | */
64 | typedef enum {
65 | /** x86-32. */
66 | PLCrashReportArchitectureX86_32 = 0,
67 |
68 | /** x86-64 */
69 | PLCrashReportArchitectureX86_64 = 1,
70 |
71 | /** ARMv6 */
72 | PLCrashReportArchitectureARMv6 = 2,
73 |
74 | /**
75 | * ARMv6
76 | * @deprecated This value has been deprecated in favor of ARM subtype-specific
77 | * values.
78 | * @sa PLCrashReportArchitectureARMv6
79 | */
80 | PLCrashReportArchitectureARM = PLCrashReportArchitectureARMv6,
81 |
82 | /** PPC */
83 | PLCrashReportArchitecturePPC = 3,
84 |
85 | /** PPC64 */
86 | PLCrashReportArchitecturePPC64 = 4,
87 |
88 | /** ARMv7 */
89 | PLCrashReportArchitectureARMv7 = 5,
90 |
91 | /** Unknown */
92 | PLCrashReportArchitectureUnknown = 6
93 | } PLCrashReportArchitecture;
94 |
95 |
96 | extern PLCrashReportOperatingSystem PLCrashReportHostOperatingSystem;
97 | extern PLCrashReportArchitecture PLCrashReportHostArchitecture;
98 |
99 | @interface PLCrashReportSystemInfo : NSObject {
100 | @private
101 | /** Operating system */
102 | PLCrashReportOperatingSystem _operatingSystem;
103 |
104 | /** Operating system version */
105 | NSString *_osVersion;
106 |
107 | /** OS build. May be nil. */
108 | NSString *_osBuild;
109 |
110 | /** Architecture */
111 | PLCrashReportArchitecture _architecture;
112 |
113 | /** Date crash report was generated. May be nil if the date is unknown. */
114 | NSDate *_timestamp;
115 | }
116 |
117 | - (id) initWithOperatingSystem: (PLCrashReportOperatingSystem) operatingSystem
118 | operatingSystemVersion: (NSString *) operatingSystemVersion
119 | architecture: (PLCrashReportArchitecture) architecture
120 | timestamp: (NSDate *) timestamp;
121 |
122 | - (id) initWithOperatingSystem: (PLCrashReportOperatingSystem) operatingSystem
123 | operatingSystemVersion: (NSString *) operatingSystemVersion
124 | operatingSystemBuild: (NSString *) operatingSystemBuild
125 | architecture: (PLCrashReportArchitecture) architecture
126 | timestamp: (NSDate *) timestamp;
127 |
128 | /** The operating system. */
129 | @property(nonatomic, readonly) PLCrashReportOperatingSystem operatingSystem;
130 |
131 | /** The operating system's release version. */
132 | @property(nonatomic, readonly) NSString *operatingSystemVersion;
133 |
134 | /** The operating system's build identifier (eg, 10J869). This may be unavailable, and this property will be nil. */
135 | @property(nonatomic, readonly) NSString *operatingSystemBuild;
136 |
137 | /** Architecture. @deprecated The architecture value has been deprecated in v1.1 and later crash reports. All new reports
138 | * include the CPU type as part of the crash report's machine info structure, using the PLCrashReportProcessorInfo
139 | * extensible encoding. */
140 | @property(nonatomic, readonly) PLCrashReportArchitecture architecture;
141 |
142 | /** Date and time that the crash report was generated. This may be unavailable, and this property will be nil. */
143 | @property(nonatomic, readonly) NSDate *timestamp;
144 |
145 | @end
146 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportTextFormatter.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Authors:
3 | * Landon Fuller
4 | * Damian Morris
5 | *
6 | * Copyright (c) 2008-2013 Plausible Labs Cooperative, Inc.
7 | * Copyright (c) 2010 MOSO Corporation, Pty Ltd.
8 | * All rights reserved.
9 | *
10 | * Permission is hereby granted, free of charge, to any person
11 | * obtaining a copy of this software and associated documentation
12 | * files (the "Software"), to deal in the Software without
13 | * restriction, including without limitation the rights to use,
14 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
15 | * copies of the Software, and to permit persons to whom the
16 | * Software is furnished to do so, subject to the following
17 | * conditions:
18 | *
19 | * The above copyright notice and this permission notice shall be
20 | * included in all copies or substantial portions of the Software.
21 | *
22 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
24 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
27 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
29 | * OTHER DEALINGS IN THE SOFTWARE.
30 | */
31 |
32 |
33 | #import
34 |
35 | #import "PLCrashReportFormatter.h"
36 |
37 | /**
38 | * Supported text output formats.
39 | *
40 | * @ingroup enums
41 | */
42 | typedef enum {
43 | /** An iOS-compatible crash log text format. Compatible with the crash logs generated by the device and available
44 | * through iTunes Connect. */
45 | PLCrashReportTextFormatiOS = 0
46 | } PLCrashReportTextFormat;
47 |
48 |
49 | @interface PLCrashReportTextFormatter : NSObject {
50 | @private
51 | /** Text output format. */
52 | PLCrashReportTextFormat _textFormat;
53 |
54 | /** Encoding to use for string output. */
55 | NSStringEncoding _stringEncoding;
56 | }
57 |
58 | + (NSString *) stringValueForCrashReport: (PLCrashReport *) report withTextFormat: (PLCrashReportTextFormat) textFormat;
59 |
60 | - (id) initWithTextFormat: (PLCrashReportTextFormat) textFormat stringEncoding: (NSStringEncoding) stringEncoding;
61 |
62 | @end
63 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReportThreadInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2009 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | #import "PLCrashReportStackFrameInfo.h"
32 | #import "PLCrashReportRegisterInfo.h"
33 |
34 | @interface PLCrashReportThreadInfo : NSObject {
35 | @private
36 | /** The thread number. Should be unique within a given crash log. */
37 | NSInteger _threadNumber;
38 |
39 | /** Ordered list of PLCrashReportStackFrame instances */
40 | NSArray *_stackFrames;
41 |
42 | /** YES if this thread crashed. */
43 | BOOL _crashed;
44 |
45 | /** List of PLCrashReportRegister instances. Will be empty if _crashed is NO. */
46 | NSArray *_registers;
47 | }
48 |
49 | - (id) initWithThreadNumber: (NSInteger) threadNumber
50 | stackFrames: (NSArray *) stackFrames
51 | crashed: (BOOL) crashed
52 | registers: (NSArray *) registers;
53 |
54 | /**
55 | * Application thread number.
56 | */
57 | @property(nonatomic, readonly) NSInteger threadNumber;
58 |
59 | /**
60 | * Thread backtrace. Provides an array of PLCrashReportStackFrameInfo instances.
61 | * The array is ordered, last callee to first.
62 | */
63 | @property(nonatomic, readonly) NSArray *stackFrames;
64 |
65 | /**
66 | * If this thread crashed, set to YES.
67 | */
68 | @property(nonatomic, readonly) BOOL crashed;
69 |
70 | /**
71 | * State of the general purpose and related registers, as a list of
72 | * PLCrashReportRegister instances. If this thead did not crash (crashed returns NO),
73 | * this list will be empty.
74 | */
75 | @property(nonatomic, readonly) NSArray *registers;
76 |
77 | @end
78 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReporter.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2008-2009 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 | #import
31 |
32 | #import "PLCrashReporterConfig.h"
33 |
34 | @class PLCrashMachExceptionServer;
35 | @class PLCrashMachExceptionPortSet;
36 |
37 | /**
38 | * @ingroup functions
39 | *
40 | * Prototype of a callback function used to execute additional user code with signal information as provided
41 | * by PLCrashReporter. Called upon completion of crash handling, after the crash report has been written to disk.
42 | *
43 | * @param info The signal info.
44 | * @param uap The crash's threads context.
45 | * @param context The API client's supplied context value.
46 | *
47 | * @sa @ref async_safety
48 | * @sa PLCrashReporter::setPostCrashCallbacks:
49 | */
50 | typedef void (*PLCrashReporterPostCrashSignalCallback)(siginfo_t *info, ucontext_t *uap, void *context);
51 |
52 | /**
53 | * @ingroup types
54 | *
55 | * This structure contains callbacks supported by PLCrashReporter to allow the host application to perform
56 | * additional tasks prior to program termination after a crash has occured.
57 | *
58 | * @sa @ref async_safety
59 | */
60 | typedef struct PLCrashReporterCallbacks {
61 | /** The version number of this structure. If not one of the defined version numbers for this type, the behavior
62 | * is undefined. The current version of this structure is 0. */
63 | uint16_t version;
64 |
65 | /** An arbitrary user-supplied context value. This value may be NULL. */
66 | void *context;
67 |
68 | /**
69 | * The callback used to report caught signal information. In version 0 of this structure, all crashes will be
70 | * reported via this function.
71 | *
72 | * @warning When using PLCrashReporterSignalHandlerTypeMach, the siginfo_t argument to this function will be derived
73 | * from the Mach exception data, and may be incorrect, or may otherwise not match the expected data as provided via
74 | * PLCrashReporterSignalHandlerTypeBSD. In addition, the provided ucontext_t value will be zero-initialized, and will
75 | * not provide valid thread state.
76 | *
77 | * This callback will be deprecated in favor of a Mach-compatible replacement in a future release; support is maintained
78 | * here to allow clients that rely on post-crash callbacks without thread state to make use of Mach exceptions.
79 | */
80 | PLCrashReporterPostCrashSignalCallback handleSignal;
81 | } PLCrashReporterCallbacks;
82 |
83 | @interface PLCrashReporter : NSObject {
84 | @private
85 | /** Reporter configuration */
86 | PLCrashReporterConfig *_config;
87 |
88 | /** YES if the crash reporter has been enabled */
89 | BOOL _enabled;
90 |
91 | #if PLCRASH_FEATURE_MACH_EXCEPTIONS
92 | /** The backing Mach exception server, if any. Nil if the reporter has not been enabled, or if
93 | * the configured signal handler type is not PLCrashReporterSignalHandlerTypeMach. */
94 | PLCrashMachExceptionServer *_machServer;
95 |
96 | /** Previously registered Mach exception ports, if any. */
97 | PLCrashMachExceptionPortSet *_previousMachPorts;
98 | #endif /* PLCRASH_FEATURE_MACH_EXCEPTIONS */
99 |
100 | /** Application identifier */
101 | NSString *_applicationIdentifier;
102 |
103 | /** Application version */
104 | NSString *_applicationVersion;
105 |
106 | /** Path to the crash reporter internal data directory */
107 | NSString *_crashReportDirectory;
108 | }
109 |
110 | + (PLCrashReporter *) sharedReporter;
111 |
112 | - (instancetype) initWithConfiguration: (PLCrashReporterConfig *) config;
113 |
114 | - (BOOL) hasPendingCrashReport;
115 |
116 | - (NSData *) loadPendingCrashReportData;
117 | - (NSData *) loadPendingCrashReportDataAndReturnError: (NSError **) outError;
118 |
119 | - (NSData *) generateLiveReportWithThread: (thread_t) thread;
120 | - (NSData *) generateLiveReportWithThread: (thread_t) thread error: (NSError **) outError;
121 |
122 | - (NSData *) generateLiveReport;
123 | - (NSData *) generateLiveReportAndReturnError: (NSError **) outError;
124 |
125 | - (BOOL) purgePendingCrashReport;
126 | - (BOOL) purgePendingCrashReportAndReturnError: (NSError **) outError;
127 |
128 | - (BOOL) enableCrashReporter;
129 | - (BOOL) enableCrashReporterAndReturnError: (NSError **) outError;
130 |
131 | - (void) setCrashCallbacks: (PLCrashReporterCallbacks *) callbacks;
132 |
133 | @end
134 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Headers/PLCrashReporterConfig.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Landon Fuller
3 | *
4 | * Copyright (c) 2013 Plausible Labs Cooperative, Inc.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 | #import "PLCrashFeatureConfig.h"
31 |
32 | /**
33 | * @ingroup enums
34 | * Supported mechanisms for trapping and handling crashes.
35 | */
36 | typedef NS_ENUM(NSUInteger, PLCrashReporterSignalHandlerType) {
37 | /**
38 | * Trap fatal signals via a sigaction(2)-registered BSD signal handler.
39 | *
40 | * PLCrashReporter's signal handler will supersede previously registered handlers; existing
41 | * handlers will not be called. This behavior may be modified in a future release, and should
42 | * not be relied upon as a mechanism to prevent existing signal handlers from being called.
43 | *
44 | * There are some limitations to signal-based crash handling on Mac OS X and iOS; specifically:
45 | *
46 | * - On Mac OS X, stack overflows will only be handled on the thread on which
47 | * the crash reporter was initialized. This should generally be the main thread.
48 | * - On iOS 6.0 and later, any stack overflows will not be handled due to sigaltstack() being
49 | * non-functional on the device. (see rdar://13002712 - SA_ONSTACK/sigaltstack() ignored on iOS).
50 | * - Some exit paths in Apple's Libc will deregister a signal handler before firing SIGABRT, resulting
51 | * in the signal handler never being called (see rdar://14313497 - ___abort() disables SIGABRT signal
52 | * handlers prior to raising SIGABRT). These __abort()-based checks are:
53 | * - Implemented for unsafe memcpy/strcpy/snprintf C functions.
54 | * - Only enabled when operating on a fixed-width target buffer (in which case the
55 | * compiler rewrites the function calls to the built-in variants, and provides the fixed-width length as an argument).
56 | * - Only trigger in the case that the source data exceeds the size of the fixed width target
57 | * buffer, and the maximum length argument either isn't supplied by the caller (eg, when using strcpy),
58 | * or a too-long argument is supplied (eg, strncpy with a length argument longer than the target buffer),
59 | * AND that argument can't be checked at compile-time.
60 | */
61 | PLCrashReporterSignalHandlerTypeBSD = 0,
62 |
63 | #if PLCRASH_FEATURE_MACH_EXCEPTIONS
64 | /**
65 | * Trap fatal signals via a Mach exception server.
66 | *
67 | * If any existing Mach exception server has been registered for the task, exceptions will be forwarded to that
68 | * exception handler. Should the exceptions be handled by an existing handler, no report will be generated
69 | * by PLCrashReporter.
70 | *
71 | * @par Mac OS X
72 | *
73 | * On Mac OS X, the Mach exception implementation is fully supported, using publicly available API -- note,
74 | * however, that some kernel-internal constants, as well as architecture-specific trap information,
75 | * may be required to fully interpret a Mach exception's root cause.
76 | *
77 | * @par iOS
78 | *
79 | * On iOS, the APIs required for a complete implementation are not fully public.
80 | *
81 | * The exposed surface of undocumented API usage is relatively low, and there has been strong user demand to
82 | * implement Mach exception handling regardless of concerns over API visiblity. Given this, we've included
83 | * Mach exception handling as an optional feature, with both build-time and runtime configuration
84 | * to disable its inclusion or use, respectively.
85 | *
86 | * @par Debugger Incompatibility
87 | *
88 | * The Mach exception handler executes in-process, and will interfere with debuggers when they attempt to
89 | * suspend all active threads (which will include the Mach exception handler). Mach-based handling
90 | * should not be used when a debugger is attached.
91 | *
92 | * @par More Details
93 | *
94 | * For more information, refer to @ref mach_exceptions.
95 | */
96 | PLCrashReporterSignalHandlerTypeMach = 1
97 | #endif /* PLCRASH_FEATURE_MACH_EXCEPTIONS */
98 | };
99 |
100 | /**
101 | * @ingroup enums
102 | * Supported mechanisms for performing local symbolication.
103 | *
104 | * Local symbolication is performed using inexact heuristics and symbol data available at runtime; it may
105 | * return information that is incorrect. This may still be useful in the case where DWARF data is unavailable
106 | * for a given build; in that case, it can provide function and method names (though not line numbers) for a
107 | * crash report that may otherwise be unusable.
108 | *
109 | * Note, however, this comes at the cost of a significant increase in code that must run within the critical
110 | * crash reporting section, where failures may result in crash reports being corrupted or left unwritten. In
111 | * addition, some of the provided symbolication strategies rely on knowledge of runtime internals that may
112 | * change in future iOS releases. Given that DWARF symbolication data will always be more accurate, and
113 | * the risks inherent in executing considerably more code at crash time, it is strongly recommended that local
114 | * symbolication only be enabled for non-release builds.
115 | *
116 | * Multiple symbolication strategies may be enabled, in which case a best-match heuristic will be applied to the
117 | * results.
118 | */
119 | typedef NS_OPTIONS(NSUInteger, PLCrashReporterSymbolicationStrategy) {
120 | /** No symbolication. */
121 | PLCrashReporterSymbolicationStrategyNone = 0,
122 |
123 | /**
124 | * Use the standard binary symbol table. On iOS, this alone will return
125 | * incomplete results, as most symbols are rewritten to the common '\' string.
126 | */
127 | PLCrashReporterSymbolicationStrategySymbolTable = 1 << 0,
128 |
129 | /**
130 | * Use Objective-C metadata to find method and class names. This relies on detailed parsing
131 | * of the Objective-C runtime data, including undefined flags and other runtime internals. As such,
132 | * it may return incorrect data should the runtime be changed incompatibly.
133 | */
134 | PLCrashReporterSymbolicationStrategyObjC = 1 << 1,
135 |
136 | /**
137 | * Enable all available symbolication strategies.
138 | */
139 | PLCrashReporterSymbolicationStrategyAll = (PLCrashReporterSymbolicationStrategySymbolTable|PLCrashReporterSymbolicationStrategyObjC)
140 | };
141 |
142 | @interface PLCrashReporterConfig : NSObject {
143 | @private
144 | /** The configured signal handler type. */
145 | PLCrashReporterSignalHandlerType _signalHandlerType;
146 |
147 | /** The configured symbolication strategy. */
148 | PLCrashReporterSymbolicationStrategy _symbolicationStrategy;
149 | }
150 |
151 | + (instancetype) defaultConfiguration;
152 |
153 | - (instancetype) init;
154 | - (instancetype) initWithSignalHandlerType: (PLCrashReporterSignalHandlerType) signalHandlerType
155 | symbolicationStrategy: (PLCrashReporterSymbolicationStrategy) symbolicationStrategy;
156 |
157 | /** The configured signal handler type. */
158 | @property(nonatomic, readonly) PLCrashReporterSignalHandlerType signalHandlerType;
159 |
160 | /** The configured symbolication strategy. */
161 | @property(nonatomic, readonly) PLCrashReporterSymbolicationStrategy symbolicationStrategy;
162 |
163 |
164 | @end
165 |
166 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/Resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 13D65
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | CrashReporter
11 | CFBundleIdentifier
12 | coop.plausible.CrashReporter
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | CrashReporter
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | DTCompiler
24 | com.apple.compilers.llvm.clang.1_0
25 | DTPlatformBuild
26 | 5B1008
27 | DTPlatformVersion
28 | GM
29 | DTSDKBuild
30 | 13C64
31 | DTSDKName
32 | macosx10.9
33 | DTXcode
34 | 0511
35 | DTXcodeBuild
36 | 5B1008
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/A/_CodeSignature/CodeResources:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | files
6 |
7 | Resources/Info.plist
8 |
9 | /oYwnQw7JKV9CUzkg0CPds46IyQ=
10 |
11 |
12 | files2
13 |
14 | Headers/CrashReporter.h
15 |
16 | 7xsg9vGcsQTBwvZis1seTyWzj2o=
17 |
18 | Headers/PLCrashFeatureConfig.h
19 |
20 | LDGvxseh8tS58dCXSDLs9sl1xsg=
21 |
22 | Headers/PLCrashNamespace.h
23 |
24 | YIR3/n+WlTxIshbUfZGxEmS8NVs=
25 |
26 | Headers/PLCrashReport.h
27 |
28 | f6vhbTsb6QuLUtVrcQTSHn+rCh0=
29 |
30 | Headers/PLCrashReportApplicationInfo.h
31 |
32 | JOHU29KLc0oQ61aBQco/jHzATug=
33 |
34 | Headers/PLCrashReportBinaryImageInfo.h
35 |
36 | wUk3q2RSAeHfI6oLwgsE5TrJsEE=
37 |
38 | Headers/PLCrashReportExceptionInfo.h
39 |
40 | MPMELXDZ4fFh2g+h9kSWD2lc7dA=
41 |
42 | Headers/PLCrashReportFormatter.h
43 |
44 | z85dT7uYVbX/RXTw3QjIqRVdUdI=
45 |
46 | Headers/PLCrashReportMachExceptionInfo.h
47 |
48 | g/HvceS1FRIxNEY2Ti23iREzCnw=
49 |
50 | Headers/PLCrashReportMachineInfo.h
51 |
52 | tL65nCUiRMC5w2WtDIFnTyz4+Q8=
53 |
54 | Headers/PLCrashReportProcessInfo.h
55 |
56 | 42o1Okj89r+QvrXDct0vLm4WOIw=
57 |
58 | Headers/PLCrashReportProcessorInfo.h
59 |
60 | WEkRtOu12c0Wh4WByQj7lh686to=
61 |
62 | Headers/PLCrashReportRegisterInfo.h
63 |
64 | 872VuuQPjYzW6Bbdb/b8Uk6BZvU=
65 |
66 | Headers/PLCrashReportSignalInfo.h
67 |
68 | eZCzpmHnEN7W6AfXl0OP0q+x5uU=
69 |
70 | Headers/PLCrashReportStackFrameInfo.h
71 |
72 | fv343cEekoAv9Uo/0M5EjARA9YM=
73 |
74 | Headers/PLCrashReportSymbolInfo.h
75 |
76 | oSkPg1TeIe52wPqUDIlawEa/+IY=
77 |
78 | Headers/PLCrashReportSystemInfo.h
79 |
80 | 4/Wz6RcclID+Ck+eDt9dDyU5KQA=
81 |
82 | Headers/PLCrashReportTextFormatter.h
83 |
84 | jl7gntYt4kJjWcM3u2RXW7QAWQc=
85 |
86 | Headers/PLCrashReportThreadInfo.h
87 |
88 | w9dsgShOEMyx7LCR7wMR8q9azMs=
89 |
90 | Headers/PLCrashReporter.h
91 |
92 | 3TGTYh2Wg62AxsWB8yrN7vXdzeA=
93 |
94 | Headers/PLCrashReporterConfig.h
95 |
96 | cOYa3DmbiUJtzles7pmdSSxCiqI=
97 |
98 | Resources/Info.plist
99 |
100 | /oYwnQw7JKV9CUzkg0CPds46IyQ=
101 |
102 |
103 | rules
104 |
105 | ^Resources/
106 |
107 | ^Resources/.*\.lproj/
108 |
109 | optional
110 |
111 | weight
112 | 1000
113 |
114 | ^Resources/.*\.lproj/locversion.plist$
115 |
116 | omit
117 |
118 | weight
119 | 1100
120 |
121 | ^version.plist$
122 |
123 |
124 | rules2
125 |
126 | .*\.dSYM($|/)
127 |
128 | weight
129 | 11
130 |
131 | ^(.*/)?\.DS_Store$
132 |
133 | omit
134 |
135 | weight
136 | 2000
137 |
138 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
139 |
140 | nested
141 |
142 | weight
143 | 10
144 |
145 | ^.*
146 |
147 | ^Info\.plist$
148 |
149 | omit
150 |
151 | weight
152 | 20
153 |
154 | ^PkgInfo$
155 |
156 | omit
157 |
158 | weight
159 | 20
160 |
161 | ^Resources/
162 |
163 | weight
164 | 20
165 |
166 | ^Resources/.*\.lproj/
167 |
168 | optional
169 |
170 | weight
171 | 1000
172 |
173 | ^Resources/.*\.lproj/locversion.plist$
174 |
175 | omit
176 |
177 | weight
178 | 1100
179 |
180 | ^[^/]+$
181 |
182 | nested
183 |
184 | weight
185 | 10
186 |
187 | ^embedded\.provisionprofile$
188 |
189 | weight
190 | 20
191 |
192 | ^version\.plist$
193 |
194 | weight
195 | 20
196 |
197 |
198 |
199 |
200 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Frameworks/CrashReporter.framework/Versions/Current:
--------------------------------------------------------------------------------
1 | A
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Headers/BITCrashDetails.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Andreas Linde
3 | *
4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | /**
32 | * Provides details about the crash that occured in the previous app session
33 | */
34 | @interface BITCrashDetails : NSObject
35 |
36 | /**
37 | * UUID for the crash report
38 | */
39 | @property (nonatomic, readonly, strong) NSString *incidentIdentifier;
40 |
41 | /**
42 | * UUID for the app installation on the device
43 | */
44 | @property (nonatomic, readonly, strong) NSString *reporterKey;
45 |
46 | /**
47 | * Signal that caused the crash
48 | */
49 | @property (nonatomic, readonly, strong) NSString *signal;
50 |
51 | /**
52 | * Exception name that triggered the crash, nil if the crash was not caused by an exception
53 | */
54 | @property (nonatomic, readonly, strong) NSString *exceptionName;
55 |
56 | /**
57 | * Exception reason, nil if the crash was not caused by an exception
58 | */
59 | @property (nonatomic, readonly, strong) NSString *exceptionReason;
60 |
61 | /**
62 | * Date and time the app started, nil if unknown
63 | */
64 | @property (nonatomic, readonly, strong) NSDate *appStartTime;
65 |
66 | /**
67 | * Date and time the crash occured, nil if unknown
68 | */
69 | @property (nonatomic, readonly, strong) NSDate *crashTime;
70 |
71 | /**
72 | * Operation System version string the app was running on when it crashed.
73 | */
74 | @property (nonatomic, readonly, strong) NSString *osVersion;
75 |
76 | /**
77 | * Operation System build string the app was running on when it crashed
78 | *
79 | * This may be unavailable.
80 | */
81 | @property (nonatomic, readonly, strong) NSString *osBuild;
82 |
83 | /**
84 | * CFBundleVersion value of the app that crashed
85 | */
86 | @property (nonatomic, readonly, strong) NSString *appBuild;
87 |
88 | /**
89 | Indicates if the app was killed while being in foreground from the iOS
90 |
91 | If `[BITCrashManager enableAppNotTerminatingCleanlyDetection]` is enabled, use this on startup
92 | to check if the app starts the first time after it was killed by iOS in the previous session.
93 |
94 | This can happen if it consumed too much memory or the watchdog killed the app because it
95 | took too long to startup or blocks the main thread for too long, or other reasons. See Apple
96 | documentation: https://developer.apple.com/library/ios/qa/qa1693/_index.html
97 |
98 | See `[BITCrashManager enableAppNotTerminatingCleanlyDetection]` for more details about which kind of kills can be detected.
99 |
100 | @warning This property only has a correct value, once `[BITHockeyManager startManager]` was
101 | invoked! In addition, it is automatically disabled while a debugger session is active!
102 |
103 | @see `[BITCrashManager enableAppNotTerminatingCleanlyDetection]`
104 | @see `[BITCrashManager didReceiveMemoryWarningInLastSession]`
105 |
106 | @return YES if the details represent an app kill instead of a crash
107 | */
108 | - (BOOL)isAppKill;
109 |
110 | @end
111 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Headers/BITCrashExceptionApplication.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Andreas Linde
3 | *
4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | /**
32 | * `NSApplication` subclass to catch additional exceptions
33 | *
34 | * On OS X runtime not all uncaught exceptions do end in an custom `NSUncaughtExceptionHandler`.
35 | * In addition "sometimes" exceptions don't even cause the app to crash, depending on where and
36 | * when they happen.
37 | *
38 | * Here are the known scenarios:
39 | *
40 | * 1. Custom `NSUncaughtExceptionHandler` don't start working until after `NSApplication` has finished
41 | * calling all of its delegate methods!
42 | *
43 | * Example:
44 | * - (void)applicationDidFinishLaunching:(NSNotification *)note {
45 | * ...
46 | * [NSException raise:@"ExceptionAtStartup" format:@"This will not be recognized!"];
47 | * ...
48 | * }
49 | *
50 | *
51 | * 2. The default `NSUncaughtExceptionHandler` in `NSApplication` only logs exceptions to the console and
52 | * ends their processing. Resulting in exceptions that occur in the `NSApplication` "scope" not
53 | * occurring in a registered custom `NSUncaughtExceptionHandler`.
54 | *
55 | * Example:
56 | * - (void)applicationDidFinishLaunching:(NSNotification *)note {
57 | * ...
58 | * [self performSelector:@selector(delayedException) withObject:nil afterDelay:5];
59 | * ...
60 | * }
61 | *
62 | * - (void)delayedException {
63 | * NSArray *array = [NSArray array];
64 | * [array objectAtIndex:23];
65 | * }
66 | *
67 | * 3. Any exceptions occurring in IBAction or other GUI does not even reach the NSApplication default
68 | * UncaughtExceptionHandler.
69 | *
70 | * Example:
71 | * - (IBAction)doExceptionCrash:(id)sender {
72 | * NSArray *array = [NSArray array];
73 | * [array objectAtIndex:23];
74 | * }
75 | *
76 | *
77 | * Solution A:
78 | *
79 | * Implement `NSExceptionHandler` and set the `ExceptionHandlingMask` to `NSLogAndHandleEveryExceptionMask`
80 | *
81 | * Benefits:
82 | *
83 | * 1. Solves all of the above scenarios
84 | *
85 | * 2. Clean solution using a standard Cocoa System specifically meant for this purpose.
86 | *
87 | * 3. Safe. Doesn't use private API.
88 | *
89 | * Problems:
90 | *
91 | * 1. To catch all exceptions the `NSExceptionHandlers` mask has to include `NSLogOtherExceptionMask` and
92 | * `NSHandleOtherExceptionMask`. But this will result in @catch blocks to be called after the exception
93 | * handler processed the exception and likely lets the app crash and create a crash report.
94 | * This makes the @catch block basically not working at all.
95 | *
96 | * 2. If anywhere in the app a custom `NSUncaughtExceptionHandler` will be registered, e.g. in a closed source
97 | * library the develop has to use, the complete mechanism will stop working
98 | *
99 | * 3. Not clear if this solves all scenarios there can be.
100 | *
101 | * 4. Requires to adjust PLCrashReporter not to register its `NSUncaughtExceptionHandler` which is not a good idea,
102 | * since it would require the `NSExceptionHandler` would catch *all* exceptions and that would cause
103 | * PLCrashReporter to stop all running threads every time an exception occurs even if will be handled right
104 | * away, e.g. by a system framework.
105 | *
106 | *
107 | * Solution B:
108 | *
109 | * Overwrite and extend specific methods of `NSApplication`. Can be implemented via subclassing NSApplication or
110 | * by using a category.
111 | *
112 | * Benefits:
113 | *
114 | * 1. Solves scenarios 2 (by overwriting `reportException:`) and 3 (by overwriting `sendEvent:`)
115 | *
116 | * 2. Subclassing approach isn't enforcing the mechanism onto apps and let developers opt-in.
117 | * (Category approach would enforce it and rather be a problem of this soltuion.)
118 | *
119 | * 3. Safe. Doesn't use private API.
120 | *
121 | * Problems:
122 | *
123 | * 1. Does not automatically solve scenario 1. Developer would have to put all that code into @try @catch blocks
124 | *
125 | * 2. Not a clean implementation, rather feels like a workaround.
126 | *
127 | * 3. Not clear if this solves all scenarios there can be.
128 | *
129 | *
130 | * Chosen Solution: B via subclassing
131 | *
132 | * Reasons:
133 | *
134 | * 1. The Problems 1. and 2. of Solution A are too drastic and aren't acceptable for every developer using this SDK
135 | * Especially Problem 1 is a big No Go for lots of developers.
136 | *
137 | * 2. Solution B can be used optionally, can be adopted easily into developers own `NSApplication` subclasses and
138 | * by implementing it in a subclass instead of a category isn't enforced even though it requires additional
139 | * steps for setup.
140 | *
141 | * 3. The not covered Scenario 1. can be achieved by the developer by enclosing most of the code within
142 | * NSApplication startup delegates in @try @catch blocks or moving as much code as possible out of these
143 | * methods and deferring their execution, e.g. using background threads. Not ideal though.
144 | *
145 | *
146 | * References:
147 | * https://developer.apple.com/library/mac/documentation/cocoa/Conceptual/Exceptions/Tasks/ControllingAppResponse.html#//apple_ref/doc/uid/20000473-BBCHGJIJ
148 | * http://stackoverflow.com/a/4199717/474794
149 | * http://stackoverflow.com/a/3419073/474794
150 | * http://macdevcenter.com/pub/a/mac/2007/07/31/understanding-exceptions-and-handlers-in-cocoa.html
151 | *
152 | */
153 | @interface BITCrashExceptionApplication : NSApplication
154 |
155 | @end
156 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Headers/BITCrashManagerDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // Author: Andreas Linde
3 | //
4 | // Copyright (c) 2012-2013 HockeyApp, Bit Stadium GmbH. All rights reserved.
5 | // See LICENSE.txt for author information.
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in
15 | // all copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 | // THE SOFTWARE.
24 |
25 |
26 | #import
27 |
28 | @class BITHockeyAttachment;
29 |
30 | /**
31 | * The `BITCrashManagerDelegate` formal protocol defines methods further configuring
32 | * the behaviour of `BITCrashManager`.
33 | */
34 | @protocol BITCrashManagerDelegate
35 |
36 | @optional
37 |
38 | /**
39 | * Not used any longer!
40 | *
41 | * In previous SDK versions this invoked once the user interface asking for crash details and if the data should be send is dismissed
42 | *
43 | * @param crashManager The `BITCrashManager` instance invoking the method
44 | * @deprecated The default crash report UI is not shown modal any longer, so this delegate is not being used any more!
45 | */
46 | - (void) showMainApplicationWindowForCrashManager:(BITCrashManager *)crashManager __attribute__((deprecated("The default crash report UI is not shown modal any longer, so this delegate is now called right away. We recommend to remove the implementation of this method.")));
47 |
48 | ///-----------------------------------------------------------------------------
49 | /// @name Additional meta data
50 | ///-----------------------------------------------------------------------------
51 |
52 | /** Return any log string based data the crash report being processed should contain
53 | *
54 | * @param crashManager The `BITCrashManager` instance invoking this delegate
55 | */
56 | -(NSString *)applicationLogForCrashManager:(BITCrashManager *)crashManager;
57 |
58 | /** Return a BITHockeyAttachment object providing an NSData object the crash report
59 | being processed should contain
60 |
61 | Please limit your attachments to reasonable files to avoid high traffic costs for your users.
62 |
63 | Example implementation:
64 |
65 | - (BITHockeyAttachment *)attachmentForCrashManager:(BITCrashManager *)crashManager {
66 | NSData *data = [NSData dataWithContentsOfURL:@"mydatafile"];
67 |
68 | BITHockeyAttachment *attachment = [[BITHockeyAttachment alloc] initWithFilename:@"myfile.data"
69 | hockeyAttachmentData:data
70 | contentType:@"'application/octet-stream"];
71 | return attachment;
72 | }
73 |
74 | @param crashManager The `BITCrashManager` instance invoking this delegate
75 | @see applicationLogForCrashManager:
76 | @see userNameForCrashManager:
77 | @see userEmailForCrashManager:
78 | */
79 | -(BITHockeyAttachment *)attachmentForCrashManager:(BITCrashManager *)crashManager;
80 |
81 | ///-----------------------------------------------------------------------------
82 | /// @name Alert
83 | ///-----------------------------------------------------------------------------
84 |
85 | /**
86 | * Invoked before the user is asked to send a crash report, so you can do additional actions.
87 | *
88 | * E.g. to make sure not to ask the user for an app rating :)
89 | *
90 | * @param crashManager The `BITCrashManager` instance invoking this delegate
91 | */
92 | -(void)crashManagerWillShowSubmitCrashReportAlert:(BITCrashManager *)crashManager;
93 |
94 |
95 | /**
96 | * Invoked after the user did choose _NOT_ to send a crash in the alert
97 | *
98 | * @param crashManager The `BITCrashManager` instance invoking this delegate
99 | */
100 | -(void)crashManagerWillCancelSendingCrashReport:(BITCrashManager *)crashManager;
101 |
102 |
103 | ///-----------------------------------------------------------------------------
104 | /// @name Networking
105 | ///-----------------------------------------------------------------------------
106 |
107 | /**
108 | * Invoked right before sending crash reports will start
109 | *
110 | * @param crashManager The `BITCrashManager` instance invoking this delegate
111 | */
112 | - (void)crashManagerWillSendCrashReport:(BITCrashManager *)crashManager;
113 |
114 | /**
115 | * Invoked after sending crash reports failed
116 | *
117 | * @param crashManager The `BITCrashManager` instance invoking this delegate
118 | * @param error The error returned from the NSURLConnection call or `kBITCrashErrorDomain`
119 | * with reason of type `BITCrashErrorReason`.
120 | */
121 | - (void)crashManager:(BITCrashManager *)crashManager didFailWithError:(NSError *)error;
122 |
123 | /**
124 | * Invoked after sending crash reports succeeded
125 | *
126 | * @param crashManager The `BITCrashManager` instance invoking this delegate
127 | */
128 | - (void)crashManagerDidFinishSendingCrashReport:(BITCrashManager *)crashManager;
129 |
130 | @end
131 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Headers/BITCrashMetaData.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Andreas Linde
3 | *
4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 |
32 | /**
33 | * This class provides properties that can be attached to a crash report via a custom alert view flow
34 | */
35 | @interface BITCrashMetaData : NSObject
36 |
37 | /**
38 | * User provided description that should be attached to the crash report as plain text
39 | */
40 | @property (nonatomic, copy) NSString *userDescription;
41 |
42 | /**
43 | * User name that should be attached to the crash report
44 | */
45 | @property (nonatomic, copy) NSString *userName;
46 |
47 | /**
48 | * User email that should be attached to the crash report
49 | */
50 | @property (nonatomic, copy) NSString *userEmail;
51 |
52 | /**
53 | * User ID that should be attached to the crash report
54 | */
55 | @property (nonatomic, copy) NSString *userID;
56 |
57 | @end
58 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Headers/BITFeedbackManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Andreas Linde
3 | *
4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 |
30 | #import
31 |
32 | #import "BITHockeyBaseManager.h"
33 |
34 |
35 | // Notification message which tells that loading messages finished
36 | #define BITHockeyFeedbackMessagesLoadingStarted @"BITHockeyFeedbackMessagesLoadingStarted"
37 |
38 | // Notification message which tells that loading messages finished
39 | #define BITHockeyFeedbackMessagesLoadingFinished @"BITHockeyFeedbackMessagesLoadingFinished"
40 |
41 |
42 | /**
43 | * Defines behavior of the user data field
44 | */
45 | typedef NS_ENUM(NSInteger, BITFeedbackUserDataElement) {
46 | /**
47 | * don't ask for this user data element at all
48 | */
49 | BITFeedbackUserDataElementDontShow = 0,
50 | /**
51 | * the user may provide it, but does not have to
52 | */
53 | BITFeedbackUserDataElementOptional = 1,
54 | /**
55 | * the user has to provide this to continue
56 | */
57 | BITFeedbackUserDataElementRequired = 2
58 | };
59 |
60 |
61 | @class BITFeedbackMessage;
62 | @class BITFeedbackWindowController;
63 |
64 |
65 | /**
66 | The feedback module.
67 |
68 | This is the HockeySDK module for letting your users to communicate directly with you via
69 | the app and an integrated user interface. It provides to have a single threaded
70 | discussion with a user running your app.
71 |
72 | The user interface provides a window than can be presented using
73 | `[BITFeedbackManager showFeedbackWindow]`.
74 | This window integrates all features to load new messages, write new messages, view message
75 | and ask the user for additional (optional) data like name and email.
76 |
77 | If the user provides the email address, all responses from the server will also be send
78 | to the user via email and the user is also able to respond directly via email too.
79 |
80 | It is also integrates actions to invoke the user interface to compose a new messages,
81 | reload the list content from the server and changing the users name or email if these
82 | are allowed to be set.
83 |
84 | If new messages are written while the device is offline, the SDK automatically retries to
85 | send them once the app starts again or gets active again, or if the notification
86 | `BITHockeyNetworkDidBecomeReachableNotification` is fired.
87 |
88 | New message are automatically loaded on startup, when the app becomes active again
89 | or when the notification `BITHockeyNetworkDidBecomeReachableNotification` is fired and
90 | the last server communication task was more than 5 minutes ago. This
91 | only happens if the user ever did initiate a conversation by writing the first
92 | feedback message.
93 | */
94 |
95 | @interface BITFeedbackManager : BITHockeyBaseManager
96 |
97 | ///-----------------------------------------------------------------------------
98 | /// @name General settings
99 | ///-----------------------------------------------------------------------------
100 |
101 |
102 | /**
103 | Define if a name has to be provided by the user when providing feedback
104 |
105 | - `BITFeedbackUserDataElementDontShow`: Don't ask for this user data element at all
106 | - `BITFeedbackUserDataElementOptional`: The user may provide it, but does not have to
107 | - `BITFeedbackUserDataElementRequired`: The user has to provide this to continue
108 |
109 | The default value is `BITFeedbackUserDataElementOptional`.
110 |
111 | @warning If you provide a non nil value for the `BITFeedbackManager` class via
112 | `[BITHockeyManagerDelegate userNameForHockeyManager:componentManager:]` then this
113 | property will automatically be set to `BITFeedbackUserDataElementDontShow`
114 |
115 | @see requireUserEmail
116 | @see `[BITHockeyManagerDelegate userNameForHockeyManager:componentManager:]`
117 | */
118 | @property (nonatomic, readwrite) BITFeedbackUserDataElement requireUserName;
119 |
120 |
121 | /**
122 | Define if an email address has to be provided by the user when providing feedback
123 |
124 | If the user provides the email address, all responses from the server will also be send
125 | to the user via email and the user is also able to respond directly via email too.
126 |
127 | - `BITFeedbackUserDataElementDontShow`: Don't ask for this user data element at all
128 | - `BITFeedbackUserDataElementOptional`: The user may provide it, but does not have to
129 | - `BITFeedbackUserDataElementRequired`: The user has to provide this to continue
130 |
131 | The default value is `BITFeedbackUserDataElementOptional`.
132 |
133 | @warning If you provide a non nil value for the `BITFeedbackManager` class via
134 | `[BITHockeyManagerDelegate userEmailForHockeyManager:componentManager:]` then this
135 | property will automatically be set to `BITFeedbackUserDataElementDontShow`
136 |
137 | @see requireUserName
138 | @see `[BITHockeyManagerDelegate userEmailForHockeyManager:componentManager:]`
139 | */
140 | @property (nonatomic, readwrite) BITFeedbackUserDataElement requireUserEmail;
141 |
142 |
143 | /**
144 | Indicates if an Notification Center alert should be shown when new messages arrived
145 |
146 | The alert is only shown, if the newest message is not originated from the current user.
147 | This requires the users email address to be present! The optional userid property
148 | cannot be used, because users could also answer via email and then this information
149 | is not available.
150 |
151 | Default is `YES`
152 | @see requireUserEmail
153 | @see `[BITHockeyManagerDelegate userEmailForHockeyManager:componentManager:]`
154 | */
155 | @property (nonatomic, readwrite) BOOL showAlertOnIncomingMessages;
156 |
157 |
158 | ///-----------------------------------------------------------------------------
159 | /// @name User Interface
160 | ///-----------------------------------------------------------------------------
161 |
162 |
163 | /**
164 | Present the modal feedback list user interface.
165 | */
166 | - (void)showFeedbackWindow;
167 |
168 |
169 | @end
170 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Headers/BITFeedbackWindowController.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Andreas Linde
3 | *
4 | * Copyright (c) 2013-2014 HockeyApp, Bit Stadium GmbH.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | @class BITFeedbackManager;
32 |
33 | @interface BITFeedbackWindowController : NSWindowController
34 |
35 | - (id)initWithManager:(BITFeedbackManager *)feedbackManager;
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Headers/BITHockeyAttachment.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Andreas Linde
3 | *
4 | * Copyright (c) 2014 HockeyApp, Bit Stadium GmbH.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 |
31 | /**
32 | Provides support to add binary attachments to crash reports
33 |
34 | This is used by `[BITCrashManagerDelegate attachmentForCrashManager:]`
35 | */
36 | @interface BITHockeyAttachment : NSObject
37 |
38 | /**
39 | The filename the attachment should get
40 | */
41 | @property (nonatomic, readonly, strong) NSString *filename;
42 |
43 | /**
44 | The attachment data as NSData object
45 | */
46 | @property (nonatomic, readonly, strong) NSData *hockeyAttachmentData;
47 |
48 | /**
49 | The content type of your data as MIME type
50 | */
51 | @property (nonatomic, readonly, strong) NSString *contentType;
52 |
53 | /**
54 | Create an BITHockeyAttachment instance with a given filename and NSData object
55 |
56 | @param filename The filename the attachment should get. If nil will get a automatically generated filename
57 | @param hockeyAttachmentData The attachment data as NSData. The instance will be ignore if this is set to nil!
58 | @param contentType The content type of your data as MIME type. If nil will be set to "application/octet-stream"
59 |
60 | @return An instsance of BITHockeyAttachment
61 | */
62 | - (instancetype)initWithFilename:(NSString *)filename
63 | hockeyAttachmentData:(NSData *)hockeyAttachmentData
64 | contentType:(NSString *)contentType;
65 |
66 | @end
67 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Headers/BITHockeyBaseManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Andreas Linde
3 | *
4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 |
30 | #import
31 |
32 |
33 | /**
34 | The internal superclass for all component managers
35 |
36 | */
37 |
38 | @interface BITHockeyBaseManager : NSObject
39 |
40 | ///-----------------------------------------------------------------------------
41 | /// @name Modules
42 | ///-----------------------------------------------------------------------------
43 |
44 |
45 | /**
46 | Defines the server URL to send data to or request data from
47 |
48 | By default this is set to the HockeyApp servers and there rarely should be a
49 | need to modify that.
50 | */
51 | @property (nonatomic, strong) NSString *serverURL;
52 |
53 |
54 | @end
55 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Headers/BITHockeyManagerDelegate.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Author: Andreas Linde
3 | *
4 | * Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH.
5 | * All rights reserved.
6 | *
7 | * Permission is hereby granted, free of charge, to any person
8 | * obtaining a copy of this software and associated documentation
9 | * files (the "Software"), to deal in the Software without
10 | * restriction, including without limitation the rights to use,
11 | * copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the
13 | * Software is furnished to do so, subject to the following
14 | * conditions:
15 | *
16 | * The above copyright notice and this permission notice shall be
17 | * included in all copies or substantial portions of the Software.
18 | *
19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26 | * OTHER DEALINGS IN THE SOFTWARE.
27 | */
28 |
29 | #import
30 | #import "BITCrashManagerDelegate.h"
31 |
32 | @class BITHockeyManager;
33 | @class BITHockeyBaseManager;
34 |
35 | /**
36 | The `BITHockeyManagerDelegate` formal protocol defines methods further configuring
37 | the behaviour of `BITHockeyManager`, as well as the delegate of the modules it manages.
38 | */
39 |
40 | @protocol BITHockeyManagerDelegate
41 |
42 | @optional
43 |
44 |
45 | ///-----------------------------------------------------------------------------
46 | /// @name Additional meta data
47 | ///-----------------------------------------------------------------------------
48 |
49 |
50 | /** Return the userid that should used in the SDK components
51 |
52 | Right now this is used by the `BITCrashMananger` to attach to a crash report and `BITFeedbackManager`.
53 |
54 | You can find out the component requesting the user name like this:
55 | - (NSString *)userNameForHockeyManager:(BITHockeyManager *)hockeyManager componentManager:(BITCrashManager *)componentManager {
56 | if (componentManager == crashManager) {
57 | return UserNameForFeedback;
58 | } else {
59 | return nil;
60 | }
61 | }
62 |
63 |
64 |
65 | @param hockeyManager The `BITHockeyManager` HockeyManager instance invoking this delegate
66 | @param componentManager The `BITCrashManager` component instance invoking this delegate
67 | @see [BITHockeyManager setUserID:]
68 | @see userNameForHockeyManager:componentManager:
69 | @see userEmailForHockeyManager:componentManager:
70 | */
71 | - (NSString *)userIDForHockeyManager:(BITHockeyManager *)hockeyManager componentManager:(BITHockeyBaseManager *)componentManager;
72 |
73 |
74 | /** Return the user name that should used in the SDK components
75 |
76 | Right now this is used by the `BITCrashMananger` to attach to a crash report and `BITFeedbackManager`.
77 |
78 | You can find out the component requesting the user name like this:
79 | - (NSString *)userNameForHockeyManager:(BITHockeyManager *)hockeyManager componentManager:(BITCrashManager *)componentManager {
80 | if (componentManager == crashManager) {
81 | return UserNameForFeedback;
82 | } else {
83 | return nil;
84 | }
85 | }
86 |
87 |
88 | @param hockeyManager The `BITHockeyManager` HockeyManager instance invoking this delegate
89 | @param componentManager The `BITCrashManager` component instance invoking this delegate
90 | @see [BITHockeyManager setUserName:]
91 | @see userIDForHockeyManager:componentManager:
92 | @see userEmailForHockeyManager:componentManager:
93 | */
94 | - (NSString *)userNameForHockeyManager:(BITHockeyManager *)hockeyManager componentManager:(BITHockeyBaseManager *)componentManager;
95 |
96 |
97 | /** Return the users email address that should used in the SDK components
98 |
99 | Right now this is used by the `BITCrashMananger` to attach to a crash report and `BITFeedbackManager`.
100 |
101 | You can find out the component requesting the user name like this:
102 | - (NSString *)userNameForHockeyManager:(BITHockeyManager *)hockeyManager componentManager:(BITCrashManager *)componentManager {
103 | if (componentManager == hockeyManager.crashManager) {
104 | return UserNameForCrashReports;
105 | } else {
106 | return nil;
107 | }
108 | }
109 |
110 |
111 | @param hockeyManager The `BITHockeyManager` HockeyManager instance invoking this delegate
112 | @param componentManager The `BITCrashManager` component instance invoking this delegate
113 | @see [BITHockeyManager setUserEmail:]
114 | @see userIDForHockeyManager:componentManager:
115 | @see userNameForHockeyManager:componentManager:
116 | */
117 | - (NSString *)userEmailForHockeyManager:(BITHockeyManager *)hockeyManager componentManager:(BITHockeyBaseManager *)componentManager;
118 |
119 | @end
120 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Headers/BITSystemProfile.h:
--------------------------------------------------------------------------------
1 | //
2 | // Author: Thomas Dohmke
3 | //
4 | // Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. All rights reserved.
5 | // See LICENSE.txt for author information.
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in
15 | // all copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 | // THE SOFTWARE.
24 |
25 | #import
26 |
27 | /**
28 | * Helper class for accessing system information and measuring usage time
29 | */
30 | @interface BITSystemProfile : NSObject {
31 | @private
32 | NSDate *_usageStartTimestamp;
33 | NSInteger _startCounter;
34 | }
35 |
36 | ///-----------------------------------------------------------------------------
37 | /// @name Initialization
38 | ///-----------------------------------------------------------------------------
39 |
40 | /**
41 | * Returns a shared BITSystemProfile object
42 | *
43 | * @return A singleton BITSystemProfile instance ready use
44 | */
45 | + (BITSystemProfile *)sharedSystemProfile;
46 |
47 |
48 | ///-----------------------------------------------------------------------------
49 | /// @name Generic
50 | ///-----------------------------------------------------------------------------
51 |
52 | /**
53 | * Return the current devices identifier
54 | *
55 | * @return NSString with the device identifier
56 | */
57 | + (NSString *)deviceIdentifier;
58 |
59 | /**
60 | * Return the current device model
61 | *
62 | * @return NSString with the repesentation of the device model
63 | */
64 | + (NSString *)deviceModel;
65 |
66 | /**
67 | * Return the system version of the current device
68 | *
69 | * @return NSString with the system version
70 | */
71 | + (NSString *)systemVersionString;
72 |
73 | /**
74 | * Return an array with system data for a specific bundle
75 | *
76 | * @param bundle The app or framework bundle to get the system data from
77 | *
78 | * @return NSMutableArrray with system data
79 | */
80 | - (NSMutableArray *)systemDataForBundle:(NSBundle *)bundle;
81 |
82 | /**
83 | * Return an array with system data
84 | *
85 | * @return NSMutableArray with system data
86 | */
87 | - (NSMutableArray *)systemData;
88 |
89 | /**
90 | * Return an array with system usage data for a specific bundle
91 | *
92 | * @param bundle The app or framework bundle to get the usage data from
93 | *
94 | * @return NSMutableArray with system and bundle usage data
95 | */
96 | - (NSMutableArray *)systemUsageDataForBundle:(NSBundle *)bundle;
97 |
98 | /**
99 | * Return an array with system usage data that can be used with Sparkle
100 | *
101 | * Call this method in the Sparkle delegate `feedParametersForUpdater:sendingSystemProfile:`
102 | * to attach system and app data to each Sparkle request
103 | *
104 | * @return NSMutableArray with system and app usage data
105 | */
106 | - (NSMutableArray *)systemUsageData;
107 |
108 |
109 | ///-----------------------------------------------------------------------------
110 | /// @name Usage time
111 | ///-----------------------------------------------------------------------------
112 |
113 | /**
114 | * Start recording usage time for a specific app or framework bundle
115 | *
116 | * @param bundle The app or framework bundle to measure the usage time for
117 | */
118 | - (void)startUsageForBundle:(NSBundle *)bundle;
119 |
120 | /**
121 | * Start recording usage time for the current app
122 | */
123 | - (void)startUsage;
124 |
125 | /**
126 | * stop recording usage time
127 | */
128 | - (void)stopUsage;
129 |
130 | @end
131 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Headers/HockeySDK.h:
--------------------------------------------------------------------------------
1 | //
2 | // Author: Andreas Linde
3 | //
4 | // Copyright (c) 2012-2014 HockeyApp, Bit Stadium GmbH. All rights reserved.
5 | // See LICENSE.txt for author information.
6 | //
7 | // Permission is hereby granted, free of charge, to any person obtaining a copy
8 | // of this software and associated documentation files (the "Software"), to deal
9 | // in the Software without restriction, including without limitation the rights
10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | // copies of the Software, and to permit persons to whom the Software is
12 | // furnished to do so, subject to the following conditions:
13 | //
14 | // The above copyright notice and this permission notice shall be included in
15 | // all copies or substantial portions of the Software.
16 | //
17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 | // THE SOFTWARE.
24 |
25 | #import
26 | #import
27 |
28 | #import
29 |
30 | #import
31 | #import
32 | #import
33 |
34 | #import
35 |
36 | #import
37 | #import
38 |
39 |
40 | // Notification message which HockeyManager is listening to, to retry requesting updated from the server
41 | #define BITHockeyNetworkDidBecomeReachableNotification @"BITHockeyNetworkDidBecomeReachable"
42 |
43 | extern NSString *const __attribute__((unused)) kBITDefaultUserID;
44 | extern NSString *const __attribute__((unused)) kBITDefaultUserName;
45 | extern NSString *const __attribute__((unused)) kBITDefaultUserEmail;
46 |
47 | /**
48 | * HockeySDK Crash Reporter error domain
49 | */
50 | typedef NS_ENUM (NSInteger, BITCrashErrorReason) {
51 | /**
52 | * Unknown error
53 | */
54 | BITCrashErrorUnknown,
55 | /**
56 | * API Server rejected app version
57 | */
58 | BITCrashAPIAppVersionRejected,
59 | /**
60 | * API Server returned empty response
61 | */
62 | BITCrashAPIReceivedEmptyResponse,
63 | /**
64 | * Connection error with status code
65 | */
66 | BITCrashAPIErrorWithStatusCode
67 | };
68 | extern NSString *const __attribute__((unused)) kBITCrashErrorDomain;
69 |
70 |
71 | /**
72 | * HockeySDK Feedback error domain
73 | */
74 | typedef NS_ENUM(NSInteger, BITFeedbackErrorReason) {
75 | /**
76 | * Unknown error
77 | */
78 | BITFeedbackErrorUnknown,
79 | /**
80 | * API Server returned invalid status
81 | */
82 | BITFeedbackAPIServerReturnedInvalidStatus,
83 | /**
84 | * API Server returned invalid data
85 | */
86 | BITFeedbackAPIServerReturnedInvalidData,
87 | /**
88 | * API Server returned empty response
89 | */
90 | BITFeedbackAPIServerReturnedEmptyResponse,
91 | /**
92 | * Authorization secret missing
93 | */
94 | BITFeedbackAPIClientAuthorizationMissingSecret,
95 | /**
96 | * No internet connection
97 | */
98 | BITFeedbackAPIClientCannotCreateConnection
99 | };
100 | extern NSString *const __attribute__((unused)) kBITFeedbackErrorDomain;
101 |
102 |
103 | /**
104 | * HockeySDK global error domain
105 | */
106 | typedef NS_ENUM(NSInteger, BITHockeyErrorReason) {
107 | /**
108 | * Unknown error
109 | */
110 | BITHockeyErrorUnknown
111 | };
112 | extern NSString *const __attribute__((unused)) kBITHockeyErrorDomain;
113 | // HockeySDK
114 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/HockeySDK:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/HockeySDK
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/BITCrashReportUI.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/BITCrashReportUI.nib
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/BITFeedbackWindowController.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/BITFeedbackWindowController.nib
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 14B25
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | HockeySDK
11 | CFBundleIdentifier
12 | net.hockeyapp.sdk.mac
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | HockeySDK
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleShortVersionString
20 | 3.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 27
25 | DTCompiler
26 | com.apple.compilers.llvm.clang.1_0
27 | DTPlatformBuild
28 | 6A1052c
29 | DTPlatformVersion
30 | GM
31 | DTSDKBuild
32 | 14A382
33 | DTSDKName
34 | macosx10.10
35 | DTXcode
36 | 0610
37 | DTXcodeBuild
38 | 6A1052c
39 | NSHumanReadableCopyright
40 | Copyright © 2012-2014 HockeyApp, Bit Stadium GmbH. All rights reserved.
41 |
42 |
43 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/de.lproj/HockeySDK.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/de.lproj/HockeySDK.strings
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/en.lproj/HockeySDK.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/en.lproj/HockeySDK.strings
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/fi.lproj/HockeySDK.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/fi.lproj/HockeySDK.strings
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/fr.lproj/HockeySDK.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/fr.lproj/HockeySDK.strings
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/it.lproj/HockeySDK.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/it.lproj/HockeySDK.strings
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/ja.lproj/HockeySDK.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/ja.lproj/HockeySDK.strings
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/nb.lproj/HockeySDK.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/nb.lproj/HockeySDK.strings
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/sv.lproj/HockeySDK.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mz2/ASCIImage-Super-Studio/4a5734b4899f50b71261dc1bcd59644a74594f76/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/Resources/sv.lproj/HockeySDK.strings
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/A/_CodeSignature/CodeResources:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | files
6 |
7 | Resources/BITCrashReportUI.nib
8 |
9 | tipVKYJnMJ4b/1WhypCcgRWzp/Q=
10 |
11 | Resources/BITFeedbackWindowController.nib
12 |
13 | yKnHD5Gw7ltvmpWKJeWjhujnjn0=
14 |
15 | Resources/Info.plist
16 |
17 | r1k61RNfML0sFbQSpsxA4ePCJmc=
18 |
19 | Resources/de.lproj/HockeySDK.strings
20 |
21 | hash
22 |
23 | jo3EMuE0u4n2fAAoz4fIZAOmxg8=
24 |
25 | optional
26 |
27 |
28 | Resources/en.lproj/HockeySDK.strings
29 |
30 | hash
31 |
32 | R6ZVr6oAsRFLBjlCUTaaDvXCUFM=
33 |
34 | optional
35 |
36 |
37 | Resources/fi.lproj/HockeySDK.strings
38 |
39 | hash
40 |
41 | Lhr8Fik+QVvV84vnZke4YFVbBC0=
42 |
43 | optional
44 |
45 |
46 | Resources/fr.lproj/HockeySDK.strings
47 |
48 | hash
49 |
50 | eZTpQasOiXMeujIm+H+jy1cylcg=
51 |
52 | optional
53 |
54 |
55 | Resources/it.lproj/HockeySDK.strings
56 |
57 | hash
58 |
59 | TCTZtvLwG07cqw2xoajSKHpLpq0=
60 |
61 | optional
62 |
63 |
64 | Resources/ja.lproj/HockeySDK.strings
65 |
66 | hash
67 |
68 | 9L3urRuxyr0wZgk0neZGrJaQnFQ=
69 |
70 | optional
71 |
72 |
73 | Resources/nb.lproj/HockeySDK.strings
74 |
75 | hash
76 |
77 | LpcWW+B4F6iR+2x2NAzDkhVjL30=
78 |
79 | optional
80 |
81 |
82 | Resources/sv.lproj/HockeySDK.strings
83 |
84 | hash
85 |
86 | mc4S8tl/ei/+gv1fVyd/s3cCG5U=
87 |
88 | optional
89 |
90 |
91 |
92 | files2
93 |
94 | Frameworks/CrashReporter.framework
95 |
96 | cdhash
97 |
98 | 2JuruTxbeC/Fr3q3o6p6wYkkiqk=
99 |
100 | requirement
101 | identifier "coop.plausible.CrashReporter" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = KYJ84ZC369
102 |
103 | Headers/BITCrashDetails.h
104 |
105 | +ujUsnxyL/Il5gSe2bnAZpVkZfY=
106 |
107 | Headers/BITCrashExceptionApplication.h
108 |
109 | TPNjCJ7UCcNT6fRxpjbCNF5Ndb0=
110 |
111 | Headers/BITCrashManager.h
112 |
113 | u8Bfd0TtTvCTeTKMkTKYyygenqw=
114 |
115 | Headers/BITCrashManagerDelegate.h
116 |
117 | om9SOYOsDbbNYQ5wla2StGLJQrA=
118 |
119 | Headers/BITCrashMetaData.h
120 |
121 | 1v13IP1iJ9ba/1DJm8x7wOJ9oGI=
122 |
123 | Headers/BITFeedbackManager.h
124 |
125 | DJS4Hsr1JEcJ298c859vfXbZnjM=
126 |
127 | Headers/BITFeedbackWindowController.h
128 |
129 | pKTuBmNYXxlTGcL20xnFbM4hgik=
130 |
131 | Headers/BITHockeyAttachment.h
132 |
133 | kmTpG5GlHjyVDxDosUKS2CP9gKI=
134 |
135 | Headers/BITHockeyBaseManager.h
136 |
137 | 59dpaPGt54HnbsasfWC+CMNPa80=
138 |
139 | Headers/BITHockeyManager.h
140 |
141 | cTLX18Q0v9RDXeDysVjNFsG/Iys=
142 |
143 | Headers/BITHockeyManagerDelegate.h
144 |
145 | CcivljoZsfAQBkVXlXQI1ocSzdE=
146 |
147 | Headers/BITSystemProfile.h
148 |
149 | 6jyNwm2/1nlgIkONMe5B8k+sSfE=
150 |
151 | Headers/HockeySDK.h
152 |
153 | vsDVrDaLJDsCaXU9HftLlfKkj7s=
154 |
155 | Resources/BITCrashReportUI.nib
156 |
157 | tipVKYJnMJ4b/1WhypCcgRWzp/Q=
158 |
159 | Resources/BITFeedbackWindowController.nib
160 |
161 | yKnHD5Gw7ltvmpWKJeWjhujnjn0=
162 |
163 | Resources/Info.plist
164 |
165 | r1k61RNfML0sFbQSpsxA4ePCJmc=
166 |
167 | Resources/de.lproj/HockeySDK.strings
168 |
169 | hash
170 |
171 | jo3EMuE0u4n2fAAoz4fIZAOmxg8=
172 |
173 | optional
174 |
175 |
176 | Resources/en.lproj/HockeySDK.strings
177 |
178 | hash
179 |
180 | R6ZVr6oAsRFLBjlCUTaaDvXCUFM=
181 |
182 | optional
183 |
184 |
185 | Resources/fi.lproj/HockeySDK.strings
186 |
187 | hash
188 |
189 | Lhr8Fik+QVvV84vnZke4YFVbBC0=
190 |
191 | optional
192 |
193 |
194 | Resources/fr.lproj/HockeySDK.strings
195 |
196 | hash
197 |
198 | eZTpQasOiXMeujIm+H+jy1cylcg=
199 |
200 | optional
201 |
202 |
203 | Resources/it.lproj/HockeySDK.strings
204 |
205 | hash
206 |
207 | TCTZtvLwG07cqw2xoajSKHpLpq0=
208 |
209 | optional
210 |
211 |
212 | Resources/ja.lproj/HockeySDK.strings
213 |
214 | hash
215 |
216 | 9L3urRuxyr0wZgk0neZGrJaQnFQ=
217 |
218 | optional
219 |
220 |
221 | Resources/nb.lproj/HockeySDK.strings
222 |
223 | hash
224 |
225 | LpcWW+B4F6iR+2x2NAzDkhVjL30=
226 |
227 | optional
228 |
229 |
230 | Resources/sv.lproj/HockeySDK.strings
231 |
232 | hash
233 |
234 | mc4S8tl/ei/+gv1fVyd/s3cCG5U=
235 |
236 | optional
237 |
238 |
239 |
240 | rules
241 |
242 | ^Resources/
243 |
244 | ^Resources/.*\.lproj/
245 |
246 | optional
247 |
248 | weight
249 | 1000
250 |
251 | ^Resources/.*\.lproj/locversion.plist$
252 |
253 | omit
254 |
255 | weight
256 | 1100
257 |
258 | ^version.plist$
259 |
260 |
261 | rules2
262 |
263 | .*\.dSYM($|/)
264 |
265 | weight
266 | 11
267 |
268 | ^(.*/)?\.DS_Store$
269 |
270 | omit
271 |
272 | weight
273 | 2000
274 |
275 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
276 |
277 | nested
278 |
279 | weight
280 | 10
281 |
282 | ^.*
283 |
284 | ^Info\.plist$
285 |
286 | omit
287 |
288 | weight
289 | 20
290 |
291 | ^PkgInfo$
292 |
293 | omit
294 |
295 | weight
296 | 20
297 |
298 | ^Resources/
299 |
300 | weight
301 | 20
302 |
303 | ^Resources/.*\.lproj/
304 |
305 | optional
306 |
307 | weight
308 | 1000
309 |
310 | ^Resources/.*\.lproj/locversion.plist$
311 |
312 | omit
313 |
314 | weight
315 | 1100
316 |
317 | ^[^/]+$
318 |
319 | nested
320 |
321 | weight
322 | 10
323 |
324 | ^embedded\.provisionprofile$
325 |
326 | weight
327 | 20
328 |
329 | ^version\.plist$
330 |
331 | weight
332 | 20
333 |
334 |
335 |
336 |
337 |
--------------------------------------------------------------------------------
/Libraries/HockeySDK-Mac/HockeySDK.framework/Versions/Current:
--------------------------------------------------------------------------------
1 | A
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ASCIImage-Super-Studio
2 |
3 | An OSX based editor for for ASCIImage files ( read more about ASCIImage at http://cocoamine.net/blog/2015/03/20/replacing-photoshop-with-nsstring )
4 |
5 | Read more about ASCIImage at http://asciimage.org
6 |
--------------------------------------------------------------------------------
/Script/set-bundle-version.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ $CONFIGURATION != "Release" ]
4 | then
5 | echo "Setting version skipped."
6 | exit 0
7 | fi
8 |
9 | # This script sets version information in the Info.plist of a target to the version
10 | # as returned by 'git describe'.
11 | # Info: http://zargony.com/2014/08/10/automatic-versioning-in-xcode-with-git-describe
12 | set -e
13 | #--abbrev=4 will cause using four letters, or as many as are needed for uniquely describing the commit.
14 | VERSION=`git describe --dirty --abbrev=4 | sed -e "s/^[^0-9]*//" | tr '[:lower:]' '[:upper:]'`
15 | #--abbrev=0 suppresses using long formatted versions.
16 | SHORT_VERSION=`git describe --abbrev=0 | sed -e "s/^[^0-9]*//"`
17 |
18 | echo "Updating Info.plist version to: ${VERSION}"
19 | /usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${VERSION}" -c "Set :CFBundleShortVersionString ${SHORT_VERSION}" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
20 |
21 | # DSYMs only output when creating an archive.
22 | if [[ ${DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT} == 'NO' && ${MP_RELEASE} == 'true' ]]; then
23 | echo ${VERSION} | "${SRCROOT}/Script/is-dirty.rb" # fail release build if tag is not clean.
24 | /usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${VERSION}" -c "Set :CFBundleShortVersionString ${SHORT_VERSION}" "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist"
25 | fi
26 |
--------------------------------------------------------------------------------