2012年11月8日 星期四

[iOS] 自定讀取檔案格式 + open in...




自定讀取檔案格式,就可以在打開檔案的選項中看到「open in...」的選項,
並指定自己寫的app去開啓該檔案,

除了一般已知的檔案格式外,
也可以自行定義副檔名,如此就可以用自己的app去開它,

(但是如果你取的副檔名跟別人一樣那就會出問題了...)


製作流程如下


  1. 在plist註冊自定義的副檔名

將plist以「Source code」模式打開,新增

<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeDescription</key>
<string>Yellow Datalt;/string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeIdentifier</key>
<string>yellow.abc</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>abc</string>
</dict>
</dict>
</array>



用一般模式看起來會是這樣



Description:描述(好像不能沒有)
TypeConformsTo:開啓類型(詳細參照
UTTypeIdentifier:定義名稱
public.filename-extension:副檔名


2.在plist註冊可以支援的檔案類別

將plist以「Source code」模式打開,新增

<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>ABC</string>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>LSItemContentTypes</key>
<array>
<string>yellow.abc</string>
</array>
</dict>
</array>



一般模式看起來會是這樣


CFBundleTypeName:此設定的名稱
LSHandlerRank:對此種檔案類型的權限(Owner, Default, Alternate, None 參照
LSItemContentTypes檔案類型,這邊輸入剛剛設定的類型「yellow.abc」



3.在AppDelegate進行設定

在AppDelegate.h內新增UIApplicationDelegate


@interface AppDelegate : UIResponder <UIApplicationDelegate>{ }



在AppDelegate.m內新增監聽事件openURL

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
// Make sure url indicates a file (as opposed to, e.g., http://)
if (url != nil && [url isFileURL]) {
// Tell our OfflineReaderView Controller to process the URL
[(ViewController *)self.window.rootViewController handleDocumentOpenURL:url];
}
// Indicate that we have successfully opened the URL
return YES;
}



4.在ViewController.m、ViewController.h進行設定


在其他app用「Open in...」的時候,
會將檔案復制到自己 app 的 Document 資料夾,

如果再度開啓,則會在檔案名稱後面加上-1  -2來作區隔,
所以要利用開啓檔案後驅動的handleDocumentOpenURL來將檔案移動到指定的地方



在ViewController.h 內設定公用函數  handleDocumentOpenURL


-(void)handleDocumentOpenURL:(NSURL *)url;



在ViewController.m 內設定公用函數 handleDocumentOpenURL 的內容



- (void)handleDocumentOpenURL:(NSURL *)DESurl {
//取得來源檔名
NSString *fileName = [DESurl lastPathComponent];
//設定移動目標路徑
NSURL *SRCUrl = [[[[DESurl URLByDeletingLastPathComponent] URLByDeletingLastPathComponent] URLByAppendingPathComponent:@"box"] URLByAppendingPathComponent:fileName];
//設定移動目標資料夾
NSURL *SRCFloder = [SRCUrl URLByDeletingLastPathComponent];
[txt setText:[NSString stringWithFormat:@"來源:%@" , [SRCUrl path]]];
BOOL isD;
//檢查副檔名
if ( [[DESurl pathExtension] isEqualToString:@"abc"]) {
NSError *error;
NSFileManager *manager = [NSFileManager defaultManager];
if (![manager fileExistsAtPath:[SRCFloder path]]) { //檢查資料夾是否存在,不存在則開新資料夾 if ([manager createDirectoryAtURL:SRCFloder withIntermediateDirectories:YES attributes:nil error:&error]){
NSLog(@"create************* success!");
} else {
NSLog(@"create************* fail!");
NSLog(@"error:%@" , error);
}
}
if([manager fileExistsAtPath:[SRCUrl path] isDirectory:&isD]){
//檢查檔案是否存在,存在則移除
if ([manager removeItemAtURL:SRCUrl error:&error]){
NSLog(@"remove***************** success!");
} else {
NSLog(@"remove***************** fail!");
NSLog(@"error:%@" , error);
} } //移動檔案
if ([manager moveItemAtURL:DESurl toURL:SRCUrl error:&error]) {
NSLog(@"move************* success!");
} else {
NSLog(@"move************* fail!");
NSLog(@"error:%@" , error);
}
// [self openTxtFileWithURL:SRCUrl];
}
}







