顯示具有 resource link 標籤的文章。 顯示所有文章
顯示具有 resource link 標籤的文章。 顯示所有文章

2013年11月16日 星期六

[iOS] Core Data 的 思

我的Core Data 的思維模式大致上是從

https://github.com/robbiehanson/XMPPFramework

XMPPFramework / Extensions / CoreDataStorage

中得到想法或靈感

其中比較重要的是
他利用多執行續去執行 core data  (在 apple 的guide line 中其實不建議用多執行續去做)

我將這個方法套用在我現在的專案上

1. model control 動作後,會呼叫 sub thread 上的 NSManagedObjectContent (moc) 做動作

2. VC 上,用的是 Main thread moc 產生的 NSFetchedResultsController 來操縱 View


一開始看起來都還ok

不過最近卻發現一些問題


2013年9月29日 星期日

[ROR] Turbolink, ajax, jQuery, coffeescript, Asset Pipeline

X  …. 怎麼那一次混雜那麼多東西orz
緣由:
想在ROR 4上面寫ajax
我先依照的教學寫了一下,
http://ihower.tw/rails3/assets-and-ajax.html
不過他是for ROR 3.x
所以惡夢就開始了...

2013年9月15日 星期日

[雜] 有趣的網址

https://skydrive.live.com/?cid=90dadd2e56b02895&id=90DADD2E56B02895%21109

軟體文件的範例....

不過有趣的是最後一張圖XD

2013年6月30日 星期日

2013年5月30日 星期四

[iOS] Xcode Plug-in

從強者那邊聽來的XD

記錄一下

趁現在比較閒一點的時候裝一下

 

可以自動補齊圖檔名稱的外掛

https://github.com/ksuther/KSImageNamed-Xcode

 

在code的地方可以叫出顏色選擇的dialog

https://github.com/omz/ColorSense-for-Xcode

 

可以讓color dialog 輸入#FFFFFF 之類的色碼

http://wafflesoftware.net/hexpicker/

 

直接動態注入code

http://injectionforxcode.com/



vim on xcode

 

http://julian.wuonm.com/blog/2012/05/25/XVim-Xcode-plugin/



XCode 5.x 似乎對這些plug-in似乎還有點問題



[iOS] CGContextShowTextAtPoint & non-ASCII

由於 CGContextShowTextAtPoint  不能畫出 非ascii的字

所以只能用  NSString drawAtPoint...

不過換過去之後記得要

在 drawAtPoint  前後夾上

UIGraphicsPushContext(_composedImageContext);

 

[text drawAtPoint:(CGPointMake(0, expectedLabelSize.height / 2.0)) withFont:[UIFontfontWithName:fontName size:60.0]];

 

UIGraphicsPopContext();

 

把畫紙推到最前面去畫 然後再推回來

ref:http://www.cocoachina.com/bbs/simple/?t10441.html

2013年5月15日 星期三

[License] BSD MIT Apache

確實不是很瞭解使用了有相關的license的code的之後,要盡的義務是什麼

 

看完一些資源的認知(不確定對不對)

BSD

1.  如果發布的是原始碼  則不可以刪掉在原始碼黨裡面的bsd宣告(須保留著作權聲明、BSD 授權條款的條件及免責聲明)

2.  如果發佈的是library or binary file,  則需要在在說明文件and版權聲明中寫下 BSD的協議(須保留著作權聲明、BSD 授權條款的條件及免責聲明)

3.  不可以拿作者/機構的名字做宣傳

所以....

可能要做的動作是

 a. app上apple store 後  可能要在  EULA  or  policy 連結  的文件,填入使用的 library 和 他的BSD的版權聲明

 b.  如果是賣原始碼給別人,則如同 BSD - 1 項

 c.  理論上我們應該不會手賤用機構或作者的名稱做宣傳

 

Apache 2.0

1.  修改過的地方要在收權下面加入

     (至於你所寫的衍生程式也建議你就在 原制式的著作權聲明的下一行加上你的著作權聲明。譬如:This file is modified by ΧΧΧ(姓名) on 2009.)

 2. 簡介:http://www.openfoundry.org/tw/legal-column-list/8581-the-elaborate-license-apache-20

 

可能要做的動作是

a. 告訴別人我改過哪裡了  (不過我應該不會散佈 原始碼或修改套件,如果有散佈的話要注意一下)

b  如這個 http://luckyalbert.blogspot.tw/2012/09/apache-license-20.html 

     提到 : 如果散佈出去的是 binary or 執行檔,則需要在 說明頁面裡面也要些到license.....

      (看起來跟 BSD 的 a  b  差不多)

 

參考連結

http://inspire.twgg.org/internet/trends/item/74-comparison-of-five-kinds-of-standard-open-source-license-bsd-apache-gpl-lgpl-mit.html

http://www.openfoundry.org/tw/legal-column-list/8581-the-elaborate-license-apache-20

