[iOS模塊式開發(fā)]例講如何制作一個(gè)CocoaPods私有庫

10月23日更新


私有庫A與私有庫B之間的依賴處理:
例如私有庫B依賴于私有庫A而柑,在私有庫B本地驗(yàn)證時(shí):

pod lib lint

會(huì)報(bào)錯(cuò)寻馏,提示找不到私有庫A驱闷。
執(zhí)行命令為:

pod lib lint --sources='http://[privateLibName]/cocoaspecs.git,https://github.com/CocoaPods/Specs.git'


關(guān)鍵詞:庫、模塊式開發(fā)敲董、CocoaPods紫皇、私有庫、
工具:終端腋寨、git聪铺、CocoaPods
步驟總結(jié):
1、打開終端萄窜,進(jìn)入要建立私有庫項(xiàng)目工程的路徑铃剔,并執(zhí)行pod庫工程創(chuàng)建命令行
2、進(jìn)入我們的Example項(xiàng)目工程查刻,執(zhí)行安裝CocoaPods項(xiàng)目命令行
3键兜、添加庫源碼文件
4、書寫CocoaPods配置文件LATAlert.podspec(建議使用Atom + cocoa-pods-ruby-snippets插件來編輯該文件)
5穗泵、創(chuàng)建私有庫git地址普气,并完善.podspec配置文件
6、再次進(jìn)入我們的Example文件佃延,執(zhí)行pod更新指令现诀,安裝本地庫源碼
7、添加樣例代碼履肃,運(yùn)行樣例測試
8赶盔、本地pod配置文件驗(yàn)證
9、項(xiàng)目工程發(fā)布tag 0.0.1
10榆浓、私有庫發(fā)布
11于未、驗(yàn)證發(fā)布的私有庫
涉及到的命令行:
Git:

Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git remote add origin https://git.oschina.net/KKLater/LATAlert.git
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git add .
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git commit -a -m "0.0.1"
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git pull origin master
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git push origin master
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git tag 0.0.1
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git push origin 0.0.1

Pod:

Later@localhost:~/Desktop/私有庫創(chuàng)建教程$ pod lib create LATAlert
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert/Example$ pod install --no-repo-update
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert/Example$ pod update --no-repo-update
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ pod repo add LATSpecs https://git.oschina.net/KKLater/LATPodspecs.git
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ pod lib lint
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ pod lib lint --verbose
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ pod repo push LATSpecs LATAlert.podspec 
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ pod repo push LATSpecs LATAlert.podspec --verbose
Later@localhost:~$ pod repo remove LATSpecs

下面我們通過一個(gè)例子來具體講解整個(gè)步驟流程。
例子里面陡鹃,我們創(chuàng)建一個(gè)私有庫LATAlert烘浦,導(dǎo)入LATAlert私有庫的項(xiàng)目,可以調(diào)用私有庫的方法來執(zhí)行彈出一個(gè)Alert顯示信息萍鲸!

1闷叉、打開終端,進(jìn)入要建立私有庫項(xiàng)目工程的路徑脊阴,并執(zhí)行pod庫工程創(chuàng)建命令行

Later@localhost:~$ cd /Users/Later/Desktop/私有庫創(chuàng)建教程 
Later@localhost:~/Desktop/私有庫創(chuàng)建教程$ pod lib create LATAlert

終端得到以下界面:
這里會(huì)詢問幾個(gè)問題(答案根據(jù)實(shí)際情況設(shè)置)握侧,分別是:
1蚯瞧、語言選擇
—— 教程選擇Objc,如果要做Swift私有庫品擎,請(qǐng)選擇輸入Swift
2埋合、是不是需要一個(gè)demo項(xiàng)目工程
? —— 教程選擇Yes,需要?jiǎng)?chuàng)建一個(gè)demo工程萄传,建議創(chuàng)建一個(gè)demo工程
3甚颂、測試框架使用哪一個(gè)
? —— 教程選擇None
4、是不是需要做基本的測試
? —— 教程選擇Yes
5秀菱、類前綴是什么
? —— 教程輸入LAT

PodTest安裝pod

如果出現(xiàn)上面的界面振诬,說明,私有庫工程創(chuàng)建成功了衍菱。

2赶么、進(jìn)入我們的Example項(xiàng)目工程,執(zhí)行安裝CocoaPods項(xiàng)目命令行

