iPhone X 模擬器
台灣時間9/13凌晨1點,Apple的特別活動就是發表最新的iPhone,這一次同時發布三支iPhone:iPhone 8、iPhone 8 Plus、iPhone X。
到公司後,立馬下載Xcode 9 GM,來體驗iPhone X 模擬器的呈現效果。就以我最近正在開發的自製遊戲-抓神魔獸為例。
台灣時間9/13凌晨1點,Apple的特別活動就是發表最新的iPhone,這一次同時發布三支iPhone:iPhone 8、iPhone 8 Plus、iPhone X。
到公司後,立馬下載Xcode 9 GM,來體驗iPhone X 模擬器的呈現效果。就以我最近正在開發的自製遊戲-抓神魔獸為例。
先前有提到在Swift專案使用Objective C第三方套件,現在想要反過來該怎麼做呢?目前我主要還是以Objective C來開發iOS App,然而有些超級好用的套件是用最潮的程式語言Swift打造,為了方便開發起見,還是來學著怎麼「橋接 (Bridging)」吧!
在這裡我是使用Cocoapods來下載Charts這個超過15000人使用開源做範例。
target ‘HappyChartTest’ do
# Uncomment the next line if you’re using Swift or would like to use dynamic frameworks
use_frameworks!
pod ‘Charts’
# Pods for HappyChartTest
end
最近在做遊戲,是個抓神魔獸的小遊戲,我們想要加入背景音樂,讓玩家能融入遊戲情境之中,以增加玩家黏著度。

那麼要如何播放背景音樂 (Play Background Music)呢?
想要做國際級的App,然後讓使用者註冊使用,在填寫基本資料的過程中,會遇到選擇國碼與國名 (Country Code and Country Name)的欄位,此時要怎麼取得相關資訊?原來就內建在iOS SDK中!只要取得ISO Country Code,就能轉換成Country Name囉。
這世界上的國家還真是多呀~想起這世界「分久必合,合久必分」:P~
已經可以從iOS SDK呼叫method來掃描QRCode,那麼是否也能從iOS SDK來產生 QRCode (QRCode Generator)?

光學字元識別 (Optical Character Recognition, OCR),是指對文字資料的圖像檔案進行分析識別處理,取得文字及版面資訊的過程。像是Google Translation App,已經可以透過OCR來即時辨識多國文字!

辨識出來應為1234HappyBoy0。
就像人生,面臨許多選擇,AngularJS選單可以怎麼呈現呢?
![[Ionic][AngularJS] 選單.png](https://cg2010studio.com/wp-content/uploads/2017/07/ionicangularjs-e981b8e596ae.png?w=540)
View的部分可以這麼寫:
/**
Theme: AngularJS Select
IDE: Sublime
Language: Javascript
Date: 106/07/13
Author: HappyMan
Blog: https://cg2010studio.com/
*/
<select ng-init="somethingHere = kidList[0]"
ng-model="somethingHere"
ng-options="option.Name for option in kidList"
ng-change="select()">
</select>
Controller可以這麼做:
/**
Theme: AngularJS Select
IDE: Sublime
Language: Javascript
Date: 106/07/13
Author: HappyMan
Blog: https://cg2010studio.com/
*/
$scope.kidList = JSON.parse(AuthService.storageGet('kidList'));
$scope.select = function () {
$scope.selectId = $scope.somethingHere.Id;
};
呼叫API之後,要等它處理完並傳回訊息,就能進行接下來的工作,這個行為叫做回傳呼叫 (Callback),類似其它語言的Closure或Block。
那麼在AngularJS要怎麼實現Callback呢?
原來函數中的參數,可以函數型態傳入呀!
/**
Theme: Callback
IDE: Sublime
Language: Javascript
Date: 106/07/08
Author: HappyMan
Blog: https://cg2010studio.com/
*/
function two() {
console.log("value is 2")
}
function one(callback) {
console.log("value is 1")
callback()
}
one(function() {
two()
})
執行結果:
value is 1
value is 2
這幾個月還滿常Git查詢Repository位址,還是把它記錄下來好囉~看SO有超過2000顆星,看來重要性很高!
原因是除了公司擁有的Repository,還有GitHub和Bitbucket等空間,突然想要重抓就必須知道位置,只是一行指令,不過我沒有特別記憶,未來就直接複製來用吧~
git config –get remote.origin.url
就會顯示如下的結果:
https://HappyMan@bitbucket.org/happystudio/happymall-ios.git
祝開發愉快:)~
參考:How can I determine the URL that a local Git repository was originally cloned from?。
承接[Ionic][AngularJS] 載入Youtube影片,想要離開畫面就停止播放,該怎麼做呢?因為進到下一頁,正在播放的影片還沒有被移除,就會持續播放下去。
在controllers.js中寫:
.controller('ResultCtrl', function($scope, $sce) {
$scope.pauseVideo = function() {
console.log('postMessage pauseVideo');
var iframe = document.getElementsByTagName("iframe")[0].contentWindow;
iframe.postMessage('{"event":"command","func":"' + 'pauseVideo' + '","args":""}', '*');
}
$scope.playVideo = function() {
console.log('postMessage playVideo');
var iframe = document.getElementsByTagName("iframe")[0].contentWindow;
iframe.postMessage('{"event":"command","func":"' + 'playVideo' + '","args":""}', '*');
}
$scope.$on('$ionicView.beforeLeave', function(){
console.log('pauseVideo');
$scope.pauseVideo();
});
$scope.$on('$ionicView.enter', function(){
console.log('playVideo');
$scope.playVideo();
});
})
還要在Youtube影片網址後方連接參數⋯⋯
?enablejsapi=1
格式會像是:https://www.youtube.com/embed/uSmcLz2FAUI?enablejsapi=1
程式碼才會有作用喔~
參考:How to pause or stop an iframe youtube video when you leave a tab view or minimise your Ionic App。
HappyMan・迴響