NSScreencast Episode #144 Share Extensions Part 1
Share Extensions Part 1 - NSScreencast
imgurという画像共有サービスと連携
- imgur: the simple image sharer
- ImgShare
- ImgShareKit
- ImgShareExtension
- Podfile
- target 'ImgShare' do
- pod 'AFNetworking'
- target 'ImgShare' do
- Add new target in Xcode (ImgShareKit)
- check Allow app extension API only
- Copy Keys.example.plist
- Copy Keys.plist
- Add it to .gitignore
- Copy ImgurApi.*
- NSArray+CollectionAdditions.*
- in main project (GalleryViewController.m)
- @import ImgShareKit;
- ShareKit
- Build Phase
- move ImgurAPI header to Public
- Project Editor Help: Setting the Visibility of a Header File
- Build Phase
- ImgShareExtension
- ShareViewController.m
- @import MobileCoreServices;
- viewDidLoad
- presentationAnimationDidFinish
- isContentValid
- didSelectPost
- [self.extensionContext completeRequestReturningItems:@[] completionHandler:nil];
- ShareViewController.m
- presentationAnimationDidFinish
- for ... in self.extensionContext.inputItems
- for (NSItemProvider *provider in item.attachments)
- NSString imageType = (NSString )kUTTypeImage;
- [provider hasItemConformingToTypeIdentifier:imageType]
- [provider loadItemForTypeIdentifier:imageType
- for (NSItemProvider *provider in item.attachments)
- It will be nasty(扱いにくい) and worse with Swift code
- for ... in self.extensionContext.inputItems
- Info.plist
- NSExtensionActivationRule
- Remove TRUEPREDICATE (Strint)
- Add Dictionary
- NSExtensionActivationSupportsImageWithMaxCount
- NSExtensionActivationRule
- Bundle display name
- 画面に表示されるアプリ名
- Info.plist - iPhoneアプリ開発の虎の巻