網頁

2019年3月24日 星期日

將字串轉回NSDate

之前有一篇是寫字串轉回NSDate: iOS開發筆記 -NSDate用字串初始及轉回字串
好久前的了,最近剛好遇到一種寫法:2019-03-24T19:35:39.208+08:00

試半天都試不出要怎用,原本是請對方改成2019-03-24T19:35:39+0800,再使用底下的程式去轉
NSISO8601DateFormatter *formatter = [[NSISO8601DateFormatter alloc] init];
[formatter setFormatOptions:NSISO8601DateFormatWithInternetDateTime];
[formatter dateFromString:timeString];

但發現後續發現隨程式的增長連自己都搞不清楚格式而一團亂,最好的方式是對方用制式的我也是制式的,依NSDateFormatter所述,2019-03-24T19:35:39.208+08:00好像就是RFC3339,可以使用
NSDateFormatter *formater = [NSDateFormatter new];
[formater setDateFormat:@"YYYY-MM-dd'T'HH:mm:ss.SSSZZZZZ"];
[formater dateFromString:timeString];

這樣就可以正確轉回去了。

參考網址:
NSDateFormatter

2018年8月26日 星期日

單純秀文字時,最好是直接使用UILabel,而不要用UITextView

最近想說直接UITextView重覆使用,不能編輯時直接將它偽裝成UILabel,但真正使用時發現,UITextView使用sizeThatFits計算出來的高度,常常莫名的最底下一行會截掉,但換用UILabel時就沒這問題,看起來單純秀文字時,還是使用UILabel比較不會有奇怪狀況發生。

-–-更新-–-
後續發現主要是計算時算出來的是浮點數,但UIView在使用時大多都無條件捨棄小數點,變成就會有少1 pixel的問題

2018年7月25日 星期三

.Net網站部署後發生"錯誤碼:-2146232576"的問題

去裝機花了好久時間在這問題上,問了N個人沒人遇過,找資料也找不到,回家後覺得是否是Keyword下錯,用"錯誤碼:-2146232576"才找到類似的問題。依ASP.NET 網站部署後發生 ryslon 編譯錯誤-2146232576所述,看起來是Microsoft.Net.Compilers這個Library版本的問題。貼上ASP.NET 網站部署後發生 ryslon 編譯錯誤-2146232576摘錄的StackOver的回應如下:

The culprit is the Microsoft.Net.Compilers package, used to support modern C# syntax/features (version 6.0, 7.0) in your project and in Razor views in particular. Depending on its version, the package requires a particular minimum version of the full .NET framework to be installed on a machine in question.

For instance, the 2.2.0 package requires .NET 4.6+. Even though your project is targeting say .NET 4.5.2, you probably have the latest .NET installed on your development machine, and everything goes just fine. The remote deployment machine only has .NET 4.5.2 installed, and when your ASP.NET application tries to compile resource (e.g. views) at run time, you get error -2146232576.
回去查了下自己用的,沒想到用到2.6.1 ,難怪出問題,畢竟主機只用了.Net framework 4.5.1。乖乖的找1.3.2來用。其實可以用2.0.1,但怕怕的。
 


參考網址:
ASP.NET 網站部署後發生 ryslon 編譯錯誤-2146232576

2018年4月6日 星期五

如何將Time machine中KeyChain的資料

開發iOS的APP在換電腦時常面臨個問題,要將key及憑證換到另一台電腦中,今天發生個慘劇,就是我以為自己將key及憑證都匯出並儲存好,但整個重裝後發現並沒有,一整個晴天霹靂,看著Time Machine中的Key Chain.app,一直沒法覆蓋過去,最後看到這篇Retrieving Keychain from TimeMachine寫到資料存在Library/Keychains/login.keychain-db中,覆蓋過去就恢復了

執行下面的command
cp -rf Backups.backupdb/{your time machine folder}/{日期}/Macintosh HD/{your home dir}/Library/Keychains/login.keychain-db ~/Library/Keychains


參考網址:
Retrieving Keychain from TimeMachine