lock screen hack

29
ロック画面ハック してみた 田村 航弥 @tamotamago

Upload: tamura-koya

Post on 29-Nov-2014

1.450 views

Category:

Technology


9 download

DESCRIPTION

Conference With Developers2 の LT で話した資料

TRANSCRIPT

Page 1: Lock Screen Hack

ロック画面ハック してみた

田村 航弥 @tamotamago

Page 2: Lock Screen Hack

田村 航弥 @tamotamago2014年 02 月 株式会社ミクシィを退職しました

mixi for iPhone PoPolly

Page 3: Lock Screen Hack

初級~中級者向け 電子書籍 only 2 月発売予定

Page 4: Lock Screen Hack

ロックスクリーンハックon Android

PoPolly for Android

youtube 動画

Page 5: Lock Screen Hack

iOS でごりってみた

youtube 動画

Page 6: Lock Screen Hack

iOS でごりってみたBackGround で動きましょう

音楽ボタンのイベント を拾いましょう

アートワークを いじりましょう

Page 7: Lock Screen Hack

BackGround で動きましょう

音楽ボタンのイベント を拾いましょう

アートワークをいじりましょう

Page 8: Lock Screen Hack

Background Modes

Page 9: Lock Screen Hack

Background Modes

Page 10: Lock Screen Hack

MPMoviePlayerController

Page 11: Lock Screen Hack

MPMoviePlayerController• 無音 MP3 をエンドレスループ

_moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:[[NSBundle mainBundle] URLForResource:@"Silent3sec" withExtension:@“mp3"]]; !_moviePlayerController.repeatMode = MPMovieRepeatModeOne;

Page 12: Lock Screen Hack

AVAudioSession

Page 13: Lock Screen Hack

AVAudioSession• バックグラウンドに移ったときの振る舞いを設定

[[AVAudioSession sharedInstance] setDelegate: self]; NSError *error; // Initialize the AVAudioSession here. if (![[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error]) { // Handle the error here. NSLog(@"Audio Session error %@, %@", error, [error userInfo]); }

AVAudioSessionCategoryPlayback : ロックスクリーンに行っても出力のみし続ける

Page 14: Lock Screen Hack

BackGround 動きましょう

音楽ボタンのイベント を拾いましょう

アートワークをいじりましょう

Page 15: Lock Screen Hack

RemoteControlEvents

Page 16: Lock Screen Hack

RemoteControlEvents

これ

Page 17: Lock Screen Hack

RemoteControlEvents• イベント受け取ります宣言

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

Page 18: Lock Screen Hack

RemoteControlEvents• イベント受け取り- (void)remoteControlReceivedWithEvent:(UIEvent *)event { switch (event.subtype) { case UIEventSubtypeRemoteControlPlay: case UIEventSubtypeRemoteControlPause: case UIEventSubtypeRemoteControlStop: case UIEventSubtypeRemoteControlTogglePlayPause: NSLog(@"pushed center button"); break; case UIEventSubtypeRemoteControlNextTrack: NSLog(@"pushed right button"); break; case UIEventSubtypeRemoteControlPreviousTrack: NSLog(@"pushed left button"); break; default: break; } }

Page 19: Lock Screen Hack

RemoteControlEvents

// for UIEventTypeRemoteControl, available in iOS 4.0 UIEventSubtypeRemoteControlPlay = 100, UIEventSubtypeRemoteControlPause = 101, UIEventSubtypeRemoteControlStop = 102, UIEventSubtypeRemoteControlTogglePlayPause = 103, UIEventSubtypeRemoteControlNextTrack = 104, UIEventSubtypeRemoteControlPreviousTrack = 105, UIEventSubtypeRemoteControlBeginSeekingBackward = 106, UIEventSubtypeRemoteControlEndSeekingBackward = 107, UIEventSubtypeRemoteControlBeginSeekingForward = 108, UIEventSubtypeRemoteControlEndSeekingForward = 109,

Page 20: Lock Screen Hack

BackGround 動きましょう

音楽ボタンのイベント を拾いましょう

アートワークを いじりましょう

Page 21: Lock Screen Hack

MPNowPlayingInfoCenter

Page 22: Lock Screen Hack

MPNowPlayingInfoCenter• Now Playing な Information をセットできる

MPMediaItemArtwork *artwork = [[MPMediaItemArtwork alloc] initWithImage:[UIImage imageNamed:@"question"]]; // set NowPlaying. Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter"); if (playingInfoCenter) { MPNowPlayingInfoCenter *center = [MPNowPlayingInfoCenter defaultCenter]; center.nowPlayingInfo = @{}; ! NSDictionary *songInfo = @{MPMediaItemPropertyTitle:@"どっちがすき?", MPMediaItemPropertyArtwork:artwork, MPMediaItemPropertyPlaybackDuration:[NSNumber numberWithDouble:20.0], MPNowPlayingInfoPropertyElapsedPlaybackTime:[NSNumber numberWithDouble:0.0], MPNowPlayingInfoPropertyPlaybackRate:[NSNumber numberWithDouble:1.0] }; center.nowPlayingInfo = songInfo; }

userInfo の key はMPNowPlayingInfoCenter.h に書いてあります

Page 23: Lock Screen Hack

ボタンが押されたらアートワークを変更する

Page 24: Lock Screen Hack

みなさん何か忘れていませんか?

Page 25: Lock Screen Hack

Apple Review Guideline

Page 26: Lock Screen Hack

Apple Review Guideline

• 2.16 Multitasking Apps may only use background services for their intended purposes: VoIP, audio playback, location, task completion, local notifications, etc.

Page 27: Lock Screen Hack
Page 28: Lock Screen Hack

結び

Page 29: Lock Screen Hack

結び作る前に(レビューガイドラインを)読む!