最新的CocoaPods的使用教程(二)

背景

上一篇博客最新的CocoaPods的使用教程(一)里主要講解了CocoPods得簡(jiǎn)單的日常使用嘶摊。但是我們經(jīng)常會(huì)想把自己的開源庫(kù)讓別人通過 **pod install **來使用延蟹。網(wǎng)上有好多博客說如何使用Cocoapods創(chuàng)建私有的podspec以及如何把自己的開源庫(kù)發(fā)布到CocoasPods等等,而我在看他們的時(shí)候好多寫的都比較模糊叶堆、比較費(fèi)解阱飘。因?yàn)槲冶容^笨吧,經(jīng)過我一步一步琢磨親測(cè)過后,我有了一個(gè)很好地理解沥匈。在這里我盡量的詳細(xì)說明一下(當(dāng)然我也有很多沒有考慮的地方蔗喂,大家都是凡人嘛_,我也是煩人)

beautiful girl.jpg

前言

這一篇博客主要講解創(chuàng)建CocoaPods的私有庫(kù)高帖。希望這一篇博客能讓你們少走點(diǎn)彎路缰儿,讓你私有庫(kù)靈活運(yùn)用。下一篇博客會(huì)介紹創(chuàng)建CocoaPods的開源庫(kù)散址。主要講解內(nèi)容目錄:

一. 創(chuàng)建項(xiàng)目的Podspec索引文件

二. 創(chuàng)建CocoaPods的私有庫(kù)

三. CocoaPods私有庫(kù)管理的原理

四. 常用命令匯總

一. 創(chuàng)建項(xiàng)目的Podspec索引文件

作用:索引作用乖阵,就是讓命令能找到我們的代碼(私有庫(kù)或開源庫(kù))

創(chuàng)建命令:進(jìn)入我們?cè)诠こ谈夸浕蛘唛_源庫(kù)根目錄中初始化一個(gè)Podspec文件:

pod spec create JYPodTest

該命令將在本目錄產(chǎn)生一個(gè)名為JYPodTest.podspec文件。用編輯器打開該文件预麸,里面已經(jīng)有非常豐富的說明文檔瞪浸。下面介紹如何聲明第三方庫(kù)的代碼目錄和資源目錄,還有該第三方庫(kù)所依賴ios核心框架和第三方庫(kù)师崎。這是我的podspec文件:

Pod::Spec.new do |s|

  s.name         = "JYPodTest"
  s.version      = "0.0.1"
  s.summary      = "open souurse Test With JYPodTest."
  s.homepage     = "https://git.coding.net/Dely/JYPodTest.git"
  s.license      = 'MIT'
  s.author             = { "Dely" => "jiayaoit@126.com" }
  s.platform     = :ios, "7.0"
  s.source       = { :git => "https://git.coding.net/Dely/JYPodTest.git", :tag => s.version }
  s.source_files  = "JYPodTest/*.{h,m}"
  s.resources = "*.jpg", "*.md", "*.mobileprovision"
  s.frameworks  = "UIKit", "Foundation"

end

各個(gè)參數(shù)含義:

s.name 聲明庫(kù)的名稱
s.summary 對(duì)這個(gè)庫(kù)的簡(jiǎn)短說明介紹
s.version 當(dāng)前庫(kù)的版本
s.homepage 聲明庫(kù)的主頁(yè)
s.license 所采用的授權(quán)版本
s.author 庫(kù)的作者
s.platform 庫(kù)運(yùn)行的平臺(tái)和系統(tǒng)的最低版本
s.source 庫(kù)的倉(cāng)庫(kù)地址以及版本號(hào)或者committed等
s.source_files 聲明庫(kù)的源代碼的位置默终,庫(kù)的真正路徑(一般是相對(duì)路徑)所以這個(gè)地方不能填錯(cuò)。這個(gè)目錄下的文件都會(huì)進(jìn)行編譯犁罩。
s.resources 存放我們不想?yún)⑴c編譯的資源文件
s.frameworks聲明了庫(kù)所依賴的系統(tǒng)核心庫(kù)
s.dependency我們開發(fā)的庫(kù)中也可能還依賴第三方庫(kù)齐蔽,例如JSONKit,那么床估,就可以做如下聲明:s.dependency "JSONKit", "~> 1.4",如果有多個(gè)就寫多個(gè)

