精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

iOS 8出色的跨應用通信效果:解讀Action擴展

譯文
移動開發 iOS
用程序擴展最初于WWDC 2014大會上正式亮相,這是一種將iOS應用程序功能擴展至系統其它組成部分的途徑、而且能夠實現更為出色的跨應用通信效果。

應用程序擴展最初于WWDC 2014大會上正式亮相,這是一種將iOS應用程序功能擴展至系統其它組成部分的途徑、而且能夠實現更為出色的跨應用通信效果。

舉例為說,大家可以利用Today擴展創建出能夠顯示在通知中心之內的功能部件、Sharing擴展則幫助用戶將信息共享至社交網絡當中,而Action擴展的作用在于允許用戶執行當前內容——包括將其以不同方式顯示或者對內容作出更改。在今天的上手指南當中,我們將了解如何從零開始創建一項Action擴展。

雖然這篇文章并不會對大家的知識儲備提出太多硬性要求,但我還是建議讀者朋友能夠首先閱讀一些相關資料,從而在本文指導之后得以更輕松地掌握更多擴展創建知識。

WWDC大會演講:為iOS及OS X創建擴展——第一部分與第二部分

應用程序擴展編程指南

1. 我們要創建什么?

我們將要創建一項名為“Read it”的簡單Action擴展。這項擴展將把文本內容作為輸入信息,并利用AVFoundation框架中的語音合成API將其朗讀出來。我認為整個流程非常適合作為本教程的核心內容,因為在處理當中我們無需引入任何第三方依賴性、也不會產生其它難以處理的問題。

以下為我們在創建結束之后所得到的擴展功能效果。大家可以點擊此處從GitHub上下載到本教程中的創建結果。

2. 創建一項Action擴展

第一步:項目設置

首先要做的是啟動Xcode 6.1或者更高版本,而后創建一個新項目。在Xcode的File菜單當中選擇New > Project…,然后從模板列表當中選擇Single View Application。

點擊Next并為我們的項目設定一個SampleActionExtensionApp名稱。輸入一個Organization Identifier并將Devices類型設置為iPhone。在本教程當中,我們將使用的編程語言為Objective-C。

第二步:添加目標

在完成了以上項目創建工作之后,大家接下來可以為Action擴展添加一個目標了。從File菜單下選擇New > Target…。在左側面板當中,從iOS選項處選擇Application Extension,并在選定Action Extension后點擊Next。

現在將Product Name設置為ReadItAction。此外還需要注意其它一些選項,特別是Action Type。我們稍后再就這一話題進行深入探討?,F在點擊Finish以創建Action擴展。

現在系統會詢問大家是否打算激活這套ReadItAction項目。暫時點擊Cancel,因為我們之后會通過運行內容應用來安裝這一Action擴展、而非直接加以激活。

Action類型

Action擴展共分為兩種類型,其一配備用戶界面、另一種則不配備用戶界面。大家可能會覺得奇怪——不配備用戶界面的Action擴展到底有什么實實在在的好處?下面就讓我為大家作出解釋。

不具備用戶界面的Action擴展以內容變更為目標作用于當前項目。舉例來說,一項Action擴展能夠去除相片當中的紅眼現象,而且其完全無需用戶界面作為配合。內容性應用隨后可以對這部分經過變更的內容加以運用,在以上實例中即為完成了修正的相片素材。

配備用戶界面的Action擴展則可以表現為全屏形式或者格式表形式。Action擴展目標模板采用的是全屏幕形式,因此我們也將在接下來的創建過程中將其作為設計思路。

第三步:用戶界面的實現

現在我們已經完成了基礎性設置流程,也就是做好了創建用戶界面的各項準備工作。下面我們將從應用程序內容開始入手。

首先點擊Project Navigator當中SampleActionExtensionApp組之下的Main.storyboard。在右側面板當中,選擇File Inspector并取消對Use size classes的勾選。請注意,如果大家打算創建的是一款真正的應用程序且不需要對iPad提供支持,那么使用size classes(即尺寸類)可能會是最好的選擇。

下面打開Object Library,并將文本視圖與工具欄拖拽至該視圖當中。在右側的Size Inspectoron中將文本視圖的框體設定為{x:8, y:20, width:304, height:288}。而對于工具欄,我們同樣在Size Inspector中對其進行設置,具體參數為{x:0, y:308, width:320, height:44}。

工具欄當中應當包含一個欄按鈕。將其選定,而后在Attributes Inspector當中將其Style設置為Plain,并將其Identifier設置為Action。

