├── .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 | --------------------------------------------------------------------------------