轉(zhuǎn)載 iOS開發(fā)Xcode8中遇到的問(wèn)題及改動(dòng)的

在今年(16年美國(guó)時(shí)間9月7日)北京時(shí)間9月8日凌晨一點(diǎn)袋坑,蘋果發(fā)布會(huì)不僅發(fā)布了新版iPhone7及7Plus鸭限。同時(shí)也發(fā)布了iOS10.隨后Xcode也進(jìn)行了版本更新旱眯。下面講述下使用Xcode8時(shí)遇到的各種問(wèn)題软族。

1床牧、權(quán)限以及相關(guān)設(shè)置

iOS10系統(tǒng)下調(diào)用系統(tǒng)相冊(cè)、相機(jī)功能,或者蘋果健康都會(huì)遇到閃退的情況雹锣,

調(diào)用系統(tǒng)相冊(cè)報(bào)錯(cuò)描述如下:

This app has crashed because it attempted to access privacy-sensitive data without a usage description.The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data

解決辦法(fix method):

在info.plist —Source Code中添加

UsageDescription相關(guān)的key, 描述字符串自己隨意填寫就可以,但是一定要填寫网沾,不然會(huì)引發(fā)包無(wú)效的問(wèn)題,導(dǎo)致上傳打包后構(gòu)建版本一直不顯示蕊爵。



如果不起作用,可以請(qǐng)求后臺(tái)權(quán)限,類似于這樣:


或者在info.plist—Property List中添加

輸入? Privacy

部分

麥克風(fēng)權(quán)限:Privacy - Microphone Usage Description

通訊錄權(quán)限: Privacy - Contacts Usage Description

藍(lán)牙權(quán)限:Privacy - Bluetooth Peripheral Usage Description

語(yǔ)音轉(zhuǎn)文字權(quán)限:Privacy - Speech Recognition Usage Description

日歷權(quán)限:Privacy - Calendars Usage Description

定位權(quán)限:Privacy - Location When In Use Usage Description

定位權(quán)限: Privacy - Location Always Usage Description

定位的需要這么寫辉哥,防止上架被拒。

2在辆、代碼注釋不能用的解決辦法

這個(gè)是因?yàn)樘O果解決xcode ghost证薇,把插件屏蔽了度苔。

解決辦法(fix method):

打開終端匆篓,命令運(yùn)行:sudo /usr/libexec/xpccachectl

重啟電腦后生效

注意:Xcode8內(nèi)置了開啟注釋的功能:

Add Documentation

快捷鍵的設(shè)置:

Xcode-> Preferences -> Key Bindings

Documentation

三方插件解決辦法(fix method):

讓你的 Xcode8 繼續(xù)使用插件

但是看到文章最后的解釋,我們知道如果用插件的話寇窑,可能安全上會(huì)有問(wèn)題鸦概、并且提交審核會(huì)被拒絕,所以建議大家還是不要用了甩骏,解決辦法總是有的窗市,比如在Xcode中添加注釋的代碼塊也是很方便的。

3.屏蔽雜亂無(wú)章的bug

解決辦法(fix method):

Edit Scheme-> Run -> Arguments,

Environment Variables里邊添加

OS_ACTIVITY_MODE = Disable

————這種方法會(huì)屏蔽掉真機(jī)的NSLog饮笛,解決方法請(qǐng)等待————

Edit Scheme

4.UIStatusBar方法過(guò)期:

解決辦法(fix method):

//屬性&&方法@property(nonatomic,readonly)UIStatusBarStylepreferredStatusBarStyleNS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;// Defaults to UIStatusBarStyleDefault@property(nonatomic,readonly)BOOLprefersStatusBarHiddenNS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;// Defaults to NO- (UIStatusBarStyle)preferredStatusBarStyleNS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;// Defaults to UIStatusBarStyleDefault- (BOOL)prefersStatusBarHiddenNS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;// Defaults to NO// Override to return the type of animation that should be used for status bar changes for this view controller. This currently only affects changes to prefersStatusBarHidden.- (UIStatusBarAnimation)preferredStatusBarUpdateAnimation NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED; // Defaults to UIStatusBarAnimationFade

//可以這樣寫- (UIStatusBarStyle)preferredStatusBarStyle {returnUIStatusBarStyleDefault;}

5.label中的文字顯示不全

用Xcode 8和Xcode 7.3

