Just My Life & My Work

Posts tagged ‘open source’

[iOS] 第三方套件 IQKeyboardManager

使用手機很常需要輸入文字,這時候虛擬鍵盤就會從螢幕底部升上來,因而擋住部分介面。在這裡iOS SDK並沒有自動調整介面,於是我們開發者每次就得自行處理,因為太常需要用到,於是就有高人寫的開源第三方套件IQKeyboardManager

下載後匯入專案,不用寫任何一行程式,就能運行我們想要的功能!而且是每一頁面都預設套用,再也不用重複寫碼囉~

目前GitHub上有超過7000人打星。

IQKeyboardManager.jpg

(繼續閱讀…)

[iOS] FMDB 資料庫

最近在研究iOS實用的ORM (Object-Relational Mapping),翻成中文就是物件關係對映,還不是很懂?直接說是資料庫 (Database),這樣豁然開朗了嗎?儘管實際上定義有所差異,不過為了好上手,總是會想類比我們熟悉的目標。

sqlite.png

要研究總有個方向,在Github上找到最多人給星的FMDB,發展至今已經有9852顆星,想必它之所以受到青睞,是因為它把資料庫的事情簡單化了!

FMDB是架構在SQLite發展出來的套件,由於SQLite在iOS上的使用不是平易近人,於是就有人想要改造它,促使今日FMDB的誕生呢!

(繼續閱讀…)

[C++] 解析JSON (Parse JSON)

JSON(JavaScript Object Notation)是一種輕量級的資料交換語言,以文字為基礎,且易於讓人閱讀。儘管JSON是Javascript的一個子集,但JSON是獨立於語言的文字格式,並且採用了類似於C語言家族的一些習慣。

不過目前C++並無內建函式可以解析JSON (Parse JSON),於是我便到GitHub找輕便好用的套件:JSON for Modern C++

json parse.png

上圖展示套件有四種方式來讀取JSON資料,因為我是要從檔案讀取來解析,所以足夠我使用囉~

(繼續閱讀…)

[iOS] Intercom 客戶溝通平台

我們想要觀察或追蹤使用者,來提供符合其需求的服務,無論使用者登入與否,我們皆能掌握其動態。甚至使用者想要聯繫客服,也變得相當方便簡單。

Intercom Customer Communication Platform.png

可以想像這樣的情境,當使用者對某頁面感到疑惑,我們在後台看到他停留許久,此時就能推送關心提示,讓他能順利完成需求!

(繼續閱讀…)

COSCUP 2015 下午茶

COSCUP今年是第十年舉辦,在週末兩天日期為8/15-16,我是今年五月才得知有這個活動,是我的研究生室友阿哲告訴我的好康,於是我趕緊申請開源者專案。當然這時候的我還不曉得這個活動的主旨,持續忙碌到要與會的前一週,才開始瀏覽活動網站,終於知道議程非常之豐富,有我好多想要了解的主題!

(繼續閱讀…)

[iOS] 不推薦使用的提示視圖 (Deprecated UIAlertView)

AlertViewActionSheet在iOS 8開始被棄用,未來要開始使用AlertController,不過現階段還要相容iOS 7,所以還是有必要使用AlertView和ActionSheet來開發⋯⋯

Deprecated UIAlertView

(繼續閱讀…)

[iOS] Kickflip 現場直播平台

因為專案需求,研究了近十個可能是現場直播平台,似乎開始蔚為潮流,很多平台與套件都開發中,相信未來這些工作都會做得更好,以下就是試驗過後的情況⋯⋯

http://www.ustream.tv/platform/live-broadcasting-sdk
所以還在開發中,可以先填email等發布通知……

https://livestream.com/
想用就要先付錢,無法嘗試……

https://bambuser.com/iris
要寫信才有機會拿到SDK

http://livestreamsdk.com/
可以拿github的範例程式跑,API key secret需要寫信去要

http://red5pro.com/
現在是beta版,註冊後要等通知……
隔天收到SDK和sample project下載連結,但測試後不知道在搞……

https://www.twilio.com/
似乎不是我們要的live streaming,註冊後想下載SDK,居然沒有iOS

http://www.jwplayer.com/
支援很多程式語言,但就是沒有支援iOS,不符合需求~

http://onlinelib.de/streaming/
有開發的需求要先寫信詢問……

http://www.nodemedia.cn/zh/
中國版,下載後demo不知在做什麼…… (繼續閱讀…)

[iOS] 可可豆莢多目標 (Cocoapods with Multiple Targets)

隨著時間發展,iOS App已經變得更加複雜且龐大,使用使用 CocoaPods 管理第三方套件已成為必要之事,然而這樣還是不夠,因為我們一個專案 (Project)中不再只是一個目標 (Target),這些目標都需要同一個函式庫 (Library),但是可可豆莢 (Cocoapods)預設只為最初的那個目標,我們該怎麼下指令才能讓所有目標都能引用同一函式庫呢?

cocoapods13

原來只要多加link_with關鍵字,後頭接上目標的名稱即可!

/**
 Theme: Podfile with Multiple Targets
 IDE: Xcode 6
 Language: Objective C
 Date: 104/04/01
 Author: HappyMan
 Blog: https://cg2010studio.wordpress.com/
 */
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '6.0'

link_with 'HappyCan', 'HappyCan Today', 'HappyCan WatchKit Extension'

pod 'AFNetworking'
pod 'ZBarSDK'
pod 'Toast', '~> 2.4'
pod 'LineKit', '~> 1.4.1'
pod 'MBProgressHUD'
pod 'OpenSSL-Universal', '1.0.1.k’

以上範例表示我專案中有三個目標(HappyCan、HappyCan Today、HappyCan WatchKit Extension),都需要引用相同的函式庫。

參考:What is a Podfile?

開放原始碼授權協議 (Open Source License)

今年開始要走入開放原始碼領地,所以順便來瞭解一下開放原始碼授權協議 (Open Source License),這兩年來開發iOS App時常使用到第三方套件,印象中最深刻的License是BSD (Berkerley Software Distribution)GPL (GNU General Public License),不過我根本不曉得差在哪,心想現成的能用就好啦~

授權自由度

小提琴程式設計師說:在這裡的自由與不自由主要是指你在使用這些開源軟體時所要盡的義務的多和少。

(繼續閱讀…)

[iOS] 播放Youtube影片2

先前提到可以用Web View播放Youtube影片,現在我們可以更輕易地播放Youtube影片囉~只要使用第三方套件XCDYouTubeKit,就可以透過內建的MPMoviePlayerViewController來播放影片!

來用今年員工旅遊韓國首爾空中滑翔到南怡島的影片做測試吧~

Play Youtube Video inline

在特定的view上播放影片

Play Youtube Video fullscreen

全螢幕播放影片

(繼續閱讀…)

標籤雲