Later@localhost:~$ cd /Users/Later/Desktop/私有庫創(chuàng)建教程/LATAlert/Example 
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert/Example$ pod install --no-repo-update

終端界面如下:

私有庫Example安裝pod項(xiàng)目.png

雙擊LATAlert.xcworkspace運(yùn)行項(xiàng)目Example工程脊串,驗(yàn)證工程的正確性禽绪。

3、添加庫源碼文件

將源碼文件復(fù)制到文件夾路徑:LATAlert/LATAlert/Classes下洪规。

注:1.如果還沒有源碼印屁,則可以在Example下直接創(chuàng)建源碼文件,實(shí)際測試通過后斩例,再按照下面的方式來添加源碼文件雄人。2.方便起見這里直接將之前使用的源碼文件拷貝過來,其他根據(jù)實(shí)際情況念赶,看官自行添加础钠。3.文件路徑并不是絕對(duì)的,但是建議按指定路徑存放叉谜,便于整體的后期維護(hù)更新

添加源碼文件.png

4旗吁、書寫CocoaPods配置文件LATAlert.podspec(建議使用Atom + cocoa-pods-ruby-snippets插件來編輯該文件)

雙擊打開LATAlert.podspec文件,此處我設(shè)置了默認(rèn)Atom打開停局,看官自行配置很钓,但是要注意編輯內(nèi)容一定要教程一樣。

podspec文件編輯1.png

我們可以把沒有用的注釋刪掉董栽。具體常用的配置如下:

#
# Be sure to run `pod lib lint LATAlert.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
  #庫名
  s.name             = 'LATAlert'
  #庫版本
  s.version          = '0.0.1'
  #庫簡短描述
  s.summary          = 'A short description of LATAlert.'
  #庫詳細(xì)描述
  s.description      = <<-DESC
TODO: Add long description of the pod here.
                       DESC
  #庫介紹主頁地址
  s.homepage         = 'https://github.com/<GITHUB_USERNAME>/LATAlert'
  #庫開源許可
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  #作者信息
  s.author           = { 'Later' => 'lshxin89@126.com' }
  #源碼git地址
  s.source           = { :git => 'https://github.com/<GITHUB_USERNAME>/LATAlert.git', :tag => s.version.to_s }
  #庫依賴系統(tǒng)版本
  s.ios.deployment_target = '8.0'
  #源碼文件配置
  s.source_files = 'LATAlert/Classes/**/*'
  #資源文件配置
  s.resource_bundles = {
    'LATAlert' => ['LATAlert/Assets/*.png']
  }
  #源碼頭文件配置
  s.public_header_files = 'Pod/Classes/**/*.h'
  #系統(tǒng)框架依賴
  s.frameworks = 'UIKit', 'MapKit'
  #第三方框架依賴
  s.dependency 'AFNetworking', '~> 2.3'
end

清理掉不需要的配置項(xiàng)之后码倦,整體如下:

Pod::Spec.new do |s|
  #庫名
  s.name             = 'LATAlert'
  #庫版本
  s.version          = '0.0.1'
  #庫簡短描述
  s.summary          = 'A short description of LATAlert.'
  #庫詳細(xì)描述
  s.description      = <<-DESC
TODO: Add long description of the pod here.
                       DESC
  #庫介紹主頁地址
  s.homepage         = 'https://github.com/<GITHUB_USERNAME>/LATAlert'
  #庫開源許可
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  #作者信息
  s.author           = { 'Later' => 'lshxin89@126.com' }
  #源碼git地址
  s.source           = { :git => 'https://github.com/<GITHUB_USERNAME>/LATAlert.git', :tag => s.version.to_s }
  #庫依賴系統(tǒng)版本
  s.ios.deployment_target = '8.0'
  #源碼文件配置
  s.source_files = 'LATAlert/Classes/**/*'
  #源碼頭文件配置
  s.public_header_files = 'LATAlert/Classes/*.h'
  #系統(tǒng)框架依賴
  s.frameworks = 'UIKit'
end

細(xì)心的看官注意到,這里我們使用的homepage和source并不完整下面就需要我們創(chuàng)建一個(gè)git私有庫锭碳,用于項(xiàng)目工程的存放袁稽,獲取我們所需要的地址。

5擒抛、創(chuàng)建私有庫git地址推汽,并完善.podspec配置文件

為了節(jié)省點(diǎn)毛爺爺补疑,我們使用更切近中國國情的oschina進(jìn)行我們的項(xiàng)目代碼托管。