上面的屬性基本上夠用含滴,如果還想引入更多參數(shù),請(qǐng)自行查看丐巫。
注意點(diǎn):地址一定要寫正確谈况,各個(gè)文件的路徑要寫正確,

二. 創(chuàng)建CocoaPods的私有庫(kù)

1. 把代碼托管到代碼托管平臺(tái)上

托管在github或者coding,SVN,公司私有服務(wù)器等递胧,選擇哪一個(gè)沒影響(只是一個(gè)地址)碑韵。下面我把他托管到coding上(連接快點(diǎn)),
我采用只是包含源代碼的文件夾(如下目錄結(jié)構(gòu))缎脾,xcode新建工程里面包含源代碼也一樣祝闻,只要路徑寫正確就ok。

源代碼目錄結(jié)構(gòu).png
  • 1.新建遠(yuǎn)程倉(cāng)庫(kù):github或coding遗菠,公司內(nèi)部服務(wù)器等等上都可以
遠(yuǎn)程倉(cāng)庫(kù)建立成功.png
  • 2.本地文件初始化倉(cāng)庫(kù)
    • 如果是xcode新建一個(gè)工程联喘,里面包含庫(kù)的源代碼。xcode會(huì)自動(dòng)git init初始化倉(cāng)庫(kù)辙纬,跳過初始化這一步
    • 如果是只是包含源代碼的文件夾豁遭,需要對(duì)這個(gè)源代碼文件夾初始化如下:
//進(jìn)入源代碼根目錄
cd ~/Desktop/JYPodTest
//git初始化
git init
git init 初始化倉(cāng)庫(kù).png
  • 3.在庫(kù)根目錄下創(chuàng)建Podspec文件
//進(jìn)入源代碼根目錄
cd ~/Desktop/JYPodTest
//創(chuàng)建Podspec文件
pod spec create JYPodTest
創(chuàng)建Podspec文件.png

現(xiàn)在我們的目錄如下:

目錄多一個(gè)podspec文件.png
//進(jìn)入源代碼根目錄
cd ~/Desktop/JYPodTest
//添加到git得暫存區(qū)
git add -A
//提交到本地倉(cāng)庫(kù)
git commit -m "first commit"
//添加遠(yuǎn)端倉(cāng)庫(kù)地址
git remote add origin https://git.coding.net/Dely/JYPodTest.git
//把本地代碼推送到遠(yuǎn)端倉(cāng)庫(kù)
git push -u origin master
庫(kù)的源代碼推送到遠(yuǎn)程倉(cāng)庫(kù).png
遠(yuǎn)程倉(cāng)庫(kù)目錄.png
  • 5.對(duì)源代碼打tag,推送到遠(yuǎn)端倉(cāng)庫(kù)
    因?yàn)橄旅婢庉媝odspec文件中需要獲取Git版本控制的源代碼贺拣,所以我們要打上一個(gè)tag蓖谢,
    你也可以在podspec文件中保存你的commitid捂蕴,或者分支來獲取相應(yīng)的源代碼。不過基本上都是打tag蜈抓。
//進(jìn)入源代碼根目錄
cd ~/Desktop/JYPodTest
//新建一個(gè)tag
git tag 0.0.1
//tag推送到遠(yuǎn)端
git push origin 0.0.1
打tag推送到遠(yuǎn)端倉(cāng)庫(kù).png

2. 編輯podspec文件

做完上面這些就可以編輯podspec文件了启绰。最開始已經(jīng)講解了這個(gè)文件的寫法昂儒。
注意:庫(kù)目錄的各個(gè)路徑要對(duì)應(yīng)沟使,tag版本要和上面tag對(duì)應(yīng)起來
podspec文件內(nèi)容如下:

Pod::Spec.new do |s|

  s.name         = "JYPodTest"
  s.version      = "0.0.1"
  s.summary      = "open source Test With JYPodTest."
  s.homepage     = "https://git.coding.net/Dely/JYPodTest.git"
  s.license      = 'MIT'
  s.author             = { "Dely" => "jiayaoit@126.com" }
  s.platform     = :ios, "7.0"
  s.source       = { :git => "https://git.coding.net/Dely/JYPodTest.git", :tag => s.version }
  s.source_files  = "JYPodTest/*.{h,m}"
  s.resources = "*.jpg", "*.md", "*.mobileprovision"
  s.frameworks  = "UIKit", "Foundation"

end

編輯好保存起來推送到遠(yuǎn)程倉(cāng)庫(kù):

cd ~/Desktop/JYPodTest
git add -A
git commit -m "修改pod spec文件"
git push origin master

3.驗(yàn)證Podspec文件的有效性

注意 注意:本地驗(yàn)證之前一定要保證我們的源代碼和tag已經(jīng)同步到遠(yuǎn)端倉(cāng)庫(kù),否則驗(yàn)證會(huì)找不到相應(yīng)代碼和tag的渊跋。

進(jìn)入根目錄下驗(yàn)證

cd ~/Desktop/JYPodTest
pod spec lint JYPodTest.podspec 
//可以使用下面腊嗡。顯示具體問題。以及忽略所有警告
//pod spec lint JYPodTest.podspec --verbose --allow-warnings
podspec驗(yàn)證通過.png

注意:錯(cuò)誤error一定是不可以的拾酝,必須要把錯(cuò)誤修改掉燕少。警告最好修改,可是使用--allow-warnings忽略警告

如果Podspec文件無效蒿囤,由于問題各種各樣客们,請(qǐng)Google解決!一定要保證文件的有效性哦材诽,

  • 有人會(huì)為我為什么根目錄不要 LICENSE文件底挫?不需要,因?yàn)槲覀儸F(xiàn)在是私有庫(kù)哦脸侥,不要驗(yàn)證這些開源授權(quán)的東西建邓。下一篇博客說道開源才會(huì)需要這個(gè)文件。
  • 有人會(huì)問我修改了podspec文件需要推送到遠(yuǎn)端睁枕?需要官边。因?yàn)樗接袔?kù)驗(yàn)證會(huì)驗(yàn)證你遠(yuǎn)端的podspec文件
  • 有人會(huì)問我修改了podspec文件tag需要重新打和推送到遠(yuǎn)端?不需要外遇。除非你源代碼有改動(dòng)注簿,需要重新發(fā)一個(gè)版本。

4.本地測(cè)試Podspec文件

我們可以創(chuàng)建一個(gè)新的項(xiàng)目跳仿,在這個(gè)項(xiàng)目的Podfile文件中直接指定剛才創(chuàng)建編輯好的podspec文件诡渴,看是否可用。 在Podfile中我們可以這樣編輯塔嬉,有兩種方式

platform :ios, '7.0'
 
target 'JYTest' do
pod 'JYPodTest', :path => '~/Desktop/JYPodTest'  # 指定路徑
#pod 'JYPodTest', :podspec => '~/Desktop/JYPodTest/JYPodTest.podspec'  #指定podspec文件
end

然后執(zhí)行pod install命令安裝依賴玩徊,打開項(xiàng)目工程,可以看到庫(kù)文件都被加載到Pods子項(xiàng)目中了谨究,不過它們并沒有在Pods目錄下恩袱,而是跟測(cè)試項(xiàng)目一樣存在于Development Pods/JYPodTest中吩翻,這是因?yàn)槲覀兪窃诒镜販y(cè)試辨嗽,而沒有把podspec文件添加到Spec Repo中的緣故。

EFB51088-8478-443A-BE22-D7D90F04EA35.png

在項(xiàng)目中編寫代碼所袁,測(cè)試庫(kù)文件無誤后就可以開始下一步了,提交podspec到Spec Repo中澈吨。

