【iOS開發(fā)】自動(dòng)識(shí)別剪貼板內(nèi)容

之前用淘寶給微信好友分享鏈接的時(shí)候恃泪,發(fā)現(xiàn)在微信中復(fù)制了寶貝的鏈接,然后再從后臺(tái)切換到淘寶客戶端犀斋,淘寶就會(huì)彈出一個(gè)頁面贝乎,詢問是否要跳轉(zhuǎn)到相關(guān)頁面,今天試著實(shí)現(xiàn)了一下叽粹,分享出來~

    //識(shí)別剪貼板中的內(nèi)容
    if let paste = UIPasteboard.generalPasteboard().string where
        (paste.hasPrefix("http://") || paste.hasPrefix("https://")) { 
        //如果剪貼板中的內(nèi)容是鏈接
        let alert = UIAlertController(title: "要打開剪貼板中的鏈接嗎览效?",
            message: nil,
            preferredStyle: UIAlertControllerStyle.Alert)
        alert.addAction(UIAlertAction(title: "打開",
            style: UIAlertActionStyle.Default,
            handler: { Void in
                // your implementation
                print(paste)
        }))
        alert.addAction(UIAlertAction(title: "忽略",
            style: UIAlertActionStyle.Cancel,
            handler: nil))
        //彈出Alert
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        if let vc = storyboard.instantiateViewControllerWithIdentifier("navi") as? UINavigationController {
            self.window?.rootViewController = vc
            vc.presentViewController(alert, animated: true, completion: nil)
        }
    }

獲取設(shè)備的剪貼板很簡(jiǎn)單,第一行代碼就搞定了虫几,if 語句中判斷了一下剪貼板中的內(nèi)容是不是鏈接锤灿,注意http和https都要寫上,這點(diǎn)很容易被忽略(在瀏覽器地址欄中復(fù)制以www.開頭的文本會(huì)自動(dòng)在剪貼板中轉(zhuǎn)為http或https開頭的鏈接)辆脸。

更值得注意的是但校,因?yàn)槟阈枰?App 在每次從后臺(tái)進(jìn)入前臺(tái)的時(shí)候都檢測(cè)一下剪貼板中有沒有鏈接,所以以上方法要放在 AppDelegate 文件的 applicationWillEnterForeground 方法中啡氢。

AppDelegate.swift

而這個(gè)方法中是不能通過 self 來調(diào)用 ViewController 的始腾,所以要曲線救國(guó)的話,你需要手動(dòng)獲取 Storyboard空执、ViewController浪箭,再設(shè)置window的rootViewController 才能去掉所有報(bào)錯(cuò)和警告。

(這里我只是把剪貼板中的鏈接輸出到控制臺(tái)了辨绊,想要自己用 UIWebView 打開鏈接的話奶栖,在// your implementation 這句注釋這里寫自己的方法吧)


【150928 更新】

對(duì)比 applicationWillEnterForeground
applicationDidBecomeActive
這兩個(gè)方法,前者是指 App從后臺(tái)進(jìn)入前臺(tái),后者是指 App處于活躍狀態(tài)宣鄙,所以前者相對(duì)于后者袍镀,缺少的部分是,當(dāng) App 剛剛啟動(dòng)冻晤,而不是從后臺(tái)取出的時(shí)候苇羡,它無法識(shí)別剪貼板。
因?yàn)槟悴荒芤竺看味甲層脩粝劝?App 打開鼻弧,再往剪貼板里面填東西设江,再跳轉(zhuǎn)回來,所以個(gè)人建議把上面的代碼放在 applicationDidBecomeActive 方法中攘轩,而不是 applicationWillEnterForeground 叉存。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市度帮,隨后出現(xiàn)的幾起案子歼捏,更是在濱河造成了極大的恐慌,老刑警劉巖笨篷,帶你破解...
    沈念sama閱讀 212,080評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞳秽,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡率翅,警方通過查閱死者的電腦和手機(jī)寂诱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來安聘,“玉大人痰洒,你說我怎么就攤上這事≡【拢” “怎么了丘喻?”我有些...
    開封第一講書人閱讀 157,630評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)念颈。 經(jīng)常有香客問我泉粉,道長(zhǎng),這世上最難降的妖魔是什么榴芳? 我笑而不...
    開封第一講書人閱讀 56,554評(píng)論 1 284
  • 正文 為了忘掉前任嗡靡,我火速辦了婚禮,結(jié)果婚禮上窟感,老公的妹妹穿的比我還像新娘讨彼。我一直安慰自己,他們只是感情好柿祈,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,662評(píng)論 6 386
  • 文/花漫 我一把揭開白布哈误。 她就那樣靜靜地躺著哩至,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蜜自。 梳的紋絲不亂的頭發(fā)上菩貌,一...
    開封第一講書人閱讀 49,856評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音重荠,去河邊找鬼箭阶。 笑死,一個(gè)胖子當(dāng)著我的面吹牛戈鲁,可吹牛的內(nèi)容都是我干的仇参。 我是一名探鬼主播,決...
    沈念sama閱讀 39,014評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼荞彼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼冈敛!你這毒婦竟也來了待笑?” 一聲冷哼從身側(cè)響起鸣皂,我...
    開封第一講書人閱讀 37,752評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎暮蹂,沒想到半個(gè)月后寞缝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,212評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡仰泻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,541評(píng)論 2 327
  • 正文 我和宋清朗相戀三年荆陆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片集侯。...
    茶點(diǎn)故事閱讀 38,687評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡被啼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出棠枉,到底是詐尸還是另有隱情浓体,我是刑警寧澤,帶...
    沈念sama閱讀 34,347評(píng)論 4 331
  • 正文 年R本政府宣布辈讶,位于F島的核電站命浴,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏贱除。R本人自食惡果不足惜生闲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,973評(píng)論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望月幌。 院中可真熱鬧碍讯,春花似錦、人聲如沸扯躺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至轴术,卻和暖如春难衰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逗栽。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工盖袭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人彼宠。 一個(gè)月前我還...
    沈念sama閱讀 46,406評(píng)論 2 360
  • 正文 我出身青樓鳄虱,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親凭峡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拙已,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,576評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 自從古老的iOS4以來,當(dāng)用戶點(diǎn)擊home建的時(shí)候,你可以使你的APP們?cè)趦?nèi)存中處于suspended(掛起)狀態(tài)...
    木易林1閱讀 3,058評(píng)論 1 4
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,806評(píng)論 25 707
  • 跟著感覺走,有時(shí)間就靜下來摧冀,傾聽來自內(nèi)心的情感倍踪,就像聽著流水潺潺那美妙的旋律,聽自然界里那鳥兒歡歌笑語的遐逸…… ...
    藍(lán)天清澈閱讀 287評(píng)論 0 1
  • 《習(xí)慣》 女人總是習(xí)慣了說反話索昂,而男人也漸漸習(xí)慣了謊言 《雙重否定》 你以為雙重否定就是肯定嗎建车,你太天真了,那也許...
    何鯨洛閱讀 249評(píng)論 1 0
  • 終于理解到拖延癥就是什么都想做完美椒惨,總覺得一旦開始就得把很多事情想完美缤至,腦海里構(gòu)思了很多遍可以讓它更完美的方法,結(jié)...
    金珺閱讀 201評(píng)論 0 0