分別測(cè)試了下咨察,如下圖:

Xcode 8

Xcode 7

創(chuàng)建一個(gè)Label然后讓它自適應(yīng)大小,字體大小都是17最后輸出的寬度是不一樣的福青,我們?cè)倏匆幌律阌旅娴臄?shù)據(jù)就知道為什么升iOS 10之后App中有的文字顯示不全了:

發(fā)現(xiàn)英文字母沒(méi)有問(wèn)題,只有漢字有問(wèn)題无午。目前只有一個(gè)一個(gè)修改控件解決這個(gè)問(wèn)題媒役。

解決辦法(fix method):

UILabel*myLabel = [UILabelnew];/*UIFont 的preferredFontForTextStyle: 意思是指定一個(gè)樣式,并讓字體大小符合用戶設(shè)定的字體大小宪迟。 */myLabel.font=[UIFontpreferredFontForTextStyle:UIFontTextStyleHeadline];/*

Indicates whether the corresponding element should automatically update its font when the device’s UIContentSizeCategory is changed.

For this property to take effect, the element’s font must be a font vended using +preferredFontForTextStyle: or +preferredFontForTextStyle:compatibleWithTraitCollection: with a valid UIFontTextStyle.

*///是否更新字體的變化myLabel.adjustsFontForContentSizeCategory=YES;

6.使用Xib awakeFromNib的警告問(wèn)題

Xcode 8之前我們使用Xib初始化- (void)awakeFromNib {}都是這么寫也沒(méi)什么問(wèn)題酣衷,但是在Xcode 8會(huì)有如下警告:

如果不喜歡這個(gè)警告的話,應(yīng)該明確的加上[super awakeFromNib];

7.判斷系統(tǒng)版本

oc

//值為10.0[[UIDevicecurrentDevice] systemVersion]

if([[NSProcessInfoprocessInfo] isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){.majorVersion=9,.minorVersion=1,.patchVersion=0}]) {NSLog(@"Hello from > iOS 9.1");}if([NSProcessInfo.processInfoisOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){9,3,0}]) {NSLog(@"Hello from > iOS 9.3");}

if(NSFoundationVersionNumber>NSFoundationVersionNumber_iOS_9_0) {//dostuffforiOS9andnewer}else{//dostuffforolder versions than iOS9}

swift

ifNSProcessInfo().isOperatingSystemAtLeastVersion(NSOperatingSystemVersion(majorVersion:10, minorVersion:0, patchVersion:0)){// 代碼塊}

if#available(iOS10.0, *) {// 代碼塊}else{// 代碼塊}

8.ATS的問(wèn)題

iOS 9中默認(rèn)非HTTPS的網(wǎng)絡(luò)是被禁止的次泽,當(dāng)然我們也可以把NSAllowsArbitraryLoads設(shè)置為YES禁用ATS穿仪。不過(guò)iOS 10從2017年1月1日起蘋果不允許我們通過(guò)這個(gè)方法跳過(guò)ATS

,也就是說(shuō)強(qiáng)制我們用HTTPS意荤,如果不這樣的話提交App可能會(huì)被拒絕啊片。但是我們可以通過(guò)NSExceptionDomains來(lái)針對(duì)特定的域名開放HTTP可以容易通過(guò)審核。

參考學(xué)習(xí)文章如下:關(guān)于 iOS 10 中 ATS 的問(wèn)題

9.Xib文件的注意事項(xiàng)

使用Xcode8打開xib文件后袭异,會(huì)出現(xiàn)下圖的提示:

Choose Device

大家選擇Choose Device即可钠龙。

之后大家會(huì)發(fā)現(xiàn)布局啊,frame亂了,只需要更新一下frame即可碴里。如下圖

update frame

注意:如果按上面的步驟操作后沈矿,在用Xcode7打開Xib會(huì)報(bào)一下錯(cuò)誤,

Xcode 8.0 or later

解決辦法:右鍵Xib文件->Open As Source Code刪除下面的

這句話咬腋,以及把< document >中的toolsVersion和< plugIn >中的version改成你正常的xib文件中的值羹膳,不過(guò)不建議這么做,在Xcode8出來(lái)后根竿,希望大家都快速上手陵像,全員更新。這就跟Xcode5到Xcode6一樣寇壳,有變動(dòng)醒颖,但是還是要盡早學(xué)習(xí),盡快適應(yīng)喲壳炎!

—————————————我是分割線—————————————

二泞歉、改動(dòng)

1.UIColor 新增方法

iOS 10蘋果官方建議我們使用sRGB,因?yàn)樗阅芨媚浔纾矢S富腰耙。如果你自己為UIColor寫了一套分類的話也可嘗試替換為sRGB,UIColor類中新增了兩個(gè)Api如下:

+ (UIColor*)colorWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alphaNS_AVAILABLE_IOS(10_0);- (UIColor*)initWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alphaNS_AVAILABLE_IOS(10_0);

2.真彩色的顯示

真彩色的顯示會(huì)根據(jù)光感應(yīng)器來(lái)自動(dòng)的調(diào)節(jié)達(dá)到特定環(huán)境下顯示與性能的平衡效果,如果需要這個(gè)功能的話,可以在info.plist-Source Code里配置:

UIWhitePointAdaptivityStyle

它有五種取值,分別是:UIWhitePointAdaptivityStyleStandard// 標(biāo)準(zhǔn)模式UIWhitePointAdaptivityStyleReading// 閱讀模式UIWhitePointAdaptivityStylePhoto// 圖片模式UIWhitePointAdaptivityStyleVideo// 視頻模式UIWhitePointAdaptivityStyleStandard// 游戲模式

也就是說(shuō)如果你的項(xiàng)目是閱讀類的,就選擇UIWhitePointAdaptivityStyleReading這個(gè)模式,五種模式的顯示效果是從上往下遞減,也就是說(shuō)如果你的項(xiàng)目是圖片處理類的,你選擇的是閱讀模式,給選擇太好的效果會(huì)影響性能.

3.UITextContentType

// The textContentType property is to provide the keyboard with extra information about the semantic intent of the text document.@property(nonatomic,copy)UITextContentTypetextContentTypeNS_AVAILABLE_IOS(10_0);// default is nil

iOS 10UITextField添加了textContentType枚舉铲球,指示文本輸入?yún)^(qū)域所期望的語(yǔ)義意義挺庞。