5.向Repo提交私有的podspec

  • 1.新建一個(gè)我們保存podspec文件的遠(yuǎn)端倉(cāng)庫(kù)

我們的遠(yuǎn)端的podspec倉(cāng)庫(kù)地址為:https://git.coding.net/Dely/JYPodspec.git

遠(yuǎn)程存放podmec的倉(cāng)庫(kù).jpg
  • 2.給cocoapods添加私有repo
    終端輸入:
pod repo add JYPod https://git.coding.net/Dely/JYPodspec.git

查看是否添加成功:

pod repo list
添加成功.png
  • 3.將JYPodTest.podspec文件添加到podspec遠(yuǎn)端倉(cāng)庫(kù)和本地repo/JYPod里
//兩個(gè)參數(shù):添加的私有repo名 JYPod  將要添加的Podspec路徑
 pod repo push JYPod ~/Desktop/JYPodTest/JYPodTest.podspec --allow-warnings

這個(gè)命令有兩個(gè)作用:

  • 第一:在本地repo/JYPod倉(cāng)庫(kù)添加我們的podspec文件
  • 第二:在我們的遠(yuǎn)端存放podspec倉(cāng)庫(kù)里push最新的podspec文件

出線下面信息說明添加成功:


添加成功.png

此時(shí)打開本地~/.cocoapods/repos/JYPod目錄查看

本地私有repo.png

遠(yuǎn)端podspec倉(cāng)庫(kù)也會(huì)同步過來podspec信息:

遠(yuǎn)端podspec.png

6.如何引用私有庫(kù)

上面都完成的話把敢,那我們看看能不能搜索到我忙的私有庫(kù)

pod search JYPodTest
搜索到私有庫(kù)JYPodTest.png

如何使用呢?在前面本地驗(yàn)證的工程里修改Podfile文件如下:


source 'https://git.coding.net/Dely/JYPodspec.git'
source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '7.0'
 
target 'JYTest' do
pod 'JYPodTest', '~> 0.0.1'  #私有庫(kù)
pod 'JYCarousel', '~> 0.0.1' #開源庫(kù)
end

注意:我們添加我們的遠(yuǎn)端podspec倉(cāng)庫(kù)地址時(shí)谅辣,一定一定要把開源庫(kù)CococaPods的podspec的github地址寫上(上一篇博客有提到)

執(zhí)行pod update命令看看

pod update

工程變化:


工程變化.png

從上面項(xiàng)目可以看到修赞,我們自己的庫(kù)文件已經(jīng)出現(xiàn)在Pods子項(xiàng)目中的Pods子目錄下了,而不再是Development Pods桑阶。到現(xiàn)在是不是有一種成就感_


特別插入: 特別插入: 特別插入: 還有另一種方式引用私有庫(kù)哦**
這種方式我們上一篇博客里提到過柏副,自定義Podfile的寫法里提到,
我們同樣修改我們的測(cè)試工程的Podfile文件:

platform :ios, '7.0'

target 'JYTest' do
pod 'JYPodTest', :git => 'https://git.coding.net/Dely/JYPodTest.git' #指定私有庫(kù)遠(yuǎn)程倉(cāng)庫(kù)地址,還可以指定tag,committed等
end

執(zhí)行pod update看看效果:

pod udpate.png

這種寫法比較方便蚣录,直接指定源代碼的git倉(cāng)庫(kù)地址就可以了割择,也不需要在Podfile引入source的podspec的倉(cāng)庫(kù)地址,
這種寫法維護(hù):只要修改源代碼,然后在需要發(fā)布新版本的時(shí)候打tag萎河,更改podspec的內(nèi)容推送到倉(cāng)庫(kù)就可以了荔泳。
缺點(diǎn)就是寫法不美觀

我們現(xiàn)在的項(xiàng)目就是采用這種引入方式_


7.更新維護(hù)私有庫(kù)

上面已經(jīng)建立好我忙的私有庫(kù)了,我們不可能一直是一個(gè)版本一輩子只用一樣的代碼吧虐杯。所以我們要更新維護(hù)我忙的私有庫(kù)源代碼玛歌。

