千呼萬喚始出來,總算拿到夢寐以求的Apple Watch,等不及Po開箱文,先來欣賞我用iPhone 6錄影的Apple Watch與iPhone 6+配對過程吧~
首先要開啟iPhone 6+的藍芽,接著點擊Apple Watch App(iOS 8.2以上才有)。
剛開機的Apple Watch會出現神秘圖案,此時要將iPhone 6+鏡頭對準Apple Watch⋯⋯
.
實在太令人興奮,為了開發出很棒使用者體驗的Watch App,從此我要時常帶著它把玩唷~
千呼萬喚始出來,總算拿到夢寐以求的Apple Watch,等不及Po開箱文,先來欣賞我用iPhone 6錄影的Apple Watch與iPhone 6+配對過程吧~
首先要開啟iPhone 6+的藍芽,接著點擊Apple Watch App(iOS 8.2以上才有)。
剛開機的Apple Watch會出現神秘圖案,此時要將iPhone 6+鏡頭對準Apple Watch⋯⋯
.
實在太令人興奮,為了開發出很棒使用者體驗的Watch App,從此我要時常帶著它把玩唷~
有宗教表明,現在生什麼病,有極大的可能性是過去世(累世)所造的因所引起。那實際上我們會考量到環境、遺傳、飲食等等,每年都在聽說癌症什麼什麼,現在醫療保險也大推癌症險。儘管我們無法預料到是否會得癌症,但至少我們能避開已知的風險,就來看一下2012台灣十大癌症有哪些吧~
感謝ReLab製作如此一目了然的圖解。
發生率前十名:
希望我們身邊的家人朋友都能健健康康而快快樂樂喔:)~
註:
想起約莫一年多前,我國二上學期的國文老師,她的同事兼好友生了重病,原因非常莫名其妙,後來居然得知是前世因果所致,要她的好友「償還」!期間就發生了令人不可置信的事兒,冤親債主透過「間接簡訊」讓我老師知道,祂們是來向她好友索命,然後跟我老師請求幫忙,藉以化解對她好友的折磨,她照著做了,好友病情好轉許多。
當然這是很長一段故事,在此我只能說些片段,儘管第二次她好友熬不過去,冤親債主還是透過「間接簡訊」感謝我老師為祂們所做的一切。我想不必再鐵齒只相信「科學」而排斥「宗教」,捫心自問是否有遇過難以解釋的現象,除了自己的遭遇,還有親朋好友遇到讓你很難相信的事情。人生在世頂多百年之久,大部份的人無從得知自己生前從哪裡來而死後往哪裡去,這世界不只是地球,還有無數個宇宙,甚至還有我們所看不到的世界~
這裡所謂間接簡訊,是指拼湊我老師的學生傳的簡訊,讓我老師知道祂們的存在⋯⋯
最近開發的案子會跟Android開發者合作,所以可以稍微了解Android和iOS的差異,就開發者角度而言有時間成本,這也是我非常看重的一點,因為我真的很想快點釋出產品,來觀察使用者的體驗與回饋,好進行下一回合方向的調整與試驗。
剛看到具權威性的MOVR,有一份相當值得參考的2015Q1報告,可以讓我知道iOS與Android裝置數與種類,雖然很早之前就知道了XD~不過它的數據顯示更加完整,可以針對地區來微調開發方向。
可以看到開發iOS只要專注在24種裝置,而Android則要顧及高達5600種喔!(區塊大小代表所佔比例)跟做同個案子的Android工程師測試閒聊,明明在他的機子上跑得很順暢,怎麼一到測試員、客戶、使用者那兒就頻頻出現問題(閃退崩潰)呢?
剛認識沒多久的測試員Apple,認為我寫iOS邏輯順暢,慫恿我快去學AndroidXD~要是她的時間給我,我就會考慮啦!
處理字串真的是一門大學問,這次我想要搜尋某個關鍵字,是英文且不區分大小寫,此時我可以怎麼做?
我們可以使用Predicate設定Case-Insensitive,翻譯成中文是謂詞不區分大小寫,真是彆扭啊~
Apple官方文件有段描述:
String comparisons are by default case and diacritic sensitive. You can modify an operator using the key characters c and d within square braces to specify case and diacritic insensitivity respectively, for example firstName BEGINSWITH[cd] $FIRST_NAME.
意思就是只要在Predicate中加入[cd],就能找到英文不區分大小寫的字串囉~
偶然間看到這張圖解你所做的事情,讓我思考了許多自己這幾年所做的事情。在圖解歐美與台灣人才養成最後我提到:
新的一年期許自己能持續在喜歡且擅長的事情上發揮潛能!
在現實中想要做喜歡且擅長的事情,我想還有其他因素要考量,以下這張圖很清楚地描繪出我的想法⋯⋯
為了養活自己,就要選擇所做的事情是世界(如某人、某公司)會付錢的,之後我們豐衣足食,眼界開了看到事情是這世界需要的,我們會認為自己所做的事情利己且利人而繼續做下去,儘管有時候辛苦了點,還是會樂在其中呢!
它在交集的地方分了五種類別:
可以想想自己目前處於哪個交集,若有機會就朝著自己心目中理想的境界去努力和奮鬥,我想大部分的人都會朝「極樂」走去。
現在我的工作是電腦、資訊、網路、軟體,像個工作狂那樣沈浸其中,也加深信念在我這行近十年內真的是世界會付錢的且是世界需要的!
如果有人跟我有類似的想法,儘管來找我閒聊(或是留言、寫信)吧~我們可以攜手共創理想的未來:)~
平常習慣用內建的Apple Map,現在有需求要使用Google Map顯示地點,該怎麼做呢?其實還滿簡單的啦⋯⋯不用下載Google Map SDK,也不用申請API Key,只要使用者的手機有安裝Google Map App,即可導引他到指定的地點喔~
先前見識過圖解公職教職軍職勞工退休後領的錢,知道軍公教有相當好的福利制度,但事情總會有另一面,也就是有好就有壞,基於現實世界的收支問題,從圖解軍公教近五年退撫基金就能知道它就破產啦⋯⋯
破產所帶來的影響就是,現在越年輕的人未來可能領不到退休金!若不趕緊改革的話,大概就會像會館前輩說的日本現況,連砍半三次退休金,也就是剩八分之一甚至更少可拿。日本老年人比例破六成,年輕人繳的稅不夠給老年人,台灣未來就會朝這個趨勢發展⋯⋯
這時候就會靠邊站,老年人不想被縮減退休金,而年輕人清楚一定要改革,政客不想得罪任何一方,只求政治家能悟出兩全其美之道。
以上可以先參考,期許每個人都拿應得的報酬,過於「貪」將引來「嗔」與「癡」。
先前知道可以實作連結到App Store,在App中觸發事件來開啟App Store,並顯示特定App畫面,這時候發現有另一種選擇,就是不用開啟App Store,就能顯示該App在App Store顯示的樣子。這麼做的好處是讓使用者體驗更好,因為我發現自己在使用App時,被導出App時都會很不耐煩XD~因為看完之後,還要按Home鍵來回到原來的App。
有時候我們想要傳遞複雜的物件,比如影像(image)、特性字串(AttributedString)放到Dictionary中以Key/Value儲存,我們就能隨意帶著Dictionary到處趴趴走~這時候可以打包物件 (Archive Object)。
就如同我們所想的那樣,需要封裝(Archive)與解開(Unarchive)。
/**
Theme: Archive Object
IDE: Xcode 6
Language: Objective C
Date: 104/04/23
Author: HappyMan
Blog: https://cg2010studio.wordpress.com/
*/
- (void)viewDidLoad {
[super viewDidLoad];
#pragma mark - 這裡只是準備複雜特性的字串
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"Happy World ^_^"];
NSRange range = NSMakeRange(0,string.length);
UIFont *markerFeltWide = [UIFont fontWithName:@"Arial" size:20.0f];
//字型
[string addAttribute:NSFontAttributeName value:markerFeltWide range:range];
//前景顏色
[string addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:range];
//背景顏色
[string addAttribute:NSBackgroundColorAttributeName value:[UIColor lightGrayColor] range:range];
//底線
[string addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:1] range:range];
//字間距
[string addAttribute:NSKernAttributeName value:[NSNumber numberWithInt:5] range:range];
//陰影
NSShadow *shadowDic=[[NSShadow alloc] init];
[shadowDic setShadowBlurRadius:3.0]; //0 ~ ? 清晰~模糊
[shadowDic setShadowColor:[UIColor blackColor]];
[shadowDic setShadowOffset:CGSizeMake(3, 3)];
[string addAttribute:NSShadowAttributeName value:shadowDic range:range];
//描邊顏色
[string addAttribute:NSStrokeColorAttributeName value:[UIColor orangeColor] range:range];
//描邊線條粗細 正數描邊 負數描邊加填滿
[string addAttribute:NSStrokeWidthAttributeName value:[NSNumber numberWithInt:-3.0] range:range];
#pragma mark - 封裝
NSMutableDictionary *happyInfo = [NSMutableDictionary new];
UIImage *image = [UIImage imageNamed:@"HappyMan.jpg"];
NSData *imageData1 = [NSData dataWithData:UIImageJPEGRepresentation(image, 1.0f)];
happyInfo[@"imageKey"] = [NSKeyedArchiver archivedDataWithRootObject: imageData1];
NSAttributedString *myString = string;
happyInfo[@"stringKey"] = [NSKeyedArchiver archivedDataWithRootObject: myString];
#pragma mark - 解開
NSData *archiveImageData = happyInfo[@"imageKey"];
NSData *imageData = [NSKeyedUnarchiver unarchiveObjectWithData: archiveImageData];
UIImage *happyImage = [UIImage imageWithData:imageData];
NSData *stringData = happyInfo[@"stringKey"];
NSAttributedString *happyString = [NSKeyedUnarchiver unarchiveObjectWithData: stringData];
[self.happyImageView setImage:happyImage];
[self.happyTextView setAttributedText:happyString];
}
這裡需要注意的是,影像必須要先轉成Data再來封裝,而一般字串類資料可以直接封裝,這還有道理XD~
範例中的特性字串含有者些訊息:
Happy World ^_^{
NSBackgroundColor = “UIDeviceWhiteColorSpace 0.666667 1″;
NSColor = “UIDeviceRGBColorSpace 0 1 0 1″;
NSFont = " font-family: \"Arial\"; font-weight: normal; font-style: normal; font-size: 20.00pt";
NSKern = 5;
NSShadow = “NSShadow {3, 3} blur = 3 color = {UIDeviceWhiteColorSpace 0 1}";
NSStrokeColor = “UIDeviceRGBColorSpace 1 0.5 0 1″;
NSStrokeWidth = “-3″;
NSUnderline = 1;
}
如此就能在有限制情況下傳遞資料囉~這可以用在Watch App和iOS App上的溝通呢!
HappyMan・迴響