使用此屬性可以給鍵盤和系統(tǒng)信息,關(guān)于用戶輸入的內(nèi)容的預(yù)期的語(yǔ)義意義稼病。例如选侨,您可以指定一個(gè)文本字段,用戶填寫收到一封電子郵件確認(rèn)uitextcontenttypeemailaddress溯饵。當(dāng)您提供有關(guān)您期望用戶在文本輸入?yún)^(qū)域中輸入的內(nèi)容的信息時(shí)侵俗,系統(tǒng)可以在某些情況下自動(dòng)選擇適當(dāng)?shù)逆I盤,并提高鍵盤修正和主動(dòng)與其他文本輸入機(jī)會(huì)的整合丰刊。

4. UIRefreshControl的使用

在iOS 10 中, UIRefreshControl可以直接在UICollectionView和UITableView中使用,并且脫離了UITableViewController.現(xiàn)在RefreshControl是UIScrollView的一個(gè)屬性.使用方法:

UIRefreshControl*refreshControl = [[UIRefreshControlalloc] init];[refreshControl addTarget:selfaction:@selector(loadData) forControlEvents:UIControlEventValueChanged]; collectionView.refreshControl= refreshControl;

5.Notification(通知)

自從Notification被引入之后隘谣,蘋果就不斷的更新優(yōu)化,但這些更新優(yōu)化只是小打小鬧啄巧,直至現(xiàn)在iOS 10開始真正的進(jìn)行大改重構(gòu)寻歧,這讓開發(fā)者也體會(huì)到UserNotifications的易用,功能也變得非常強(qiáng)大秩仆。

iOS 9 以前的通知

在調(diào)用方法時(shí)码泛,有些方法讓人很難區(qū)分,容易寫錯(cuò)方法澄耍,這讓開發(fā)者有時(shí)候很苦惱噪珊。

應(yīng)用在運(yùn)行時(shí)和非運(yùn)行時(shí)捕獲通知的路徑還不一致晌缘。

應(yīng)用在前臺(tái)時(shí),是無(wú)法直接顯示遠(yuǎn)程通知痢站,還需要進(jìn)一步處理磷箕。