2012年10月27日 星期六

10/27 台灣蟲王Sen VS 清朝蟲王SobadRush專訪 (一)

Sobad:歡迎各位回到TESL的現場。诶,為什麼現在會變成我們兩個坐在台上?

Sen:诶,真的耶,我不是很願意跟你坐在一起耶.....( ̄ー ̄)

Sobad:我知道你不是很願意,我比較想把你換掉(́◉◞౪◟◉‵) 
Sen:Σ(°Д°);

Sobad:但是好像你是主角的樣子是不是?(́◉◞౪◟◉‵) 

Sen:那這樣雙方就互相認耐一下~~

Sobad:互相認耐一下,(深情款款)  撐一下........就過去了........




Sobad:先簡單聊一下這次為什麼會來訪問。這次主要是因為亞洲杯賽事剛結束,未來要迎接的算是今年的一個大盛事,也就是世界杯的賽事。

Sen:對,現在全世界最大的。

Sobad:因為你是台灣唯一的一個選手,所以今天要聊一下這些東西。那也要聊到最近,聽說你最近很忙碌?

Sen:對阿,因為要準備下個月去上海比賽,我掐指一算,是沒有很多時間了,我最近可能又要南部、北部跑,還有學業兼顧,比較累一點,不過也是蠻值得的,畢竟是自己的興趣嘛~~