1.修改我們的私有源代碼

我們對(duì)我忙的私有庫(kù)做了大量大量的改動(dòng),需要發(fā)布新版本了厦幅。這里我們也大量改動(dòng)一下:添加一張圖片_

修改源代碼.png

2.推送到私有庫(kù)遠(yuǎn)端

  • 我們對(duì)這個(gè)新版本打一個(gè)打tag沾鳄,比如:1.0.0 ,然后push到遠(yuǎn)端倉(cāng)庫(kù)
  • 修改podspec文件确憨,根據(jù)你代碼改動(dòng)修改译荞,tag和目錄結(jié)構(gòu)等
  • 驗(yàn)證podspec有效性,跟上面一樣休弃。進(jìn)行本地驗(yàn)證吞歼,然后在向repo提交podspec文件。驗(yàn)證保證通過塔猾。不通過繼續(xù)修改直至通過篙骡,推送到遠(yuǎn)端私有庫(kù)
pod spec lint JYPodTest.podspec --allow-warnings

注意 注意:本地驗(yàn)證之前一定要保證我們的源代碼和tag已經(jīng)同步到遠(yuǎn)端倉(cāng)庫(kù),否則驗(yàn)證會(huì)找不到相應(yīng)代碼和tag的丈甸。

3.再次向repo提交podspec文件

驗(yàn)證好podspec文件有效性之后糯俗,之后就可以再次向repo提交我們的最新podspec文件了,命令和之前一樣

//兩個(gè)參數(shù):添加的私有repo名 JYPod  將要添加的Podspec路徑
pod repo push JYPod ~/Desktop/JYPodTest/JYPodTest.podspec --allow-warnings
添加成功.png

我們?cè)俅蜷_目錄~/.cocoapods/repos/JYPod目錄下你會(huì)看到我們的倉(cāng)庫(kù)里多了一個(gè)1.0.0版本

repo/JYPod目錄.png

我們pod search JYPodTest看下睦擂,會(huì)出現(xiàn)兩個(gè)版本哦

pod search JYPodTest.png

我們?cè)谖覀兊臏y(cè)試項(xiàng)目Podfile文件引用1.0.0版本得湘。pod update 就可以了

3.Repo 添加和刪除命令

如何刪除一個(gè)Spec Repo,只需要執(zhí)行一條命令即可

pod repo remove JYPod

添加Spec Repo

pod repo add JYPod https://git.coding.net/Dely/JYPodspec.git

查看Spec repo列表

pod repo list

如果我們要?jiǎng)h除私有Spec Repo下的某一個(gè)podspec怎么操作呢顿仇,此時(shí)無需借助Cocoapods淘正,只需要cd到~/.cocoapods/repos/JTPod目錄下摆马,刪掉庫(kù)目錄

rm -Rf JYPodTest

然后在將Git的變動(dòng)push到遠(yuǎn)端倉(cāng)庫(kù)即可

git add -A
git commit -m "remove unuseful pods"
git push origin master

我們直接在遠(yuǎn)端podspec倉(cāng)庫(kù)添加庫(kù)目錄,我們可以再本地~/.cocoapods/repos/JTPod目錄下拉取

git pull origin master
//或者更新所有的本地podspec文件
//pod repo update

小結(jié): 創(chuàng)建CocoaPods的私有庫(kù)到這里頁(yè)系統(tǒng)的講解完了。私有庫(kù)最核心的就是podspec文件鸿吆,這個(gè)文件也是CocoaPods的最核心的囤采。

