From 01ef64eb2420ba310831fbed30d3c25872dcef56 Mon Sep 17 00:00:00 2001 From: shu223 Date: Wed, 2 Oct 2013 12:57:55 +0900 Subject: [PATCH] Added a sample of Safari Services Framework --- README.md | 4 ++ iOS7Sampler.xcodeproj/project.pbxproj | 14 ++++ iOS7Sampler/MasterViewController.m | 6 ++ .../ReadingListViewController.h | 13 ++++ .../ReadingListViewController.m | 72 +++++++++++++++++++ .../ReadingListViewController.xib | 40 +++++++++++ 6 files changed, 149 insertions(+) create mode 100644 iOS7Sampler/SampleViewControllers/ReadingListViewController.h create mode 100644 iOS7Sampler/SampleViewControllers/ReadingListViewController.m create mode 100644 iOS7Sampler/SampleViewControllers/ReadingListViewController.xib diff --git a/README.md b/README.md index 1ee4dc3..1ab9623 100644 --- a/README.md +++ b/README.md @@ -116,6 +116,10 @@ Creating a snapshot with MKMapSnapshotOptions, MKMapSnapshotter. ![](http://f.cl.ly/items/2Q3d472D37002f063716/map_snapshot.png) +###Safari Reading List + +Adding an item to the Safari Reading List with the new Safari Services framework. + ##See Also diff --git a/iOS7Sampler.xcodeproj/project.pbxproj b/iOS7Sampler.xcodeproj/project.pbxproj index 48673ae..2a100af 100644 --- a/iOS7Sampler.xcodeproj/project.pbxproj +++ b/iOS7Sampler.xcodeproj/project.pbxproj @@ -115,6 +115,9 @@ 8A7BF3BC17ED8B43004EF216 /* HUTransitionGhostAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A7BF3B617ED8B43004EF216 /* HUTransitionGhostAnimator.m */; }; 8A7BF3BD17ED8B43004EF216 /* HUTransitionHorizontalLinesAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A7BF3B817ED8B43004EF216 /* HUTransitionHorizontalLinesAnimator.m */; }; 8A7BF3BE17ED8B43004EF216 /* HUTransitionVerticalLinesAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A7BF3BA17ED8B43004EF216 /* HUTransitionVerticalLinesAnimator.m */; }; + 8AEF0F9417FBCCF600D2B9BE /* ReadingListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AEF0F9217FBCCF600D2B9BE /* ReadingListViewController.m */; }; + 8AEF0F9517FBCCF600D2B9BE /* ReadingListViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8AEF0F9317FBCCF600D2B9BE /* ReadingListViewController.xib */; }; + 8AEF0F9717FBCDDB00D2B9BE /* SafariServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8AEF0F9617FBCDDB00D2B9BE /* SafariServices.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -264,6 +267,10 @@ 8A7BF3B817ED8B43004EF216 /* HUTransitionHorizontalLinesAnimator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HUTransitionHorizontalLinesAnimator.m; sourceTree = ""; }; 8A7BF3B917ED8B43004EF216 /* HUTransitionVerticalLinesAnimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HUTransitionVerticalLinesAnimator.h; sourceTree = ""; }; 8A7BF3BA17ED8B43004EF216 /* HUTransitionVerticalLinesAnimator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HUTransitionVerticalLinesAnimator.m; sourceTree = ""; }; + 8AEF0F9117FBCCF600D2B9BE /* ReadingListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReadingListViewController.h; sourceTree = ""; }; + 8AEF0F9217FBCCF600D2B9BE /* ReadingListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReadingListViewController.m; sourceTree = ""; }; + 8AEF0F9317FBCCF600D2B9BE /* ReadingListViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ReadingListViewController.xib; sourceTree = ""; }; + 8AEF0F9617FBCDDB00D2B9BE /* SafariServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SafariServices.framework; path = System/Library/Frameworks/SafariServices.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -271,6 +278,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 8AEF0F9717FBCDDB00D2B9BE /* SafariServices.framework in Frameworks */, 8A6DBC8017F2C352004311FE /* CoreImage.framework in Frameworks */, 8A6DBC6817F18814004311FE /* SpriteKit.framework in Frameworks */, 8A043B1B17F0D3D600DA84E9 /* MapKit.framework in Frameworks */, @@ -339,6 +347,7 @@ 8A7BF1BF17ED384C004EF216 /* Frameworks */ = { isa = PBXGroup; children = ( + 8AEF0F9617FBCDDB00D2B9BE /* SafariServices.framework */, 8A6DBC7F17F2C352004311FE /* CoreImage.framework */, 8A6DBC6717F18814004311FE /* SpriteKit.framework */, 8A043B1A17F0D3D600DA84E9 /* MapKit.framework */, @@ -444,6 +453,9 @@ 7AB9988E17F5D776003E769F /* MultipeerConnectivityViewController.h */, 7AB9988F17F5D776003E769F /* MultipeerConnectivityViewController.m */, 7AB9989017F5D776003E769F /* MultipeerConnectivityViewController.xib */, + 8AEF0F9117FBCCF600D2B9BE /* ReadingListViewController.h */, + 8AEF0F9217FBCCF600D2B9BE /* ReadingListViewController.m */, + 8AEF0F9317FBCCF600D2B9BE /* ReadingListViewController.xib */, ); path = SampleViewControllers; sourceTree = ""; @@ -620,6 +632,7 @@ 8A6DBC7217F19718004311FE /* MapDirectionsViewController.xib in Resources */, 8A7BF36317ED5BB1004EF216 /* m7@2x.png in Resources */, 8A7BF36417ED5BB1004EF216 /* m8@2x.png in Resources */, + 8AEF0F9517FBCCF600D2B9BE /* ReadingListViewController.xib in Resources */, 8A7BF37717ED5BB1004EF216 /* m27@2x.png in Resources */, 8A7BF36B17ED5BB1004EF216 /* m15@2x.png in Resources */, 8A7BF3A717ED7F5D004EF216 /* stage_6@2x.png in Resources */, @@ -727,6 +740,7 @@ 8A43D5DC17F187BE005E8BE8 /* SpriteKitViewController.m in Sources */, 8A7BF3BC17ED8B43004EF216 /* HUTransitionGhostAnimator.m in Sources */, 8A7BF38D17ED7897004EF216 /* SpeechSynthesisViewController.m in Sources */, + 8AEF0F9417FBCCF600D2B9BE /* ReadingListViewController.m in Sources */, 8A43D5D817F12397005E8BE8 /* UIViewController+Animator.m in Sources */, 8A7BF1DA17ED384C004EF216 /* DetailViewController.m in Sources */, 8A7BF3BE17ED8B43004EF216 /* HUTransitionVerticalLinesAnimator.m in Sources */, diff --git a/iOS7Sampler/MasterViewController.m b/iOS7Sampler/MasterViewController.m index ab4ee47..761bc64 100644 --- a/iOS7Sampler/MasterViewController.m +++ b/iOS7Sampler/MasterViewController.m @@ -109,6 +109,12 @@ - (void)viewDidLoad kItemKeyDescription: @"Creating a snapshot with MKMapSnapshotOptions, MKMapSnapshotter.", kItemKeyClassPrefix: @"MapSnapshot", }, + + // Reading List + @{kItemKeyTitle: @"Safari Reading List", + kItemKeyDescription: @"Adding an item to the Safari Reading List with the new Safari Services framework.", + kItemKeyClassPrefix: @"ReadingList", + }, ]; } diff --git a/iOS7Sampler/SampleViewControllers/ReadingListViewController.h b/iOS7Sampler/SampleViewControllers/ReadingListViewController.h new file mode 100644 index 0000000..beb9ac4 --- /dev/null +++ b/iOS7Sampler/SampleViewControllers/ReadingListViewController.h @@ -0,0 +1,13 @@ +// +// ReadingListViewController.h +// iOS7Sampler +// +// Created by shuichi on 10/2/13. +// Copyright (c) 2013 Shuichi Tsutsumi. All rights reserved. +// + +#import + +@interface ReadingListViewController : UIViewController + +@end diff --git a/iOS7Sampler/SampleViewControllers/ReadingListViewController.m b/iOS7Sampler/SampleViewControllers/ReadingListViewController.m new file mode 100644 index 0000000..ae8aab3 --- /dev/null +++ b/iOS7Sampler/SampleViewControllers/ReadingListViewController.m @@ -0,0 +1,72 @@ +// +// ReadingListViewController.m +// iOS7Sampler +// +// Created by shuichi on 10/2/13. +// Copyright (c) 2013 Shuichi Tsutsumi. All rights reserved. +// + +#import "ReadingListViewController.h" +#import + + +@interface ReadingListViewController () + +@end + + +@implementation ReadingListViewController + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view from its nib. +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + + +// ============================================================================= +#pragma mark - IBAction + +- (IBAction)addToReadingList { + + NSURL *url = [NSURL URLWithString:@"https://github.com/shu223/iOS7-Sampler"]; + NSError *err; + + BOOL result = [[SSReadingList defaultReadingList] addReadingListItemWithURL:url + title:@"iOS7 Sampler" + previewText:@"Code examples for the new functions of iOS 7." + error:&err]; + + UIAlertView *alert = [[UIAlertView alloc] init]; + [alert addButtonWithTitle:@"OK"]; + + if (!result) { + + alert.title = @"Failed!"; + alert.message = [NSString stringWithFormat:@"Error:%@", err.description]; + } + else { + + alert.title = @"Done!"; + alert.message = @"Added to the Safari Reading List."; + } + + [alert show]; +} + +@end diff --git a/iOS7Sampler/SampleViewControllers/ReadingListViewController.xib b/iOS7Sampler/SampleViewControllers/ReadingListViewController.xib new file mode 100644 index 0000000..279cb3b --- /dev/null +++ b/iOS7Sampler/SampleViewControllers/ReadingListViewController.xib @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file