Permalink
Browse files

added sparkle for auto-updating

  • Loading branch information...
1 parent 06554c1 commit bc810cba3c86276e88d3b260296a4d0386ee80f4 @shahruz committed May 27, 2014
Showing with 2,444 additions and 2 deletions.
  1. +31 −0 Sketch Toolbox.xcodeproj/project.pbxproj
  2. +13 −0 Sketch Toolbox/Base.lproj/MainMenu.xib
  3. +1 −0 Sketch Toolbox/STAppDelegate.h
  4. +5 −0 Sketch Toolbox/STAppDelegate.m
  5. +6 −2 Sketch Toolbox/Sketch Toolbox-Info.plist
  6. +20 −0 Sketch Toolbox/dsa_pub.pem
  7. +1 −0 Sparkle.framework/Headers
  8. +1 −0 Sparkle.framework/Resources
  9. +1 −0 Sparkle.framework/Sparkle
  10. +33 −0 Sparkle.framework/Versions/A/Headers/SUAppcast.h
  11. +47 −0 Sparkle.framework/Versions/A/Headers/SUAppcastItem.h
  12. +118 −0 Sparkle.framework/Versions/A/Headers/SUUpdater.h
  13. +27 −0 Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h
  14. +21 −0 Sparkle.framework/Versions/A/Headers/Sparkle.h
  15. +24 −0 Sparkle.framework/Versions/A/Resources/Info.plist
  16. +7 −0 Sparkle.framework/Versions/A/Resources/License.txt
  17. +174 −0 Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist
  18. +56 −0 Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib
  19. +20 −0 Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib
  20. BIN Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib
  21. +50 −0 Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  22. +20 −0 Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib
  23. BIN Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  24. +67 −0 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/classes.nib
  25. +20 −0 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib
  26. BIN Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib
  27. +59 −0 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  28. +20 −0 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib
  29. BIN Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  30. BIN Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings
  31. +50 −0 Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  32. +20 −0 Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib
  33. BIN Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  34. +67 −0 Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib
  35. +20 −0 Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib
  36. BIN Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib
  37. +59 −0 Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  38. +21 −0 Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib
  39. BIN Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  40. BIN Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings
  41. +50 −0 Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  42. +20 −0 Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib
  43. BIN Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  44. +67 −0 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/classes.nib
  45. +20 −0 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib
  46. BIN Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib
  47. +59 −0 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  48. +20 −0 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib
  49. BIN Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  50. BIN Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings
  51. +50 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  52. +16 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib
  53. BIN Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  54. +67 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/classes.nib
  55. +16 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib
  56. BIN Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib
  57. +59 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  58. +16 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib
  59. BIN Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  60. BIN Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings
  61. +1 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/fr.lproj
  62. +1 −0 Sparkle.framework/Versions/A/Resources/fr_CA.lproj
  63. +50 −0 Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  64. +20 −0 Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/info.nib
  65. BIN Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  66. +67 −0 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/classes.nib
  67. +20 −0 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/info.nib
  68. BIN Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib
  69. +59 −0 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  70. +20 −0 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/info.nib
  71. BIN Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  72. BIN Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings
  73. +50 −0 Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  74. +18 −0 Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib
  75. BIN Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  76. +67 −0 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib
  77. +16 −0 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib
  78. BIN Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib
  79. +59 −0 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  80. +16 −0 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib
  81. BIN Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  82. BIN Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings
  83. BIN Sparkle.framework/Versions/A/Resources/relaunch
  84. +50 −0 Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  85. +20 −0 Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/info.nib
  86. BIN Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  87. +67 −0 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/classes.nib
  88. +20 −0 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/info.nib
  89. BIN Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib
  90. +59 −0 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  91. +18 −0 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/info.nib
  92. BIN Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  93. BIN Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings
  94. +50 −0 Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  95. +20 −0 Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/info.nib
  96. BIN Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  97. +39 −0 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/classes.nib
  98. +18 −0 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/info.nib
  99. BIN Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib
  100. +59 −0 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  101. +20 −0 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/info.nib
  102. BIN Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  103. BIN Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings
  104. BIN Sparkle.framework/Versions/A/Sparkle
  105. +1 −0 Sparkle.framework/Versions/Current