三. CocoaPods私有庫(kù)管理的原理

  • 其實(shí)Cocoapods就是通過一個(gè)podspec文件來管理的,本地~/.cocoapods/repos下得各個(gè)目錄(不管開源庫(kù)master惩淳,私有庫(kù)JYPod)蕉毯。這些目錄其實(shí)就是我們從遠(yuǎn)端倉(cāng)庫(kù)clone下來的,跟遠(yuǎn)端保持一樣黎泣。我們pod search命令就會(huì)在本地目錄下查找?guī)臁?/p>

  • 只不過私有庫(kù)有我們自己的podspec遠(yuǎn)端倉(cāng)庫(kù)恕刘,我們能pull和push缤谎,有我們自己控制抒倚。而開源庫(kù)的master我們只有pull的權(quán)限而已,沒啥太多東西哦坷澡,

  • 我們pod install或者pod updateCocoaPods就會(huì)根據(jù)我們podspec文件里的配置來找到我們的源代碼托呕,然后安裝我們的依賴庫(kù)。

四. 常用命令匯總

1. pod spec create JYPodTest
初始化一個(gè)Podspec文件

**2. pod spec lint JYPodTest.podspec **
驗(yàn)證Podspec文件的有效性
//可以使用下面频敛。顯示具體問題--verbose项郊。以及忽略所有警告 --allow-warnings
//pod spec lint JYPodTest.podspec --verbose --allow-warnings

3. pod repo add JYPod https://git.coding.net/Dely/JYPodspec.git
給cocoapods添加私有repo
//相當(dāng)于git remote add origin https://git.coding.net/Dely/JYPodspec.git

4. pod repo list
查看Spec repo列表

5.pod repo push JYPod ~/Desktop/JYPodTest/JYPodTest.podspec --allow-warnings
//將JYPodTest.podspec文件添加到podspec遠(yuǎn)端倉(cāng)庫(kù)和本地repo/JYPod里
//兩個(gè)參數(shù):添加的私有repo名 JYPod 將要添加的Podspec路徑

6. pod repo remove JYPod
刪除一個(gè)Spec repo

結(jié)尾:

創(chuàng)建CocoaPods私有庫(kù)基本上就這些內(nèi)容了,不知道我的介紹你是否能理解斟赚,這東西需要自己操作學(xué)習(xí)一下着降,那樣會(huì)理解比較深刻。下一篇博客我會(huì)介紹創(chuàng)建CocoaPods的開源庫(kù)拗军,把我們的開源庫(kù)發(fā)布到CocoaPods上。

我的開源庫(kù)喜歡請(qǐng)賞賜我一個(gè)star吧-------->最簡(jiǎn)單方便的iOS輪播開源庫(kù):JYCarousel

如果你喜歡我的文章請(qǐng)點(diǎn)個(gè)喜歡哦_(樓主好生不要臉胺⑶帧)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末盅弛,一起剝皮案震驚了整個(gè)濱河市讨盒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌邻储,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丐谋,死亡現(xiàn)場(chǎng)離奇詭異许布,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)绎晃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門蜜唾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杂曲,“玉大人,你說我怎么就攤上這事袁余∏婵保” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵颖榜,是天一觀的道長(zhǎng)棚饵。 經(jīng)常有香客問我,道長(zhǎng)掩完,這世上最難降的妖魔是什么噪漾? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮且蓬,結(jié)果婚禮上欣硼,老公的妹妹穿的比我還像新娘。我一直安慰自己缅疟,他們只是感情好分别,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著存淫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沼填。 梳的紋絲不亂的頭發(fā)上桅咆,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音坞笙,去河邊找鬼岩饼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛薛夜,可吹牛的內(nèi)容都是我干的籍茧。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼梯澜,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼寞冯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起晚伙,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤吮龄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后咆疗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漓帚,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年午磁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尝抖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片毡们。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖昧辽,靈堂內(nèi)的尸體忽然破棺而出漏隐,到底是詐尸還是另有隱情,我是刑警寧澤奴迅,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布青责,位于F島的核電站,受9級(jí)特大地震影響取具,放射性物質(zhì)發(fā)生泄漏脖隶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一暇检、第九天 我趴在偏房一處隱蔽的房頂上張望产阱。 院中可真熱鬧,春花似錦块仆、人聲如沸构蹬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)庄敛。三九已至,卻和暖如春科汗,著一層夾襖步出監(jiān)牢的瞬間藻烤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工头滔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怖亭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓坤检,卻偏偏與公主長(zhǎng)得像兴猩,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子早歇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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