2017年2月6日 星期一

iOS tips - Run app from cold start

最近測試從外部的URL來開啟app,但卻不太明白要怎麼測試app not running狀態下的情況。Stakeoverflow後找到了Xcode設定的方法

首先點選目前Target的圖示,再點選Edit scheme


找到Run section的radio button,把"Automatically"改成"Wait for execution to be launched"



這樣compile完之後就不會自動開啟,會等到手動開啟app,或從外部link開啟app才會執行debugging了。

2016年11月17日 星期四

iOS tips - Xcode 8 compile very slow

更新到Xcode 8之後,把project全改成swift 3相當痛苦。但不止如此,在把app透過USB裝到手機上時發現compile速度超慢,一次可能需要個5分鐘以上...(這是以前在寫BIOS的時代嗎? build個code可以先去上廁所買個飲料這樣) 在stackoverflow上發現了有個解法,真的不知道這些神人是怎麼發現的,或許是apple的engineer自己上來回覆的吧,不然怎麼會知道加這參數就能改善了

SWIFT_WHOLE_MODULE_OPTIMIZATION = YES
在build setting中加上以上的參數後,compile and install的速度就正常了,爽

2016年9月30日 星期五

iOS tips - Get IP Address

在swift中似乎沒有get ip address的function可以直接call,stackoverflow一下後看到了這一篇Get IP Address,其中重點為在swift專案中的objective-c header include一個標頭檔

2016年9月12日 星期一

iOS tips - CocoaAsyncSocket + Swift tutorial

UDP or TCP/IP socket傳送是許多開發者經常會用到的protocol,當想要用iPhone device跟其他在同網域下的device溝通時,這是我們一定會碰到的課題,網路上有許多好的tutorial以及example,google一下就能找到很多英文的教學,我是用了CocoaAsyncSocket這個library,只不過裡面的demo code是objective-c的,小弟照著寫了個UDP swift版本的,有興趣的可以參考,也歡迎提出指正。

2016年9月7日 星期三

iOS tips - 'No UICollectionViewLayoutAttributes instance for -layoutAttributesForItemAtIndexPath' crash

工作寫的app中的collection view使用了custom collection view layout。最近為了一個分享的需求所以需要在開啟外部url link後捲到指定的位置,透過collectionview的function scrollToItemAtIndexPath使得collectionview跑到指定的位置。


2016年8月17日 星期三

iOS tips - Image Exif

因為工作的需要,必須處理image的exif資訊。在iOS上從來沒考慮過這檔事,所以花了些時間研究了一下。
首先了解到的是,原來UIImage不會帶著原始image file的額外資訊,所以假設從網路或者是手機內部資料夾得到的原始檔案轉成UIImage的話,那怎麼讀也不會有exif資訊的,因為這個類別把哪些資訊都去掉了,只留下生成影像的data而已。因此如果要讀取或修改exif資訊的話只能從原始的data下手

2016年6月8日 星期三