Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
dd1e629
initial commit
ideashower Jul 6, 2010
812fe20
Revising README for clarity
ideashower Jul 8, 2010
d37fe7b
README typo
ideashower Jul 8, 2010
cbeff26
Modified SHKRequest to interpret a 201 HTTP status code (Created) as …
Jul 9, 2010
9c60e46
Added Instapaper sharer
Jul 9, 2010
1513111
Merge branch 'master' of github.com:ideashower/ShareKit
ideashower Jul 9, 2010
69bbcaa
Cleaned up SHKInstapaper, Modified SHKSharer to support services with…
ideashower Jul 9, 2010
5a8c40d
created tumblr sharer
Jul 10, 2010
fc9d54e
reverting changes from SHKConfig made by fork
ideashower Jul 12, 2010
dcb84c3
removing user pbx files from example project
ideashower Jul 12, 2010
6f1ca7b
New Configuration Options:
ideashower Jul 12, 2010
b7baddd
last minute cleanups before releasing 0.1.5
ideashower Jul 12, 2010
3b18089
- Fixed logout on device
ideashower Jul 13, 2010
1a6b59c
fixed test case in example project
ideashower Jul 13, 2010
5a66c85
Cleanup
ideashower Jul 13, 2010
38bc1f8
full localization support for ShareKit. Added german.
Jul 19, 2010
2f9da86
completed german localization
Jul 19, 2010
a8785b8
add localization for twitter
Jul 19, 2010
560f60e
BUGFIX: filter out sharers that can't share, thus create no button bu…
Jul 26, 2010
8081db8
fix: add single sharer, not class
Jul 26, 2010
3a6a746
New:
ideashower Jul 27, 2010
692b98a
Version 0.2.0
ideashower Jul 27, 2010
bb42f4c
Add on/off for alphabetical ordering items in ShareMenu
Aug 14, 2010
0af9e32
Fix crash due to asking for session for AutoShare when the Sharer is …
Aug 17, 2010
f83bbca
Username/password texfield should not have autocorrection and autocap…
Aug 17, 2010
07bab21
fix: UIImageJPEGRepresentation specification takes in compression rat…
Aug 18, 2010
0f878ea
add localization for example document
Aug 16, 2010
e505e4d
fixed localization in ShareKit example code
Aug 16, 2010
8fd4ecc
SHKTwitter : added img.ly image sharing for
Aug 24, 2010
779093f
fixing crash caused by malformed error message formatting in case of …
adamawolf Aug 6, 2010
b9fb96a
Fix OAMutableURLRequest bugs with parameters
Aug 24, 2010
dd09d50
Fix UIImageJPEGRepresentation only takes in compression ratio from 0.…
Aug 25, 2010
1e55db2
BUGFIX: in facebook if you login->logout->log back in, the post windo…
adamawolf Aug 16, 2010
1b407d8
Added session proxy support for Facebook Connect.
Aug 3, 2010
f084a13
Modified Facebook logout code to work with session proxying.
Aug 3, 2010
4ffde13
Better Error handling for image upload
Aug 24, 2010
83d0c56
Fix bug on image upload url checking
Aug 25, 2010
cf3bdfb
- New: Option to disable 'shared with …' email signature
ideashower Aug 26, 2010
095b2c9
cleanup
ideashower Aug 26, 2010
a41fde8
- Fixed: Offline sharing of images and files
ideashower Aug 26, 2010
bc26043
Missed SHKSwizzle header update
ideashower Aug 27, 2010
7f35b4e
Reverted objc-class import line
ideashower Aug 30, 2010
6486944
Fixed memory leaks in OAuth helper classes.
Nov 8, 2010
652b3d9
Fixed crash when clicking "More" after the original rootViewControlle…
Nov 8, 2010
9d18c70
Removed 3.2-and-below-specific code, fixing compiler warning about de…
Nov 10, 2010
c1fb839
Fixed static analyzer warning about garbage value.
Nov 10, 2010
e155c61
Added a shorten property to SHKItem which is used by the Twitter sharer.
Nov 19, 2010
2ca5548
Added thumbnailURL property to SHKItem for use with the Facebook adap…
Nov 22, 2010
702fcb8
The email option is no longer hidden if the user has no account set u…
Nov 23, 2010
69f6bef
Changed hide delay when showing a complete message from half a second…
Nov 27, 2010
0cfbd52
Added "Offline: Queued" message when sharing items while offline.
Nov 29, 2010
8132a66
Added MBProgressHUD submodule.
Jan 16, 2011
e51ce47
Removed the SHKActivityIndicator class in favor of the more flexible …
Jan 16, 2011
ef1db28
Fixed localization for already-localized projects (pulled from memmon…
Jan 31, 2011
8ce7a84
Fixed compile error in last commit.
Jan 31, 2011
f3ccf11
Removed the redundant "Share" title from the SHKActionSheet.
Feb 1, 2011
a660e1f
Facebook is now blocked when offline, as the FB SDK has no offline su…
Feb 2, 2011
941c5bd
Twitter is no longer marked as needing an internet connection.
Feb 2, 2011
46da41d
Changed "Copy" to "Copy Link".
Feb 2, 2011
56fa3b9
The more button will no longer be shown if the number of favorite sha…
Feb 2, 2011
d129127
Fixed crash when sharing via Twitter on iOS 3.0.
Feb 14, 2011
3b9f011
Improved messaging when sharing via Twitter, Facebook etc.
Feb 20, 2011
e67ca41
Fixed compilation error and added option to specify sharers in action…
Feb 20, 2011
60ceee0
Added toolbar with logout button to the standard Twitter form.
Feb 21, 2011
42b9e3b
Refactored and removed unneeded code.
Feb 25, 2011
1bdc0ad
Updated localization.
Feb 28, 2011
91e72b5
Updated .gitignore with changes from memmons' fork at https://github.…
benjaminjackson Jul 26, 2011
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
build/*
Releases/build-*
*.pbxuser
*.mode1v3
*.perspectivev3
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "Classes/ExternalLibraries/MBProgressHUD"]
path = Classes/ExternalLibraries/MBProgressHUD
url = https://github.com/jdg/MBProgressHUD.git
38 changes: 38 additions & 0 deletions Classes/Example/ExampleShareFile.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
//
// ExampleShareFile.h
// ShareKit
//
// Created by Nathan Weiner on 6/29/10.

//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
//

#import <Foundation/Foundation.h>


@interface ExampleShareFile : UIViewController <UIWebViewDelegate>
{
UIWebView *webView;
}

@property (nonatomic, retain) UIWebView *webView;

@end
83 changes: 83 additions & 0 deletions Classes/Example/ExampleShareFile.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
//
// ExampleShareFile.m
// ShareKit
//
// Created by Nathan Weiner on 6/29/10.

//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
//

#import "ExampleShareFile.h"
#import "SHK.h"
#import "SHKActionSheet.h"

@implementation ExampleShareFile

@synthesize webView;

- (void)dealloc
{
[webView release];
[super dealloc];
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])
{
self.toolbarItems = [NSArray arrayWithObjects:
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease],
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(share)] autorelease],
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease],
nil
];
}

return self;
}

- (void)loadView
{
self.webView = [[UIWebView alloc] initWithFrame:CGRectZero];
webView.delegate = self;
webView.scalesPageToFit = YES;
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"example.pdf"]]]];

self.view = webView;
[webView release];
}

- (void)share
{
NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"example.pdf"];
NSData *file = [NSData dataWithContentsOfFile:filePath];

SHKItem *item = [SHKItem file:file filename:@"Awesome.pdf" mimeType:@"application/pdf" title:@"My Awesome PDF"];
SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];
[actionSheet showFromToolbar:self.navigationController.toolbar];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}

@end
38 changes: 38 additions & 0 deletions Classes/Example/ExampleShareImage.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
//
// ExampleShareImage.h
// ShareKit
//
// Created by Nathan Weiner on 6/18/10.

//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
//

#import <UIKit/UIKit.h>


@interface ExampleShareImage : UIViewController
{
UIImageView *imageView;
}

@property (nonatomic, retain) UIImageView *imageView;

@end
83 changes: 83 additions & 0 deletions Classes/Example/ExampleShareImage.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
//
// ExampleShareImage.m
// ShareKit
//
// Created by Nathan Weiner on 6/18/10.

//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
//

#import "ExampleShareImage.h"
#import "SHKItem.h"
#import "SHKActionSheet.h"

@implementation ExampleShareImage

@synthesize imageView;

- (void)dealloc
{
[imageView release];
[super dealloc];
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])
{
self.toolbarItems = [NSArray arrayWithObjects:
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease],
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(share)] autorelease],
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease],
nil
];
}

return self;
}

- (void)loadView
{
[super loadView];

self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"sanFran.jpg"]];

imageView.frame = CGRectMake(0,0,self.view.bounds.size.width,self.view.bounds.size.height);

[self.view addSubview:imageView];

[imageView release];
}

- (void)share
{
SHKItem *item = [SHKItem image:imageView.image title:@"San Francisco"];
SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];

[actionSheet showFromToolbar:self.navigationController.toolbar];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}

@end
38 changes: 38 additions & 0 deletions Classes/Example/ExampleShareLink.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
//
// ExampleShareLink.h
// ShareKit
//
// Created by Nathan Weiner on 6/17/10.

//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
//

#import <UIKit/UIKit.h>


@interface ExampleShareLink : UIViewController <UIWebViewDelegate>
{
UIWebView *webView;
}

@property (nonatomic, retain) UIWebView *webView;

@end
79 changes: 79 additions & 0 deletions Classes/Example/ExampleShareLink.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
//
// ExampleShareLink.m
// ShareKit
//
// Created by Nathan Weiner on 6/17/10.

//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
//

#import "ExampleShareLink.h"
#import "SHK.h"

@implementation ExampleShareLink

@synthesize webView;

- (void)dealloc
{
[webView release];
[super dealloc];
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])
{
self.toolbarItems = [NSArray arrayWithObjects:
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease],
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(share)] autorelease],
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease],
nil
];
}

return self;
}

- (void)share
{
SHKItem *item = [SHKItem URL:webView.request.URL title:[webView pageTitle]];
SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];
[actionSheet showFromToolbar:self.navigationController.toolbar];
}

- (void)loadView
{
self.webView = [[UIWebView alloc] initWithFrame:CGRectZero];
webView.delegate = self;
webView.scalesPageToFit = YES;
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://apple.com"]]];

self.view = webView;
[webView release];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}

@end
Loading