作為收尾工作,我們需要將文本視圖當中的默認文本內容移除并替換為“Tap the action button to invoke activity view controller. Then select 'Read it' action and this text will be read by our sample Action extension.(點擊action按鈕以調用活動視圖控制器。而后選擇‘Read it’操作,這段文本將由我們的示例Action擴展朗讀出來。)”

視圖控制器的用戶界面顯示效果現在應當如下圖所示:

當然,我們也可以將內容應用程序保留為空白。畢竟我們的目標在于構建一套示例性應用程序擴展,因此該應用本身并不需要真正的執行功能。不過我個人希望向大家展示從應用程序內部實現活動控制器調用有多么輕松,相信各位也能夠借此了解如何將更多其它Action擴展納入自己的應用當中。

在點擊工具欄當中的按鈕時,一套活動視圖控制器將會顯示出來,而我們則能夠從這里對自己的Action擴展進行調用。選擇這種方式的另一個理由在于,如果大家打算將自己的擴展發布到App Store當中,那么其必須要作為一款真正應用程序的組成部分、而應用當然得擁有功能才可以順利通過蘋果官方的審批。

第四步:當前活動視圖控制器

接下來,我們需要將一部分代碼添加到ViewController.m當中。首先在視圖控制器的類擴展當中為文本視圖創建一套外觀,具體代碼如下所示。

  1. @interface ViewController () 
  2.   
  3. @property (nonatomic, weak) IBOutlet UITextView *textView; 
  4.   
  5. @end 

創建一項名為actionButtonPressed的action,在這里我們將對UIActivityViewController實例進行初始化與顯示、并將其提供給用戶。

  1. - (IBAction)actionButtonPressed:(id)sender { 
  2.     UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:@[self.textView.text] 
  3.                                                                              applicationActivities:nil]; 
  4.     [self presentViewController:activityVC animated:YES completion:nil]; 

讓我們再說回Main.storyboard,通過點擊Control并將文本視圖外觀方案從View Controller Scene下的View Controller對象中將其拖拽至文本視圖內、然后在彈出的菜單中選擇textView,這就實現了文本視圖外觀與文本視圖的對接。

為了與action方法實現對接,我們需要在工具當中選擇該欄按鈕并打開Connections Inspector。將其從Sent actions下的selector當中拖拽至View Controller對象,而后在彈出的菜單內選擇actionButtonPressed:。

到這里應用程序的用戶界面已經設計完成并且正式交付使用,下面我們可以繼續進行Action擴展創建工作了。

第五步:用戶界面的實現

在Project Navigator當中,展開ReadItAction組并點擊MainInterface.storyboard。大家應該會注意到,該故事板并非空白、其中已經包含有一部分用戶界面組件。我們可以對其中一部分加以利用,但具體的圖象視圖卻幫不上什么忙。因此選定該圖象視圖并通過按下Delete鍵將其移除。

接下來打開Object Library并在下方的導航欄中添加一套文本視圖。將其框體變更為{x: 8, y: 72, width: 304, height: 300}。最后,雙擊該導航欄的標題視圖并將標題內容設定為“Text reader”。

第六步:ActionViewControlle的實現

到了這一步,我們需要搞定Action擴展的實現工作。在Project Navigator當中選擇ActionViewController.m,并對其實施以下幾項變更。

下面的導入語句會將一條導入語句添加到AVFoundation框架當中,這樣我們就能將其語音合成API運用在自己的Action擴展當中了。

1 @import AVFoundation;

在ActionViewController類的類擴展當中,移除其中的imageView外觀并添加到我們之前曾經添加至文本視圖當中的新外觀。

  1. @interface ActionViewController () 
  2.   
  3. @property (nonatomic, strong) IBOutlet UITextView *textView; 
  4.   
  5. @end 