創(chuàng)建私有庫界面如下:

oschina創(chuàng)建私有庫.png

點(diǎn)擊創(chuàng)建歹撒,我們的私有庫就創(chuàng)建完成了莲组,復(fù)制我們的私有庫地址,也就是我們的.podspec文件里面source所需要的地址了栈妆。

復(fù)制私有庫地址.png

source有了,但是我們的homepage怎么辦呢厢钧?如果有可以訪問的高大上的介紹網(wǎng)頁頁面鳞尔,建議使用其網(wǎng)址,如果實(shí)在沒有早直,趕緊去開發(fā)一個(gè)吧寥假。這里使用我們的mobile網(wǎng)址:http://mobile.fblife.com。(感興趣的看官可以打開看看霞扬,很高大上的哦糕韧。哈哈,開個(gè)玩笑喻圃,公司App推廣頁而已萤彩。)

至此,我們的配置文件就結(jié)束了斧拍。此時(shí)細(xì)心的看客又說了雀扶,我們創(chuàng)建了git私有庫,但是還沒有添加文件八列凇愚墓?恩恩,別急別急昂勉,慢慢來浪册,俗話說“心機(jī)吃不到熱…”。別笑岗照,看官你又開火車了村象!

6、再次進(jìn)入我們的Example文件攒至,執(zhí)行pod更新指令煞肾,安裝本地庫源碼

Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert/Example$ pod update --no-repo-update

終端截圖如下:

私有庫Example更新pod項(xiàng)目.png

此時(shí)進(jìn)入我們的Example文件夾,雙擊LATAlert.xcworkspace打開看看:

源碼文件導(dǎo)入后工程項(xiàng)目路徑.png

我們的源碼已經(jīng)在里面了嗓袱。

這時(shí)籍救,可以填寫我們的樣例代碼來進(jìn)行測試嘍。

7渠抹、添加樣例代碼蝙昙,運(yùn)行樣例測試

找到我們的樣例文件LATViewController.m闪萄,引入頭文件LATAlert.h,填寫代碼奇颠,點(diǎn)擊屏幕時(shí)執(zhí)行彈出Alert提示框败去,具體代碼如下:

//
//  LATViewController.m
//  LATAlert
//
//  Created by Later on 10/14/2016.
//  Copyright (c) 2016 Later. All rights reserved.
//

#import "LATViewController.h"
#import "LATAlert.h"

@interface LATViewController ()

@end

@implementation LATViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [LATAlert showAlertWithTitle:@"測試" message:@"這時(shí)測試信息" OkBlock:^{
        NSLog(@"點(diǎn)擊了確認(rèn)");
    }];
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

運(yùn)行項(xiàng)目測試:

彈出Alert.png

alert信息彈出了,說明烈拒,我們的本地運(yùn)行例程是正常的圆裕。下面就需要我們把項(xiàng)目發(fā)布到git,并添加到pod了荆几。

8吓妆、本地pod配置文件驗(yàn)證

為了保證項(xiàng)目的正確性,尤其是pod配置文件的正確性吨铸,在正式提交前行拢,我們需要執(zhí)行以下本地驗(yàn)證。在本地驗(yàn)證正常的情況下诞吱,再上傳發(fā)布還是比較穩(wěn)妥的舟奠。

終端進(jìn)入我們的項(xiàng)目文件路徑:

Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert/Example$ cd /Users/Later/Desktop/私有庫創(chuàng)建教程/LATAlert

如果現(xiàn)在終端正處于Example文件路徑下,也可以執(zhí)行

Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert/Example$ cd ..

退回到上層文件夾房维,也就是我們的項(xiàng)目文件路徑了沼瘫。

執(zhí)行pod本地驗(yàn)證指令:

Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ pod lib lint

界面顯示:

項(xiàng)目本地驗(yàn)證錯(cuò)誤1.png

如果經(jīng)驗(yàn)豐富,大概一看便知這里的警告是告訴我們這個(gè)summary簡介不是很有內(nèi)涵咙俩。此處我們改一下我們的podspec文件內(nèi)部的簡介和描述晕鹊,消除下警告。修改完的podspec文件如下暴浦。

#
# Be sure to run `pod lib lint LATAlert.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
  #庫名
  s.name             = 'LATAlert'
  #庫版本
  s.version          = '0.0.1'
  #庫簡短描述
  s.summary          = 'LATAlert pod Use.'
  #庫詳細(xì)描述
  s.description      = <<-DESC