已經(jīng)發(fā)出的通知是不能更新的,內(nèi)容發(fā)出時(shí)是不能改變的阵难,并且只有簡(jiǎn)單文本展示方式岳枷,擴(kuò)展性根本不是很好。

iOS 10 開始的通知

所有相關(guān)通知被統(tǒng)一到了UserNotifications.framework框架中呜叫。

增加了撤銷空繁、更新、中途還可以修改通知的內(nèi)容朱庆。

通知不在是簡(jiǎn)單的文本了盛泡,可以加入視頻、圖片椎工,自定義通知的展示等等饭于。

iOS 10相對(duì)之前的通知來(lái)說(shuō)更加好用易于管理蜀踏,并且進(jìn)行了大規(guī)模優(yōu)化维蒙,對(duì)于開發(fā)者來(lái)說(shuō)是一件好事。

iOS 10開始對(duì)于權(quán)限問(wèn)題進(jìn)行了優(yōu)化果覆,申請(qǐng)權(quán)限就比較簡(jiǎn)單了(本地與遠(yuǎn)程通知集成在一個(gè)方法中)颅痊。

iOS 10 通知學(xué)習(xí)相關(guān)資料:

UserNotifications: 蘋果官方文檔

蘋果官方視頻1

蘋果官方視頻2

蘋果官方視頻3

活久見(jiàn)的重構(gòu) - iOS 10 UserNotifications 框架解析

WWDC2016 Session筆記 - iOS 10 推送Notification新特性

6.UICollectionViewCell

在iOS 10 之前,UICollectionView上面如果有大量cell,當(dāng)用戶活動(dòng)很快的時(shí)候,整個(gè)UICollectionView的卡頓會(huì)很明顯,為什么會(huì)造成這樣的問(wèn)題,這里涉及到了iOS 系統(tǒng)的重用機(jī)制,當(dāng)cell準(zhǔn)備加載進(jìn)屏幕的時(shí)候,整個(gè)cell都已經(jīng)加載完成,等待在屏幕外面了,也就是整整一行cell都已經(jīng)加載完畢,這就是造成卡頓的主要原因,專業(yè)術(shù)語(yǔ)叫做:掉幀.要想讓用戶感覺(jué)不到卡頓,我們的app必須幀率達(dá)到60幀/秒,也就是說(shuō)每幀16毫秒要刷新一次.

iOS 10 之前UICollectionViewCell的生命周期是這樣的:

用戶滑動(dòng)屏幕,屏幕外有一個(gè)cell準(zhǔn)備加載進(jìn)來(lái),把cell從reusr隊(duì)列拿出來(lái),然后調(diào)用prepareForReuse方法,在這個(gè)方法里面,可以重置cell的狀態(tài),加載新的數(shù)據(jù);

繼續(xù)滑動(dòng),就會(huì)調(diào)用cellForItemAtIndexPath方法,在這個(gè)方法里面給cell賦值模型,然后返回給系統(tǒng);

當(dāng)cell馬上進(jìn)去屏幕的時(shí)候,就會(huì)調(diào)用willDisplayCell方法,在這個(gè)方法里面我們還可以修改cell,為進(jìn)入屏幕做最后的準(zhǔn)備工作;

執(zhí)行完willDisplayCell方法后,cell就進(jìn)去屏幕了.當(dāng)cell完全離開屏幕以后,會(huì)調(diào)用didEndDisplayingCell方法.

iOS 10 UICollectionViewCell的生命周期是這樣的:

用戶滑動(dòng)屏幕,屏幕外有一個(gè)cell準(zhǔn)備加載進(jìn)來(lái),把cell從reusr隊(duì)列拿出來(lái),然后調(diào)用prepareForReuse方法,在這里當(dāng)cell還沒(méi)有進(jìn)去屏幕的時(shí)候,就已經(jīng)提前調(diào)用這個(gè)方法了,對(duì)比之前的區(qū)別是之前是cell的上邊緣馬上進(jìn)去屏幕的時(shí)候就會(huì)調(diào)用該方法,而iOS 10 提前到cell還在屏幕外面的時(shí)候就調(diào)用;

cellForItemAtIndexPath中創(chuàng)建cell,填充數(shù)據(jù)局待,刷新?tīng)顟B(tài)等操作,相比于之前也提前了;