除此之外,我們還需要對ActionViewController類中的viewDidLoad方法作出以下幾項變更。

  1. 30 - (void)viewDidLoad { 
  2.     [super viewDidLoad]; 
  3.       
  4.     //從擴展背景信息中獲取我們打算處理的項目。 
  5.     // 在我們的Action extension當中, 我們只需要一個輸入項目(即文本),因此我們使用數組中的第一個項目。 
  6.     NSExtensionItem *item = self.extensionContext.inputItems[0]; 
  7.     NSItemProvider *itemProvider = item.attachments[0]; 
  8.       
  9.     if ([itemProvider hasItemConformingToTypeIdentifier:(NSString *)kUTTypePlainText]) { 
  10.           
  11.         // 這是一段純文本! 
  12.         __weak UITextView *textView = self.textView; 
  13.           
  14.         [itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypePlainText options:nil completionHandler:^(NSString *item, NSError *error) { 
  15.               
  16.             if (item) { 
  17.                 [[NSOperationQueue mainQueue] addOperationWithBlock:^{ 
  18.                       
  19.                     [textView setText:item]; 
  20.                       
  21.                     //設置語音合成并加以啟動 
  22.                     AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc]init]; 
  23.                     AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:textView.text]; 
  24.                     [utterance setRate:0.1]; 
  25.                     [synthesizer speakUtterance:utterance]; 
  26.                 }]; 
  27.             } 
  28.         }]; 
  29.     } 

整個實現過程還是非常容易理解的。在viewDidLoad當中,我們得到了輸入文本內容、將其分配給文本視圖、而后再創建一個能夠將其朗讀出來的語音合成對象。

第七步:配置Action擴展

雖然我們已經接近整個項目創建流程的尾聲,但仍有一些需要著重關注的細節問題。首先,我們需要將故事板中的文本視圖與我們此前已經創建完成的外觀方案相對接。

打開MainInterface.storyboard并將文本視圖與Image場景相對接,正如我們之前在Main.storyboard當中完成的操作一樣。

接下來我們還需要為Action擴展指定所能支持的數據類型。在這一次的實例當中,我們只需要支持純文本數據即可。展開Supporting Files組并選擇Info.plist。在Info.plist當中,遵循NSExtension > NSExtensionAttributes > NSExtensionActivationRule導航流程,最后將NSExtensionActivationRule的類型由String變更為Dictionary。

在已經展開的dictionary當中,點擊旁邊的+號按鈕,從而添加一個新的子級鍵。將其名稱設置為NSExtensionActivationSupportsText,類型設定成Boolean,而值則取為YES。這樣一來,我們就能確保自己的Action擴展只在輸入項目包含文本內容時才會顯示出來。

仍然是在Info.plist當中,我們要將Bundle Display Name變更為Read It。這樣看起來會更加清晰。下圖所示為Info.plist文件當中相關部分的設置結果:

第八步

作為畫龍點睛之筆,大家可以為Action擴展添加一個圖標。在Project Navigator當中,選擇該項目并在目標之下選定ReadItAction目標。在App Icons and Launch Images部分中的General標簽下點擊App Icons Source旁邊的Use Asset Catalog。根據提示,我們接下來需要點擊Migrate。而后慎用至資產目錄并將以下圖標拖拽至iPhone App iOS 7,8 60pt 2x位置。

[[127275]]

完成應用程序的構建與運行步驟,看看一切是否像我們預期的那樣運轉正常。不過還有一個需要關注的問題:如果聲音圖標沒有被正常顯示在Action擴展之內,大家需要確保主Images.xcassets文件已經被正確復制到了擴展目標當中。

要完成這項操作,我們需要在Project Navigator當中選定該項目并從Targets列表當中選擇ReadItAction目標。打開屏幕頂端的Build Phases標簽并展開Copy Bundle Resources步驟。如果Images.xcassets文件并未出現在資源列表當中,那么點擊其中的小加號將其手動添加到列表之內。

3. 運行及測試

最后要做的就是運行應用程序并嘗試其各功能的起效情況。以下顯示的兩幅截圖為運行當中的擴展外觀。大家也可以嘗試通過記事本應用調用該活動視圖控制器,并讓我們的擴展讀取之前曾經記錄過的文本內容。除此之外,我們不妨在相片應用當中打開活動列表,這時大家會發現自己的擴展并沒有被列中其中。沒錯,這正好符合我們之前為其設置的激活規則。

總結

在今天的教程當中,大家了解了如何構建一套簡單的Action擴展。我們還涉及到了一些基礎性知識,即如何運用AVFoundation框架當中的語音合成API。如果大家有舉創建出更多擴展方案,也可以點擊此處查看由Cesar Tessarin帶來的Today擴展創建指南。

如果大家對本文內容還抱有任何疑問或者建議,請在下方的評論欄中與我們分享。

英文原文:http://code.tutsplus.com/tutorials/ios-8-how-to-build-a-simple-action-extension--cms-2279

 

責任編輯:chenqingxiang 來源: 51CTO
相關推薦

2017-06-27 11:13:51

互聯網

2012-09-24 10:12:38

戴爾

2009-12-16 11:08:32

架構師程序員

2014-07-11 09:33:24