@@ -8,6 +8,7 @@
/* Begin PBXBuildFile section */
0E5D4F26192B15560084F30C /* STPluginCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E5D4F25192B15560084F30C /* STPluginCellView.m */; };
+ EA12D97F19354808000E5232 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = EA12D97E19354808000E5232 /* dsa_pub.pem */; };
EA5913BD192D627E00FF4CC0 /* Constants.m in Sources */ = {isa = PBXBuildFile; fileRef = EA5913BC192D627E00FF4CC0 /* Constants.m */; };
EA70F99C192AC88D00315D05 /* PluginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = EA70F99B192AC88D00315D05 /* PluginManager.m */; };
EA70F9AA192ACD5300315D05 /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = EA70F9A0192ACD5300315D05 /* ioapi.c */; };
@@ -51,11 +52,27 @@
EA86F5E4192AB55F00B834ED /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = EA86F5E2192AB55F00B834ED /* MainMenu.xib */; };
EA86F5E7192AB55F00B834ED /* Sketch_Toolbox.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = EA86F5E5192AB55F00B834ED /* Sketch_Toolbox.xcdatamodeld */; };
EA86F5E9192AB55F00B834ED /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EA86F5E8192AB55F00B834ED /* Images.xcassets */; };
+ EAA8CF521935347200F8AE07 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = EAA8CF4E19350E0400F8AE07 /* Sparkle.framework */; };
+ EAA8CF53193534BE00F8AE07 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAA8CF4E19350E0400F8AE07 /* Sparkle.framework */; };
/* End PBXBuildFile section */
+/* Begin PBXCopyFilesBuildPhase section */
+ EAA8CF511935346D00F8AE07 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ EAA8CF521935347200F8AE07 /* Sparkle.framework in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
/* Begin PBXFileReference section */
0E5D4F24192B15560084F30C /* STPluginCellView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPluginCellView.h; sourceTree = "<group>"; };
0E5D4F25192B15560084F30C /* STPluginCellView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPluginCellView.m; sourceTree = "<group>"; };
+ EA12D97E19354808000E5232 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dsa_pub.pem; sourceTree = "<group>"; };
EA5913BC192D627E00FF4CC0 /* Constants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Constants.m; sourceTree = "<group>"; };
EA5913BE192D691200FF4CC0 /* Constants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Constants.h; sourceTree = "<group>"; };
EA70F99A192AC88D00315D05 /* PluginManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PluginManager.h; sourceTree = "<group>"; };
@@ -146,6 +163,7 @@
EA86F5E6192AB55F00B834ED /* Sketch_Toolbox.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Sketch_Toolbox.xcdatamodel; sourceTree = "<group>"; };
EA86F5E8192AB55F00B834ED /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
EA86F5EF192AB55F00B834ED /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
+ EAA8CF4E19350E0400F8AE07 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sparkle.framework; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -155,6 +173,7 @@
files = (
EA70F9B0192ACEBA00315D05 /* libz.dylib in Frameworks */,
EA86F5CE192AB55F00B834ED /* Cocoa.framework in Frameworks */,
+ EAA8CF53193534BE00F8AE07 /* Sparkle.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -339,6 +358,7 @@
EA86F5CC192AB55F00B834ED /* Frameworks */ = {
isa = PBXGroup;
children = (
+ EAA8CF4E19350E0400F8AE07 /* Sparkle.framework */,
EA70F9AF192ACEBA00315D05 /* libz.dylib */,
EA86F5CD192AB55F00B834ED /* Cocoa.framework */,
EA86F5EF192AB55F00B834ED /* XCTest.framework */,
@@ -383,6 +403,7 @@
EA86F5D9192AB55F00B834ED /* main.m */,
EA86F5DB192AB55F00B834ED /* Sketch Toolbox-Prefix.pch */,
EA86F5DC192AB55F00B834ED /* Credits.rtf */,
+ EA12D97E19354808000E5232 /* dsa_pub.pem */,
);
name = "Supporting Files";
sourceTree = "<group>";
@@ -397,6 +418,7 @@
EA86F5C6192AB55F00B834ED /* Sources */,
EA86F5C7192AB55F00B834ED /* Frameworks */,
EA86F5C8192AB55F00B834ED /* Resources */,
+ EAA8CF511935346D00F8AE07 /* CopyFiles */,
);
buildRules = (
);
@@ -445,6 +467,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ EA12D97F19354808000E5232 /* dsa_pub.pem in Resources */,
EA86F5D8192AB55F00B834ED /* InfoPlist.strings in Resources */,
EA86F5E9192AB55F00B834ED /* Images.xcassets in Resources */,
EA86F5DE192AB55F00B834ED /* Credits.rtf in Resources */,
@@ -605,6 +628,10 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)",
+ );
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Sketch Toolbox/Sketch Toolbox-Prefix.pch";
INFOPLIST_FILE = "Sketch Toolbox/Sketch Toolbox-Info.plist";
@@ -618,6 +645,10 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)",
+ );
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "Sketch Toolbox/Sketch Toolbox-Prefix.pch";
INFOPLIST_FILE = "Sketch Toolbox/Sketch Toolbox-Info.plist";
@@ -185,6 +185,7 @@
</subviews>
</view>
</window>
+ <customObject id="wxL-fS-6xB" customClass="SUUpdater"/>
<menu title="Main Menu" systemMenu="main" id="EIy-nK-C1y">
<items>
<menuItem title="Sketch Toolbox" id="8TN-Gh-ty4">
@@ -197,6 +198,18 @@
<action selector="orderFrontStandardAboutPanel:" target="-1" id="jqq-mE-mF0"/>
</connections>
</menuItem>
+ <menuItem title="Check for updates..." id="M66-4n-jO2">
+ <modifierMask key="keyEquivalentModifierMask"/>
+ <connections>
+ <action selector="checkForUpdates:" target="wxL-fS-6xB" id="RDj-rO-vRs"/>
+ </connections>
+ </menuItem>
+ <menuItem title="Send feedback..." id="prn-vd-ce7">
+ <modifierMask key="keyEquivalentModifierMask"/>
+ <connections>
+ <action selector="feedbackEmailClicked" target="Voe-Tx-rLC" id="gZO-d5-XYc"/>
+ </connections>
+ </menuItem>
<menuItem isSeparatorItem="YES" id="5Vv-wl-45a"/>
<menuItem title="Services" id="cgq-f0-Nqv">
<modifierMask key="keyEquivalentModifierMask"/>
@@ -21,6 +21,7 @@
-(IBAction)filterPlugins:(NSSearchField *)searchField;
-(IBAction)segmentSelected:(NSSegmentedControl*)sender;
+-(IBAction)feedbackEmailClicked:(id)sender;
- (NSString *)applicationFilesDirectory;
@@ -59,6 +59,11 @@ -(void)startApp {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadTableData) name:@"pluginStatusUpdated" object:nil];
}
+-(IBAction)feedbackEmailClicked:(id)sender {
+ NSString *mailtoAddress = [[NSString stringWithFormat:@"mailto:sketch@shahr.uz?Subject=[Sketch Toolbox] Feedback on version %@",[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]] stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
+ [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:mailtoAddress]];
+}
+
#pragma mark - Plugins Table
-(void)reloadTableData {
@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>0.0.4</string>
+ <string>0.0.5</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>4</string>
+ <string>5</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.graphics-design</string>
<key>LSMinimumSystemVersion</key>
@@ -32,5 +32,9 @@
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
+ <key>SUFeedURL</key>
+ <string>http://sketchtoolbox.com/updates/appcast.xml</string>
+ <key>SUPublicDSAKeyFile</key>
+ <string>dsa_pub.pem</string>
</dict>
</plist>
@@ -0,0 +1,20 @@
+-----BEGIN PUBLIC KEY-----
+MIIDOzCCAi0GByqGSM44BAEwggIgAoIBAQDH/Nfs1nHCVqQFP5qF2bB0kRPEL6JY
+2mrzg2B3uUWzDVzlRYOz2K2OEubsq/K5xlJUC7SIUlOAdBGL9CfTXhNdbN2Wd99b
+xp/db68HCoLHmjnzn36bHo6EQps4Pu/yL0GxflClUFN+3cP0MLX4unhhfhr1mCNp
+STPzgFvpaSTicz6GV5en1KN3xu3QmtJAYk5778r4N8c/31Z4zJTtJwURlksZJpZD
+Q0foZqLZpu5Lnj7zwGvrBBvd40+Lh1YD5oeK2v4GO7+LXoAakA0oCDSNMG4zr2VK
+IWeLG/4we7f8lsGlJ7u2qlUkbwuy7T1nIbH18UsS11wylQSTdpSDmUz1AhUAzXWe
+y5WTOm7lc4DlI6PCxQswCe8CggEAK6dDiEc1F5dOjTaSZMQB5VPBT9ka4DBt0AzY
+KWcexnvtpuG8HGH2AFl3xhz/2sWmKDk7xg9MhxibC9dHO9JQ9yhFCuzbnuLDaIq7
+DUTncUxn3p7FCdmDjXPmvSbgTadS44CvONUzMagpWmGXK8qAXsD+rq2MA+J+fxio
+ZbGC0EUAxEFOJD2Me9TGpCOGpb8HXlDMKgN4/OmX74338ZRz8taR8AdsZ2Z4oKZb
+bIhJwRY5cis2APM7hBVZ66h10dEYrSI6Useuf0o3pw9sCAVD1TehkVKkqYbSNmah
+XKJvxmfpbZtBZ8LuanuN7b37D6u808EzeHVfVH0T1hegojiqwQOCAQYAAoIBAQCi
+kgdJD+MljkepHQ/pKwmMqc+l6UwRmMjXCI36SD5wrymRb0IKk33ik9J4oHAKaQvn
++Gafry1tu7p0rve/OQaNpwE6qqdGIcmQiisz1tupnGuPh+QvMPKEiAYGJzgBzg76
+dXRvWGeyND4W2NHYpHdj2FdCqShWyemeSsORSMJiGvAnJAvYYFQI17WJOlRRc5QP
+rBlue0zAnaTx84WvwuuEGU+aKPbIDShoygATj1Iz80kZCl9E2N53rcdejBfS4wNx
+w+0qhRJpPrZgIAvU5wIusf+zMLUh7SQD0DzigGxphDkTdKBgxZSMZmgzxw/deDB2
+3aLCw29geckZOvVY0CvQ
+-----END PUBLIC KEY-----
@@ -0,0 +1,33 @@
+//
+// SUAppcast.h
+// Sparkle
+//
+// Created by Andy Matuschak on 3/12/06.
+// Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUAPPCAST_H
+#define SUAPPCAST_H
+
+@class SUAppcastItem;
+@interface SUAppcast : NSObject {
+ NSArray *items;
+ NSString *userAgentString;
+ id delegate;
+ NSMutableData *incrementalData;
+}
+
+- (void)fetchAppcastFromURL:(NSURL *)url;
+- (void)setDelegate:delegate;
+- (void)setUserAgentString:(NSString *)userAgentString;
+
+- (NSArray *)items;
+
+@end
+
+@interface NSObject (SUAppcastDelegate)
+- (void)appcastDidFinishLoading:(SUAppcast *)appcast;
+- (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error;
+@end
+
+#endif
@@ -0,0 +1,47 @@
+//
+// SUAppcastItem.h
+// Sparkle
+//
+// Created by Andy Matuschak on 3/12/06.
+// Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUAPPCASTITEM_H
+#define SUAPPCASTITEM_H
+
+@interface SUAppcastItem : NSObject {
+ NSString *title;
+ NSDate *date;
+ NSString *itemDescription;
+
+ NSURL *releaseNotesURL;
+
+ NSString *DSASignature;
+ NSString *minimumSystemVersion;
+
+ NSURL *fileURL;
+ NSString *versionString;
+ NSString *displayVersionString;
+
+ NSDictionary *propertiesDictionary;
+}
+
+// Initializes with data from a dictionary provided by the RSS class.
+- initWithDictionary:(NSDictionary *)dict;
+
+- (NSString *)title;
+- (NSString *)versionString;
+- (NSString *)displayVersionString;
+- (NSDate *)date;
+- (NSString *)itemDescription;
+- (NSURL *)releaseNotesURL;
+- (NSURL *)fileURL;
+- (NSString *)DSASignature;
+- (NSString *)minimumSystemVersion;
+
+// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
+- (NSDictionary *)propertiesDictionary;
+
+@end
+
+#endif
Oops, something went wrong.

0 comments on commit bc810cb

Please sign in to comment.