2015年5月1日 星期五

[RaspBerry Pi 2] 安裝windows 10 IoT Preview (安裝)


事前準備:
1. Raspberry pi 1一個(包含 8GB以上的micro SD卡
2. MS connect 註冊。
3. 安裝Win 10 insider previwer的機器(或者是VM  +一個USB SD card Reader)

主要參考:
https://ms-iot.github.io/content/win10/SetupRPI.htm

step 1.
先到這邊把Windows 10 IoT Core Insider Image for Raspberry Pi 2的image檔抓下來。
image


step 2.
打開你的win 10!
打開你的win 10!
打開你的win 10!

(因為很重要所以說三遍)
再搜索列打入cmd,選擇以系統管理員執行。
image

依序輸入以下的指令:
diskpart
list disk
exit
應該會看到類似以下的畫面。
image
這是為了知道你的SD卡的磁碟機號碼,是哪一個,記住之後。往下一個步驟。

step 3.
首先先把目錄切到你的Flash.ffu的資料夾底下。
然後輸入:
dism.exe /Apply-Image /ImageFile:flash.ffu /ApplyDrive:\\.\PhysicalDrive{你剛剛記下來的磁碟機號碼} /SkipPlatformCheck

順利的話就會看到以下畫面,等到100%後把sd卡退出,插到raspberry pi 2身上。
image

step 4.
將將,恭喜你得到一個運作win 10的樹莓派。
黑摸摸 176

2014年9月4日 星期四

[TestFlight][Xcode]在沒有企業版帳號的情況下如何簡單的將軟體發布給他人。

 

其實這不算甚麼新鮮事,有人的地方就有恩怨,有恩怨的地方就會有江湖,
有寫出來的APP就會有要測試的人。

如果是在本地端,對,我就是說那種可以樂呵呵得走到你的開發機旁邊,用傳輸線接上你的電腦的那個叫作在本地端的人。那自然是沒甚麼問題,頂多在Xcode內的Window->Organizer
螢幕截圖 2014-09-04 23.22.07

的Device分頁下,按個Add to MemberCenter,選選有付錢的開發者帳號。
然後就可以在手機上恣意玩弄你開發的程式了。

但是,人生總是會有一個BUT!

如果這傢伙的位置,正好不是在短時間物理上可以走到的地方的地點的話要怎麼辦呢?

當然,如果你正好有一個企業版權限和https的空間當然是沒問題。

如果沒有呢,這邊有一個稍微簡化過的方式可以參考看看,也就是本文的主角,TestFlight

由於自己也是第一次用,所以進階的功能先不提。(看上去很強大啊,怪不得會被Apple買下來。 XD)
(手邊沒有圖,下次再補,這次先以文字描述。  XD)
首先呢,我們假設你的APP開發已經建立好了APP ID
(題外話,在Apple Developer的網站建議你用Safari開,如果你一直在等loading等不到結束,那換Safari通常可以解決你的問題。)
然後呢,把遠方那個需要測試的機器的UDID加到你的Device裡面。

1. 請在Provisioning Profiles建立一個你這個APP要用的Provision,這邊就把它想像成在還沒發布上去時,你這個APP可以允許在哪些機器上跑的設定檔,過程中會要你勾選Device,請把要測試的那個也選上。設定完之後把這個Provision download下來。

2. 打開Xcode 點選要發布的Project,點選Build Settings,選自己的帳號和剛剛建立的Provision (一般正常來說現在再有網路的狀況可以直接用選的,或者直接點兩下剛剛下載的Provision也可以。)


3. 插上隨便一台實機,把環境指向他,選Product->Archive(不插上機器會呈現反白),然後就會開始builde程式,稍待片刻後,會跳到Organizer - Archive 的頁面,選好你想做成.ipa的版本,按下Distribute..。

4. 選擇中間的save for Enterprise or Ad Hoc Deployment –>Next->選擇自己的開發者帳號(剛剛建立Provision的那個)->Next->儲存.ipa檔。

5. 登入TestFligtht,按左上角的+ 選擇Upload a build,然後把剛剛的.ipa放上去。

6. 上傳完成後。點下Permissions ,在
Anonymous Devices In The Provisioning Profile 底下勾選要被測試的機器的UDID,按下Update

7. 然後在Share This Build下會有一個Link,把這個 Link傳給要裝這個App的機器。

8. 用要測試的機器打開這個Link,會被要求安裝TestFlight的憑證,安裝完成後就可以看到INSTALL的按鈕了。

9. 安裝完成,測試看看好不容易裝起來的APP吧。

話說這個一點都不簡單啊,沒特地抓圖也花了半小時寫。 XD

2014年7月24日 星期四

[Objective-C]將自製物件轉成 NSData 與從NSData轉回原物件

由於最近工作需求有用到NSUserDefaults來做資料的儲存,
本來以為把平常用的NSMutableArray轉成NSArray就可以騙過她塞進去,想不到出現錯誤訊息。
說我自製的物件是non-property的,所以不給存。 囧rz

survey了一些資料後發現,如果想存的話,通常是建議先轉成NSData,
當然(NSData *)這招我try過了,當然不行。 XD

從結果來看是因為,要轉成NSData 轉的過程要讓xcode知道要用甚麼方式轉,反之亦然,從NSData轉回來時要隻到對應的型態是什麼才有辦法encode回來。

簡單來說,必須要在自定義的物件設定decode與encode的方式。
實作:
-(void) encodeWithCoder: (NSCoder *)coder{

  //self.property 換成你自定義的property的名字,例如Name,UserID
  [coder encodeObject: self.property forKey: @”property”];
  //其它的property以此類推
}
可以讓妳的物件成功傳成NSData

如果還要轉回來的話(有人不轉回來的嗎。XD)
就必須實作
- (id)initWithCoder: (NSCoder *)decoder{
  if(self = [super init]){
    self.property = [decoder decodeObjectForKey: @“property”];
    //以此類推。
  }
}

看到沒有中文的資料,就順便做個筆記,有問題也歡迎大家多多指教。 xD

2014年7月1日 星期二

[Swift]Objective-C 和swift混合模式(mix)

swift問世後,想要改寫swift但是又礙於很多慣用的工具和class都是Objective-C版的,
重寫又太麻煩,幸好有一種叫混合模式的東西。

可以讓你沿用原本寫的工具,然後透過bridge自動變成swift的格式使用。
(在這裡不討論怎麼轉的,提供怎麼實作的簡單教學。)


1. 首先,開一個swift專案 (或者沿用舊的專案也無妨)
image

2. 把你要使用的Objective-C檔案的.h 和.m檔拉到專案中,除了會問你要不要複製到專案中外,還會多跳一個視窗。
簡單來說問你要不要建一個bridge header,選YES
_W__芸_ 2014-07-01 15.38.56

3. 然後可以注意到在 supporting files裡面多了一個檔案
螢幕截圖 2014-07-01 16.14.49

4. 修改bridging-Header.h檔案內容,import 要用的.h檔
螢幕截圖 2014-07-01 16.17.17

5. 然後就可以在swift裡面使用這個class了
螢幕截圖 2014-07-01 16.19.25

缺點:
針對DataSource/Delegate的部分,@protocol的func的自動補完好像有點怪怪的,有的時候可以靠按ESC跳出來,有的時候則否。
原因還在研究中。

不過一些功能的,就算是objective-c的一樣可以使用,可以節省不少開發時間。

2014年6月25日 星期三

[Xcode 6 beta 2]swift 的智慧輸入無法正常出現的問題解決方式


終於有空回頭練習swift,之前一直很困擾我不會自動補code的小問題(對不起我實在不想練習打字,而且一直回頭看method name好麻煩 XD),後來survey了一下。
其實滿好解決的,
產生的程式碼不是都會有開頭的註解。


//
// ViewController.swift
// CitizenMission
//
// Created by Thor Lin on 2014/6/24.
// Copyright (c) 2014年 Thor Lin. All rights reserved.
//


把"年"刪掉就可以解決這個問題了...(眼神死)
當然,如果你註解中有用到中文,從那個註解之後也沒辦法用智慧自動補齊了。
可惜我沒寫過plugin,不然應該可以解決吧。 XD

#xcode #swift #智慧輸入補code

2014年6月23日 星期一

[Xcode]府城運動地圖(OpenSource)


https://github.com/coolthor/TainanSport

2014台南黑客松作品。(桂圓貓)

用時約 20 hrs,因為沒體力其實後面都在睡覺和放空。

雖然只是拙作,但是我想也許在一些componemt的元件應用上算是可參考的範例,歡迎大家批評指教。 XD

這個範例主要應用是在Mapkit/UISearchbar/NSString的Parse的部份比較多。UITabelView/UICollectionView的應用也在裡面,如果是新手的話,也許可以參考這些部分。

這兩天很好玩,但是現在正在和偷懶的心情對抗中。
(心:我這兩天這麼努力應該可以休息一下吧。
腦:不行,你還有帳單和swift要處理。 =_=)

以下為作品DEMO



‪#‎hack4Tainan‬‪#‎台南黑客松‬

2014年6月4日 星期三

[osx] osx 10.10 降級回 10.9.3的方式



玩了一兩天OS X 10.10,由於還有很多bug,而且嚴重影響到工作效率。(例如safari 網址列輸入會當機,Xcode用ctrl拉IBOUTLet會當機這種的。) XD

只好再把它downgrade,老實說有點麻煩,
因為沒有作備份,加上也沒有作OSX 10.9的安裝隨身碟。
只好老實的一步一步來。


網路環境是必備的。
1. 開機時按Command+R 選重新安裝OSX (會依照你買來的時候預載的系統,像我這台小白就是OSX 10.8 Lion)
2. 重新安裝,10.8,10.9,會花點時間就是了(因為要從網路上抓安裝系統的檔案。
如果遇到安裝好後,密碼怎麼打都不對,一樣開機時按Command+R ,然後選終端機。
輸入resetpassword,會跳出一個視窗讓你重新修改密碼。

#OSX #Downgrade