還有,我一定要走得更遠,因為就我所知,在亞洲杯,Slam好像走的比我還遠,我覺得這是不能忍的!!!!  (`皿´)

Sobad:沒有沒有,是同一步

Sen:你這樣有安慰到我(;_;)

Sen:其實就是想要走遠一點,其實亞洲杯跟世界杯的選手實力不會相差太多,因為來了很多歐美來打醬油的.....

Sobad:(≖‿ゝ≖)✧您講話真的是相當實在,我就喜歡這樣。今天來這邊聊天就是不講官方話。∑( ̄□ ̄;) 疑,我看到四葉(橘子熊的SC2教練Leaf)臉都綠了.....
主要是想看一下粉絲有沒有提問,大家可以在聊天室提問,我們就直接在聊天室提問

Sobad:有人問說Sen要不要來當賽評。如果Sen要來當賽評的話,你覺得你大概會怎麼講?

Sen:我是屬於真性情的講話人,所以可能就是要克制一下一些不該講的話,(嘴型),像這種東西就要克制一下。但是我還沒有想那麼遠,畢竟我還是會當選手吧,如果不打可能就當兼差的。

Sobad:我也是傾向你繼續當選手,因為到目前為止,應該是沒有其他選手能頂替你的地位。

Sen:我覺得再給我們一點時間吧,蟲心出了會有更多玩家加入。

Sobad:我們剛剛其實也是聊到,大家對於TESL抱持非常非常高的期望,
   那然我們也是非常非常希望除了你以外的其他選手實力也是有所提升,
   這次(亞洲杯)Slam跟你走到同一步,感覺好像非常近了,但是平心而論,
   其實還是有一段落差的

Sen:其實還是有一點距離的。因為在我們練習的天梯上,就可以反映。
   其實我可以簡單講一下,我在台灣的戰績,其實在某些層面上市有原因的,
   星海現在的天梯系統,他是可以衡量你的戰鬥力在哪裡,我的分數可能在1700左右,
   台灣的其他選手可能落在1200~1300左右,這是一個非常大的Range,
   雖然沒有說低分的選手不能打敗高分,但是這就是一個整體的戰鬥力,

Sobad:我知道,就是那個戰鬥力,你的戰鬥力是所謂的破表的

Sen:對,我就是Strong


Sobad:就是帶上那個的時候,看到你是會爆炸的.....



Sen:對對對,
  (面對攝影機)有看過七龍珠嗎?各位


    會曓喔!!



Sobad:看到你應該會暴,因為螢幕塞不下(́◉◞౪◟◉‵)

Sen:沒有啦,因為我玩這個遊戲(即時戰略)太久了,我完十年了,台灣.....其實還蠻難的。

















2012年10月16日 星期二

電子競技:電競紅了,味道人士了臉就綠了...

話說在台北暗殺星拿到冠軍的隔天....

我:「某A(我同事),我跟你賭,今天晚上一定超過兩個政論性節目探討電競議題,一個星期之內會有人開始說這個電競東西很糟糕,是非常傷風敗俗、使社會風氣低下的東西。」

某A:「恩.....如果最近沒啥大事的話,應該會討論吧.....」

我:「............台灣的媒體跟官員就這麼沒創意嗎?」

某A:「那些味道人是應該也是會麼反應的吧......」

我:「............他們難道連一點新梗都沒有嗎?」

結果事實證明,就是這麼的沒有創意.....



先來看看這篇新聞

TPA逐夢宏碁、雷蛇不缺席 Garena盼選手獲公平對待 | ETtoday3C新聞 | ETtoday 新聞雲

裡面講出了一句話,道破了台灣電鏡發展之難度:

TPA品牌形象負責人潘先生感嘆,每當有類似新聞出現時,媒體報導內容總是非常膚淺、片面,社會上一般人對打電動的感覺就是貪玩、不學無術,在他們成名前,很少有人關心他們為了成功付出的努力和汗水。

沒錯,
這也是星期天當天大家在激情過後,
許多網友、鄉民、甚至是酸民所預想到的輿論操作方向,

果不出其然,

聯合晚報社論:看年輕人「不務正業」

這個是標題殺人法,雖然內裡講的是要大家自然看到這件事,

不過標題一定,就是在講大家覺得不務正業

NowNews:電競產業熱!職業病恐致命 久坐「練功」當心猝死、血栓

接下來就是開始宣導打電動的傷身,
見鬼了,一般電視看久了,網拍逛久了難道不會這樣嗎?
就打電動會猝死?
上班上10個小時,然後一樣坐在電腦面前猝死就比較高尚嗎?

不經熟慮的電競支票 教爸媽怎教育小孩

下一步,就是開始拉攏家長,
不健全的制度,會讓你的小孩墮落於遊戲之中
但是我覺得現在的升學制度也沒好到哪裡去耶~~

休學打電玩 教長認為不合適

萬般皆下品,唯有讀書高,
但是光靠讀書有辦法訓練團對合作嗎?
光靠讀書成績就能看得出未來嗎?

有辦法就跟韓國一樣辦間電玩學校,
然後把所有的選手通通放進去,
這樣就不用擔心學業了~~

TPA英雄聯盟奪冠 經濟部:宣導50萬民眾避免遊戲沉迷 | ETtoday3C新聞 | ETtoday 新聞雲

齁齁齁,接下來就是打預防針,遊戲易造成沈迷,
所以每天練一個小時就能變天才是吧,
問問看林書豪一天花多久時間練習籃球,
就算是小提琴家在讀書一天也練超過一個小時啊!!!!




(未完待續,因為不知道哪天又會有新聞冒出來)

2012年10月15日 星期一

電子競技:永遠慢N步的政府


政府官員、立委等政客,沾光的速度永遠超乎我們想像,

前幾天可能還為了電玩沈迷傷腦筋,反對網咖的設立,
今天比賽得獎,又開始說我們應該要扶植電競產業,

看到以下新聞以後,真的是.......


經濟部:電競選手可納替代役適用範圍

電玩、電鏡產業,社會輿論的鴻溝

2012年10月14日,對台灣電競來說又是一個重要的里程碑,

遙想當年,三步一小咖、五步一大咖的網咖時代,
進去不是聽到CS的槍聲,就是世紀帝國2、星海1的團戰時刻,
當時的學生,無不夢想著能夠靠著強悍的遊戲技術,
成為名霸一方的風雲人物。

2001年,當時被媒體封為「電玩小子」的曾政承,
在世界電玩大賽(WCG)中,
才剛打完冠軍賽就被韓國選手以網路問題上訴成功的當下,
立刻還以顏色,利用「封建快攻」在短短7分多鐘內結束比賽,
扎扎實實的拿下了冠軍,
一句「Taiwan NO.1」振奮的許多年輕學子的心。

可惜當時網路不便,社會氛圍也還沒那麼開放,
甚至媒體都還沒那麼開放(因為蘋果還沒進來),
短短不到一個月的時間,這個風潮就像一陣微風一樣,
轉眼便消失不見。

事隔11年,
TPA (台北暗殺星)在美國LOL的S2比賽中,擊敗列強(尤其是南韓),獲得冠軍。
對於在台灣曾經夢想著電子競技的老玩家來說,
何嘗不是一件令人振奮的事情,
既使不是親身參與,也是讓人看的熱血沸騰。

轉眼間,經過11年的時間,
台灣的環境也有很多的變化,
現在有電視轉播、有固定的賽制、有企業贊助,
當年也在玩遊戲的父母,現在對於這個產業也是相當的支持。

只是就跟很多運動一樣,
政府的官員是不會放過任何喊口號的機會,
媒體也不會放過任何可以炒作新聞的機會,

單單一天之內,
各大平面、電視、電子新聞大幅度的報導,
聯政府、立委都在談論這件,
他們不是很懂,甚至可能根本不認同的事情,

就像以下幾則新聞:

蘋果日報:「英雄聯盟」世界大賽 台灣電玩小子奪冠 抱回3千萬 落淚「我們做到了」

自由時報:力爭上游 台灣電競盼列運動項目

聯合報:世界電玩賽台灣奪冠 抱回100萬美元

中國時報:電玩大賽 台灣奪冠 贏百萬美元

我相信明天開始,會有更多的新聞,
開始報導玩遊戲的負面效應,

過不到一個星期,大家就會開始忘記這件事.....

等著看吧......

[新聞] 英雄聯盟TPA不同曾政承 5%的天才與凡人之差

英雄聯盟TPA不同曾政承 5%的天才與凡人之差 ETtoday3C新聞 | ETtoday 新聞雲

(轉自ETtoday新聞雲  2012/10/15 )


有媒體拿2001年的曾政承想突顯議題,卻忽略了這10年來遊戲產業的改變,TPA跟曾政承不能做比較。(圖/取自台北暗殺星官方臉書粉絲團)
記者鍾禎祥/特稿

2012年9月27日 星期四

FB留言板測試

2012年9月26日 星期三

[新聞] 「職業電競選手」 袁錦輝敢作夢


「職業電競選手」 袁錦輝敢作夢


【壹電視報導】「打電動」這件事,可能在很多人眼裡是不務正業,但袁錦輝不這麼認為,從小就喜歡打電動的他,一直夢想著,將來的職業可以跟興趣做結合。畢業於中正大學經濟系後,袁錦輝沒有從事一般人認為的正常工作,反而每天苦練電動,為了不讓父母擔憂,還跟父母約定,要在半年內實現成為「職業電競選手」的夢想。來看敢作夢的袁錦輝。


小黃汪一下:

不只愛你所選,選你所愛,
還要勇於付出,勇於承擔,
如此,才能成就不凡~~

2012年8月30日 星期四

[新聞] 嚴長壽:年輕人缺乏熱忱使命感


嚴長壽:年輕人缺乏熱忱使命感

(轉自Yahoo新聞、自由時報2012/08/31)

雖然我尊敬嚴長壽先生的成就,
但是關於這篇文章,卻不是很認同~~

一般人會有「現在年輕人並非缺乏熱誠與使命感」的錯覺,
大概是以下幾種模式

一個是:一天到晚被灌輸「坐這個也不行、做那沒前途,只有父母、師長說得最對」
長久以來都被設定在安穩的道路上,以至於缺乏對未來的熱誠

另外就是,「被現實所利用的熱血的一群年輕人」
因為這些老闆、或是主管們,
拿著當時他們的成功模式,
也期許現在的年輕人一樣能夠跟他們當年一樣,
從免費、廉價勞工作起。

雖然我能認同多做這些活動能夠長見識、展人脈,
我也承大學、碩士畢業就要求起薪要 32K的人腦袋一定是有很大的洞,

但是同時,這些常常叫年輕人去長見識、展人脈的大老闆們,
到底是抱著善意,想要培育年輕人有見識?
還是只是想要幫公司找一些新鮮的肝?
把年輕人當成替換用的金頂電池?

我相信大家今天也不是說要很誇張的高薪,
但是要求合理薪資應該不過分吧~~~

不敢給卻老是怪年輕人抗壓力不足,
難怪台灣的勞工數量直直落,大家寧願去澳洲當台勞也不願呆在台灣當電池~~