iOS 8動作擴展

2013-08-21 09:50:19

Windows 8

2014-07-24 10:06:56

ContinuityiOS 8Yosemite

2013-08-30 09:54:58

企業移動應用

2012-12-26 11:15:53

兒童應用移動應用平板

2013-12-26 10:17:17

郵件服務器軟件反垃圾

2010-08-06 16:07:55

Flex通信

2023-11-13 09:28:20

跨組件組件化

2011-09-10 10:06:31

愛普生針式打印機

2015-04-23 09:05:48

蘋果風云人物

2012-02-13 10:32:00

iOS應用設計趨勢

2011-07-29 10:01:21

IOS 跑馬燈

2012-08-17 09:14:13

Windows 8操作系統

2009-05-13 08:50:13

Novell技術解讀

2011-09-20 09:34:09

Windows Ser微軟虛擬化

2015-08-18 16:44:38

數據中心

2015-09-09 13:15:05

點贊
收藏

51CTO技術棧公眾號

亚洲欧美成人精品| 国产精品毛片无遮挡高清| 国内成人精品视频| www.狠狠爱| 国产精品亚洲欧美日韩一区在线| 亚洲激情五月婷婷| 蜜桃麻豆91| 国产黄色一区二区| 六月婷婷一区| 欧美激情区在线播放| 国产成人无码精品久久二区三| 亚洲综合伊人| 日韩欧美亚洲国产一区| 欧美一级中文字幕| 国产天堂在线| a亚洲天堂av| 91九色蝌蚪国产| 香蕉影院在线观看| 欧美精品一区二区三区久久久竹菊| 亚洲美女性生活视频| 亚洲三级在线视频| 色综合天天色| 欧美特级www| 日韩成人三级视频| 欧美三级理伦电影| 国产夜色精品一区二区av| 91九色极品视频| 一区二区视频在线免费观看| 一区二区三区国产盗摄| 久久99久国产精品黄毛片入口| 国产一级久久久久毛片精品| 麻豆一区二区| 精品久久五月天| 一级黄色片在线免费观看| 免费欧美一级片| 日韩中文字幕免费在线观看| 久久精品99国产精品日本| 91精品国产99| 日产电影一区二区三区| 这里只有精品在线| 久久精品一偷一偷国产| 国产1区2区在线观看| 欧美精品中文| 亚洲国产三级网| 中文字幕99页| 丁香五月缴情综合网| 日韩一区国产二区欧美三区| 一道本在线免费视频| 69堂精品视频在线播放| 日本韩国一区二区| 成人在线观看黄| 韩国成人动漫| 色综合久久66| av无码精品一区二区三区| 欧美18av| 欧美视频精品在线| 亚洲精品综合在线观看| 四虎国产精品免费久久| 欧美揉bbbbb揉bbbbb| 超碰在线公开97| 国产亚洲精品精品国产亚洲综合| 欧洲精品一区二区三区在线观看| 少妇高清精品毛片在线视频| 另类激情视频| 欧美天堂亚洲电影院在线播放| 日韩精品一区中文字幕| 看片一区二区| 日韩欧美一区二区久久婷婷| wwwww在线观看| 国语一区二区三区| 亚洲女人被黑人巨大进入| 国内精品卡一卡二卡三| 久久网站免费观看| 欧美床上激情在线观看| 日韩美女一级片| 老司机午夜精品视频| 国产精品夜色7777狼人| 精品黑人一区二区三区在线观看 | 国内精品久久久久久久久久久 | 在线中文字幕一区二区| 少妇性l交大片| 99精品女人在线观看免费视频 | 色综合久久九月婷婷色综合| 国产性生交xxxxx免费| 国产精品一区二区免费福利视频| 欧美一级免费观看| 日本少妇毛茸茸| 日韩黄色大片| 久久久久久久色| 亚洲欧美一二三区| 国产麻豆一精品一av一免费| 国产精品二区二区三区| 国产一区二区影视| 亚洲乱码中文字幕综合| 欧美亚洲一二三区| 欧美极品在线| 亚洲国产婷婷香蕉久久久久久 | 亚洲综合免费观看高清完整版在线 | 免费视频一区二区三区在线观看| 国产精品你懂得| 成人午夜视频一区二区播放| 欧美国产日韩精品免费观看| 日韩欧美猛交xxxxx无码| 韩国久久久久久| 欧美xxx久久| 影音先锋制服丝袜| 最新日韩av| 国产一区二区丝袜| 视频国产一区二区三区| 亚洲图片激情小说| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 国产精品一区免费在线| 亚洲欧美变态国产另类| 精品处破女学生| 美女性感视频久久| 欧美高清性xxxxhd| 丁香花电影在线观看完整版| 日韩精品免费视频人成| 欧美日韩中文字幕在线| 久久久久久久片| 老司机aⅴ在线精品导航| 久久久精品一区二区三区| 成人毛片在线播放| 成人福利电影精品一区二区在线观看| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲自偷自拍熟女另类| 亚洲一区二区三区中文字幕在线观看| 在线看欧美日韩| 99久久久久久久久| av电影一区二区| 免费看日本黄色| av日韩一区| 在线国产精品视频| 中文字幕 国产精品| 91网上在线视频| 国产一区二区视频播放| 澳门久久精品| 欧美激情久久久久久| 国产视频一区二区三| 中文字幕日韩一区二区| 国产精品v日韩精品v在线观看| 国产成人影院| 日韩av片免费在线观看| 欧美成熟毛茸茸| 欧美日韩美女在线观看| 日韩精品视频一区二区| 亚洲国产日本| 国产精品久久久久免费| jizz一区二区三区| 亚洲精品v欧美精品v日韩精品| 中文字幕第28页| www.视频一区| 国产精品333| 国产精品欧美三级在线观看| 国产成人涩涩涩视频在线观看| 欧美伦理影视网| 色八戒一区二区三区| 一级片视频免费看| 另类的小说在线视频另类成人小视频在线| 视频三区二区一区| 亚洲欧美专区| 欧美激情一区二区三区成人| 人妻一区二区三区四区| 欧美日韩加勒比精品一区| 加勒比一区二区| 日韩成人免费电影| 一区二区三区av| 亚洲天堂小视频| 日本成人精品| 91国产精品视频在线| 涩涩视频在线观看免费| 色噜噜狠狠色综合欧洲selulu| 国产成人福利在线| 韩国欧美国产1区| 久久亚洲国产成人精品无码区 | 久久精品国产精品青草| 在线视频一二三区| 久久365资源| 国产99久久精品一区二区 夜夜躁日日躁 | 亚洲精品进入| 国产日韩在线精品av| 黑人精品视频| 亚洲片av在线| 国产女人18毛片水18精| 性做久久久久久久免费看| 欧洲av一区二区三区| 国产精品一区二区黑丝| 成人小视频在线看| 亚洲综合五月| 久久久久免费网| 伊人久久大香| 91成人在线视频| 久做在线视频免费观看| 亚洲精品国精品久久99热| 最新中文字幕免费| 亚洲第一成人在线| 国产美女网站视频| av中文一区二区三区| 黄大色黄女片18第一次| 一区二区三区精品视频在线观看| 亚洲国产成人不卡| 老汉色老汉首页av亚洲| 91在线看www| 欧美va在线观看| 欧美激情一区二区三区久久久| 番号在线播放| 亚洲国产女人aaa毛片在线| 中文字幕在线观看视频一区| 天天综合网天天综合色| 国产尤物在线播放| 久久精品水蜜桃av综合天堂| 91精品国产高清91久久久久久| 蜜臀久久久久久久| aaa毛片在线观看| 精品二区久久| 亚洲区成人777777精品| 国产美女无遮挡永久免费| 一区二区视频欧美| www.黄色网址.com| 欧美一区二区三区高清视频| 粉嫩精品一区二区三区在线观看| 久久电影天堂| 国产精品久久久久久影视| 欧美激情网站| 性色av一区二区三区| 亚洲按摩av| 久久福利视频导航| av在线资源网| 怡红院精品视频| 免费国产在线观看| 国产丝袜高跟一区| 色噜噜在线播放| 精品99一区二区三区| 午夜免费福利视频| 91精品啪在线观看国产60岁| 在线免费av片| 欧美日韩国产一级| 亚洲在线免费观看视频| 欧美色精品在线视频| www.av88| 欧美浪妇xxxx高跟鞋交| 91九色蝌蚪91por成人| 欧美性大战久久| 探花国产精品一区二区| 欧美中文一区二区三区| 精品国产青草久久久久96| 在线免费不卡电影| 姑娘第5集在线观看免费好剧| 一本在线高清不卡dvd| 黄色大片网站在线观看| 欧美午夜视频一区二区| 国产一级免费视频| 91福利在线观看| 欧美激情一区二区三区免费观看| 欧美性受极品xxxx喷水| 在线观看免费黄色小视频| 欧美日韩精品系列| 国产伦理吴梦梦伦理| 欧美大片顶级少妇| 亚洲乱熟女一区二区| 亚洲成人精品av| 久久伊伊香蕉| 日韩性xxxx爱| 午夜小视频在线观看| 国内精品久久久久| 户外露出一区二区三区| 国产免费一区视频观看免费| 一区二区三区| 精品一区2区三区| 精品免费视频| 麻豆映画在线观看| 国产精品久久久久久久免费软件| 妞干网在线免费视频| 精品一区二区精品| 在线观看亚洲免费视频| 久久亚洲精华国产精华液| 一级在线观看视频| 亚洲综合丝袜美腿| 久久久久免费网| 久久婷婷五月综合色丁香| 亚洲最大福利视频| 日本精品影院| 亚洲资源视频| 99精品国产一区二区青青牛奶| 日韩中文字幕二区| 国产一区二区导航在线播放| 五十路六十路七十路熟婆| 国产精品视频看| 在线观看免费国产视频| 欧美日韩中文精品| 四季av日韩精品一区| 色偷偷噜噜噜亚洲男人的天堂| 日韩123区| 国产精品美女在线| 精品欧美午夜寂寞影院| 一区二区三区四区| 亚洲一区日韩在线| 日本人dh亚洲人ⅹxx| 久久久国际精品| 久久网中文字幕| 欧美日本一区二区在线观看| 天堂国产一区二区三区| 久久精品国产清自在天天线| 深夜福利视频一区二区| 成人在线观看网址| 全球成人免费直播| 欧美视频第一区| 成人午夜激情在线| 亚洲综合视频网站| 欧美性大战久久| 九色在线观看视频| 91精品国产一区| 国产精品18hdxxxⅹ在线| 欧美日韩精品二区| 多男操一女视频| 亚洲一区二区三区四区五区黄| 91在线视频免费播放| 日韩一区二区三区观看| 成人免费一区二区三区视频网站| 韩剧1988在线观看免费完整版| 日本久久久久| 天堂资源在线亚洲视频| 国产欧美另类| 少妇一级淫片免费放播放| 日韩毛片精品高清免费| 中文字幕一区二区在线视频| 亚洲欧美日韩图片| 女人高潮被爽到呻吟在线观看| 亚洲综合第一页| 91精品国产自产拍在线观看蜜| 国产又大又黄又粗又爽| 国产人伦精品一区二区| 国产91精品看黄网站在线观看| 日韩电影视频免费| 韩国成人二区| 精品国产乱码久久久久久郑州公司 | 亚洲第一二三四区| 欧美第一黄网| 麻豆久久婷婷| 日本性高潮视频| 在线观看区一区二| 91露出在线| 国产精品自产拍在线观| 欧美激情偷拍自拍| 99re6在线观看| 亚洲日本成人在线观看| 国产av无码专区亚洲av| 蜜臀久久99精品久久久无需会员| 国产情侣一区在线| 欧美国产综合在线| 成人激情黄色小说| 97久久久久久久| 亚洲视频国产视频| 精品视频在线一区二区在线| 亚洲美女搞黄| 国产另类ts人妖一区二区| 欧美日韩大片在线观看| 精品奇米国产一区二区三区| 91色在线看| 欧美日韩一区综合| 美女脱光内衣内裤视频久久网站 | 欧美精品一二三区| 日韩免费啪啪| 91一区二区三区| 99成人在线| 一区二区伦理片| 777a∨成人精品桃花网| 在线看一级片| 久草精品电影| 免费久久精品视频| 无码人妻精品一区二区三区夜夜嗨| 精品久久久久久久久久久久包黑料 | 自拍视频在线网| 91丨九色丨国产在线| 亚洲调教视频在线观看| 蜜臀av一区二区三区有限公司| 欧美亚洲国产一区在线观看网站| 黄色av电影在线播放| 国产日韩精品推荐| 日韩av电影天堂| 久草免费在线观看视频| 亚洲精品中文字幕有码专区| 四虎视频在线精品免费网址| 日本一本中文字幕| 国产欧美一区二区精品忘忧草| 国产精品伦理一区| 91精品国产高清久久久久久久久 | 自拍偷拍精品| 天天操精品视频| 色网站国产精品| 曰本三级在线| 日韩电影在线播放| 国产不卡免费视频| 特级西西444www大胆免费看| 久久久久久久一区二区| 日本大胆欧美| 日b视频在线观看| 91麻豆精品国产91久久久资源速度| 免费h在线看| 久久久99精品视频|