https://zh.wikipedia.org/wiki/BSD%E8%A8%B1%E5%8F%AF%E8%AD%89

http://www.oschina.net/question/12_2828

 

再授權

http://www.openfoundry.org/tw/glossary/749-sublicense

Apache 2.0 可以自己在授權 給其他人用,

BSD似乎好像沒有寫的很清楚

 

http://www.openfoundry.org/tw/forum?func=view&catid=8&id=824#827

http://www.openfoundry.org/tw/forum?func=view&catid=8&id=458

上面這篇提到

Apache 2.0 允許 被授權的人跟改授權,但是不得違背原來Apache 2.0  的授權

(也就是可以改成自己的授權)

Apache 2.0  如果要移除內容相關的logo則要去跟所有權人談 (基本上不可移除)

 

 

幾個問題:

1.  如果同時間用兩三種lib  有不同的Licenese 那要怎麼處理@@?

    自A:  似乎跟再授權有點關係

2. 不過還是不懂Apache 2.0 那要怎樣賣錢,既然改變授權還是要符合原本的ABCD

    那這樣的話 前面有提到要是free不就表示再怎樣變更授權都不能賣錢了嘛?

     自A:  http://www.openfoundry.org/tw/forum?func=view&catid=8&id=295

     1. 可以不公開原始碼,自己轉成商業授權  (所以這裡表示只需要列出著作聲明、不需要列出條款嚕?因為已經改授權了?)

     2.  沒有義務要將使用的source code列出來,不過可以列出來以示尊重

     3. 原來的檔案要保留著作聲明 且要告訴別人這個檔案我改過了

3. 著作聲明 與 條款 與 免責聲明  都是同樣要保留的嘛?

 

===========================

Final

http://www.openfoundry.org/tw/forum?func=view&catid=8&id=824#827

這篇直接點出我應該做些什麼.....

好啦   應該這樣做就是了orz

有空實作看看

     

2013年4月19日 星期五

2013年3月31日 星期日

[ObjC] objc_setAssociatedObject

之前遇到的問題是 …… Category 怎樣新增變數在物件中....

我那時只知道 dynomic … 然後就不知道下一步了

今天看到別人分享了這個

https://github.com/MugunthKumar/UIKitCategoryAdditions

想說之前就有遇到因為static 所以同時間只能使用一個Alert的問題


不過看來他10個月前就改好了orz....


anyway 重點是...

objc_setAssociatedObject

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html

之後如果有遇到類似需求會用這個做作看


不過還有一點不是很清楚

其中第二個param 建議是用一個static的char值,看到到有討論區的說法是他只是指標位置

還是不了解如果當實體化兩個物件時,還是會共用到同一個static的值,會互相影響到嘛?


2013年2月15日 星期五

Jenkins + Unit Test by ios-sim

經過了一連串折騰,終於發現

原來之前已經半成功了!

只是jenkins  的使用者權限開錯了,導致跑不動 ios-sim

 

以下是整個的經過

1. 原本打算使用 octest 

    在 command line 下要執行

xcodebuild -workspace ??????.xcworkspace -scheme ?????Test -sdk iphonesimulator5.1 -configuration Debug TEST_AFTER_BUILD=YES clean build | ocunit2junit  

    (https://github.com/ciryon/OCUnit2JUnit)

     ?????Test  是一個特殊的scheme ,建立後且執行 Test

    但是這個在 ios 6 上遇到了問題

    iOS 6 有些簡化用的語法  ex : @{ xxx:ccc} = [NSDictionary dictionary…..]

    如果使用 -sdk iphonesimulator5.1  是不能建置的

    但是如果使用 -sdk iphonesimulator   似乎會有無法註冊的問題

    (http://longweekendmobile.com/2011/04/17/xcode4-running-application-tests-from-the-command-line-in-ios/) (http://www.raingrove.com/2012/03/28/running-ocunit-and-specta-tests-from-command-line.html)

    這裡我實驗了很久還是卡住

    (有可能問題與最後的解法是相同的....)

2.  後來決定不使用xcode原來呼叫simulator的方法

     改用 ios-sim   

     採用這篇的作法  http://9elements.com/io/index.php/continuous-integration-of-ios-projects-using-jenkins-cocoapods-and-kiwi/

 

    接著我就遇到了  

"Simulator session timed out.

    的問題

    https://github.com/phonegap/ios-sim/issues/5

    看了問題討論  似乎只要把  檔案一個位置就好了

    但是  因為現在在放假期間  我不太敢亂重開server 

    所以只好想想看要怎麼改他的使用者權限

    最後發現....

     因為我一直以來都是用  sudo launchctl load xxxxx

     如果用 sudo 的話,則好像會是用  root 開 jenkins  

     而他沒有  GUI的權限(?我猜測的… 如果有錯麻煩告知一下嚕@@)

     所以開不了  simulator  導致timeout

     所以我改用  user帳號  ssh 登入 server

     只執行   launchctl load xxxxx

     就可以正常的跑Unit Test了