用戶繼續(xù)滑動(dòng)的話,當(dāng)cell馬上就需要顯示的時(shí)候我們?cè)僬{(diào)用willDisplayCell方法,原則就是:何時(shí)需要顯示,何時(shí)再去調(diào)用willDisplayCell方法;

當(dāng)cell完全離開屏幕以后,會(huì)調(diào)用didEndDisplayingCell

方法,跟之前一樣,cell會(huì)進(jìn)入重用隊(duì)列.在iOS 10 之前,cell只能從重用隊(duì)列里面取出,再走一遍生命周期,并調(diào)用cellForItemAtIndexPath

創(chuàng)建或者生成一個(gè)cell.在iOS 10 中,系統(tǒng)會(huì)cell保存一段時(shí)間,也就是說(shuō)當(dāng)用戶把cell滑出屏幕以后,如果又滑動(dòng)回來(lái),cell不用再走一遍生命周期了,只需要調(diào)用willDisplayCell

方法就可以重新出現(xiàn)在屏幕中了.iOS 10 中,系統(tǒng)是一個(gè)一個(gè)加載cell的,二以前是一行一行加載的,這樣就可以提升很多性能;

iOS 10 新增加的Pre-Fetching預(yù)加載

這個(gè)是為了降低UICollectionViewCell在加載的時(shí)候所花費(fèi)的時(shí)間,在 iOS 10 中,除了數(shù)據(jù)源協(xié)議和代理協(xié)議外,新增加了一個(gè)UICollectionViewDataSourcePrefetching

協(xié)議,這個(gè)協(xié)議里面定義了兩個(gè)方法:

- (void)collectionView:(UICollectionView*)collectionView prefetchItemsAtIndexPaths:(NSArray *)indexPathsNS_AVAILABLE_IOS(10_0);- (void)collectionView:(UICollectionView*)collectionView cancelPrefetchingForItemsAtIndexPaths:(NSArray *)indexPathsNS_AVAILABLE_IOS(10_0);

ColletionView prefetchItemsAt indexPaths這個(gè)方法是異步預(yù)加載數(shù)據(jù)的,當(dāng)中的indexPaths數(shù)組是有序的,就是item接收數(shù)據(jù)的順序;CollectionView cancelPrefetcingForItemsAt indexPaths這個(gè)方法是可選的,可以用來(lái)處理在滑動(dòng)中取消或者降低提前加載數(shù)據(jù)的優(yōu)先級(jí).注意:這個(gè)協(xié)議并不能代替之前讀取數(shù)據(jù)的方法,僅僅是輔助加載數(shù)據(jù).Pre-Fetching預(yù)加載對(duì)UITableViewCell同樣適用.

原文/七州小槑(簡(jiǎn)書作者)

原文鏈接:http://www.reibang.com/p/90d5323cf510

著作權(quán)歸作者所有斑响,轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),并標(biāo)注“簡(jiǎn)書作者”钳榨。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末舰罚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子薛耻,更是在濱河造成了極大的恐慌营罢,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饼齿,死亡現(xiàn)場(chǎng)離奇詭異饲漾,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)缕溉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門考传,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人证鸥,你說(shuō)我怎么就攤上這事僚楞∏谕恚” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵泉褐,是天一觀的道長(zhǎng)运翼。 經(jīng)常有香客問(wèn)我,道長(zhǎng)兴枯,這世上最難降的妖魔是什么血淌? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮财剖,結(jié)果婚禮上悠夯,老公的妹妹穿的比我還像新娘。我一直安慰自己躺坟,他們只是感情好沦补,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著咪橙,像睡著了一般夕膀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上美侦,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天产舞,我揣著相機(jī)與錄音,去河邊找鬼菠剩。 笑死易猫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的具壮。 我是一名探鬼主播准颓,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼棺妓!你這毒婦竟也來(lái)了攘已?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤怜跑,失蹤者是張志新(化名)和其女友劉穎样勃,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妆艘,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡彤灶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了批旺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幌陕。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖汽煮,靈堂內(nèi)的尸體忽然破棺而出搏熄,到底是詐尸還是另有隱情棚唆,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布心例,位于F島的核電站宵凌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏止后。R本人自食惡果不足惜瞎惫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望译株。 院中可真熱鬧瓜喇,春花似錦、人聲如沸歉糜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)匪补。三九已至伞辛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間夯缺,已是汗流浹背蚤氏。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喳逛,地道東北人瞧捌。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像润文,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子殿怜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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