TODO: LATAlert pod Use.
                       DESC
  #庫介紹主頁地址
  s.homepage         = 'http://mobile.fblife.com'
  #庫開源許可
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  #作者信息
  s.author           = { 'Later' => 'lshxin89@126.com' }
  #源碼git地址
  s.source           = { :git => 'https://git.oschina.net/KKLater/LATAlert.git', :tag => s.version.to_s }
  #庫依賴系統(tǒng)版本
  s.ios.deployment_target = '8.0'
  #源碼文件配置
  s.source_files = 'LATAlert/Classes/**/*'
  #源碼頭文件配置
  s.public_header_files = 'LATAlert/Classes/*.h'
  #系統(tǒng)框架依賴
  s.frameworks = 'UIKit'
end

鑒于是初學(xué)者溅话,還是建議掌握下查看具體原因的指令比較靠譜。具體指令也很簡單歌焦,在執(zhí)行本地驗(yàn)證的指令后面添加上--verbose在執(zhí)行下就可以了飞几。

Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ pod lib lint --verbose

我們?cè)俅螆?zhí)行下驗(yàn)證,查看結(jié)果独撇,BUILD SUCCEEDD屑墨,本地驗(yàn)證成功:

podspec本地驗(yàn)證成功.png

至此,我們的源碼已經(jīng)導(dǎo)入纷铣、樣例工程已經(jīng)驗(yàn)證執(zhí)行卵史、podspec配置文件本地已經(jīng)驗(yàn)證,那么我們是不是就可以直接在pod里面使用了呢搜立?答案是肯定的以躯,還是不行!目前只是處于本地狀態(tài),并沒有發(fā)布忧设,所以還是不能使用的刁标。

9、項(xiàng)目工程發(fā)布tag 0.0.1

在項(xiàng)目工程文件下執(zhí)行g(shù)it相關(guān)指令址晕,并添加tag0.0.1膀懈,發(fā)布到git。

Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git remote add origin https://git.oschina.net/KKLater/LATAlert.git
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git add .
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git commit -a -m "0.0.1"
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git pull origin master
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git push origin master
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git tag 0.0.1
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ git push origin 0.0.1

相關(guān)指令執(zhí)行結(jié)束后谨垃,此時(shí)我們?cè)偃タ次覀兊膅it項(xiàng)目:

git上傳之后界面.png

10启搂、私有庫發(fā)布

對(duì)于開源框架,podspec文件實(shí)在cocoapod的開源管理spec項(xiàng)目上面的刘陶,見下圖:

cocoapod開源庫管理spec.png

在這里的Specs文件加內(nèi)胳赌,我們能看到我們熟悉的 AFNetworking

AFNetworking.png

但是我們創(chuàng)建的是私有庫,所以我們需要?jiǎng)?chuàng)建自己的Specs管理庫易核。

例如我們要?jiǎng)?chuàng)建的是LATSpecs匈织,首先需要再創(chuàng)建一個(gè)git私有庫浪默,用于管理我們的LATSpecs牡直。

創(chuàng)建之后獲取到git地址:https://git.oschina.net/KKLater/LATPodspecs.git

在終端執(zhí)行Specs創(chuàng)建指令:

Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ pod repo add LATSpecs https://git.oschina.net/KKLater/LATPodspecs.git

執(zhí)行之后的結(jié)果是:

添加私有的Specs.png

看到這個(gè),我們可以愉快的發(fā)布了纳决。執(zhí)行發(fā)布命令碰逸,直接發(fā)布好了。

podspec發(fā)布.png
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/LATAlert$ pod repo push LATSpecs LATAlert.podspec

發(fā)布成功之后阔加,我們來看一下我們的LATSpecs的git項(xiàng)目:

podspec發(fā)布之后的git.png

查看我們本地的Specs庫:

直接Findle ->右鍵 -> 前往文件夾 -> 輸入:~/.cocoapods/repos ->點(diǎn)擊前往

查找本地的Specs庫.png
本地Specs庫.png

至此饵史,我們的私有庫創(chuàng)建發(fā)布結(jié)束。但是我們注意到胜榔,LATSpecs的README.md文件是空的胳喷,為了后期的維護(hù)更新,以及團(tuán)隊(duì)小伙伴的使用方便夭织,建議完備一下信息吭露。

完備之后的信息如下:

Readme完善.png

終端執(zhí)行一下進(jìn)入我們的私有庫管理Specs,git更新提交下:

Later@localhost:~$ cd /Users/Later/.cocoapods/repos/LATSpecs 
Later@localhost:~/.cocoapods/repos/LATSpecs$ git add .
Later@localhost:~/.cocoapods/repos/LATSpecs$ git commit -a -m "Add LATAlert"
Later@localhost:~/.cocoapods/repos/LATSpecs$ git pull origin master
Later@localhost:~/.cocoapods/repos/LATSpecs$ git push origin master

命令行執(zhí)行結(jié)束之后尊惰,我們?cè)倏匆幌挛覀兊膅it:

addReadme之后的git.png

有沒有高大上呢讲竿?

既然已經(jīng)提交發(fā)布,那下面我們新建一個(gè)CocoaPods管理的項(xiàng)目弄屡,來驗(yàn)證一下我們的庫吧题禀。

11、驗(yàn)證發(fā)布的私有庫

新建PodTest項(xiàng)目膀捷,并創(chuàng)建Podfile文件迈嘹,安裝CocoaPods工程。

Podfile文件內(nèi)的代碼如下:

platform :ios,'8.0'
target 'PodTest' do
pod 'LATAlert',:git => 'https://git.oschina.net/KKLater/LATAlert.git'
end

終端進(jìn)入我們的測試工程根目錄全庸,并執(zhí)行pod安裝指令:

Later@localhost:~$ cd /Users/Later/Desktop/私有庫創(chuàng)建教程/PodTest 
Later@localhost:~/Desktop/私有庫創(chuàng)建教程/PodTest$ pod install --no-repo-update

終端界面如下:

PodTest安裝pod.png

我們重新打開測試項(xiàng)目:

測試項(xiàng)目成功導(dǎo)入了項(xiàng)目.png

在ViewController.m文件導(dǎo)入文件江锨,并按照Example的樣例書寫代碼驗(yàn)證吃警。代碼如下:

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [LATAlert showAlertWithTitle:@"測試" message:@"這時(shí)測試信息" OkBlock:^{
        NSLog(@"點(diǎn)擊了確認(rèn)");
    }];
}

不同的是,這里引入頭文件時(shí)啄育,我們使用的是:#import <LATAlert/LATAlert.h>而不是Example樣例工程里面的引入方式:#import "LATAlert.h"酌心。

運(yùn)行PodTest項(xiàng)目,點(diǎn)擊屏幕挑豌,是不是也彈出Alert提示了呢安券?

至此,我們的私有庫發(fā)布結(jié)束氓英。具體更詳細(xì)的信息侯勉,建議各位看客多多參考CocoaPods官網(wǎng),會(huì)有更不一樣的體驗(yàn)铝阐。英語不好的址貌,體驗(yàn)會(huì)更加深刻喲!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末徘键,一起剝皮案震驚了整個(gè)濱河市练对,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吹害,老刑警劉巖螟凭,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異它呀,居然都是意外死亡螺男,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門纵穿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來下隧,“玉大人,你說我怎么就攤上這事谓媒∠海” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵篙耗,是天一觀的道長迫筑。 經(jīng)常有香客問我,道長宗弯,這世上最難降的妖魔是什么脯燃? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮蒙保,結(jié)果婚禮上辕棚,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好逝嚎,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布扁瓢。 她就那樣靜靜地躺著,像睡著了一般补君。 火紅的嫁衣襯著肌膚如雪引几。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天挽铁,我揣著相機(jī)與錄音伟桅,去河邊找鬼。 笑死叽掘,一個(gè)胖子當(dāng)著我的面吹牛楣铁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播更扁,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼盖腕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了浓镜?” 一聲冷哼從身側(cè)響起溃列,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎竖哩,沒想到半個(gè)月后哭廉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脊僚,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡相叁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辽幌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片增淹。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖乌企,靈堂內(nèi)的尸體忽然破棺而出虑润,到底是詐尸還是另有隱情,我是刑警寧澤加酵,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布拳喻,位于F島的核電站,受9級(jí)特大地震影響猪腕,放射性物質(zhì)發(fā)生泄漏冗澈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一陋葡、第九天 我趴在偏房一處隱蔽的房頂上張望亚亲。 院中可真熱鬧,春花似錦、人聲如沸捌归。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惜索。三九已至特笋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間巾兆,已是汗流浹背雹有。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留臼寄,地道東北人霸奕。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像吉拳,于是被迫代替她去往敵國和親质帅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

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