Objective C __blockロジック

Objective Cのプログラムを書いていると

 

 __block NSMutableArray* assetArray = NSMutableArray.new;

 

という処理を書いているサイトに出会った。

 

 __blockってなんだろう?と調べてみると、

 

 関数の中で宣言され,その関数の実行開始時から 終了時までの間,その値を保持する.

 

とある。

確かに関数内で使用されていた。

さらに、関数内でnewしているのに関わらず、releaseしていないところを見ると、

どうやら、自動でメモリを開放してくれる処理ではないかと推測している。

 

といあえず実装してみて動作を見てみよう。

iOSアプリ開発 FontAwesomeKitをプロジェクトにインストール

■前提 gemでpodはインストールされていること。

gemからインストー
  sudo gem install cocoapods
 pod setup

■プロジェクトにインストー

●1.PodFileを作成

ターミナルで以下のコマンドを実行

cd プロジェクトのパス
pod init

→PodFileが作成される。



●2.PodFileに以下を追記

pod 'FontAwesomeKit', '~> 2.1.0'

↓以下のように

                                                                                                                                                  • -

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'SimplePhotoSlideShow-mobile' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for SimplePhotoSlideShow-mobile
pod 'FontAwesomeKit', '~> 2.1.0'
end

                                                                                                                                                  • -


3. pod installを実行
ターミナルで以下のコマンドを実行

 pod install

Podsプロジェクトが作成される。
 
Xcodeワークスペースを開き、Podsプロジェクトが左ツリーに追加されていればOK

4.プロジェクトのビルドで、フォントファイルをリソースを追加するように設定。

 Project→build PhasesのCopy BundleでFontAwesome.otfを追加

 ※これをやっておかないと、起動後に
  Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Font file doesn't exist'
 が発生。

【XcodeのiOSアプリ開発】起動するStoryBoardの指定方法

起動するiOSのStoryBoardはどうやっているのか調べてみました。

 

Xcodeで、左ツリーからプロジェクトを選択し、

GeneralタブのDeployment into部にあるMainInterFaceで、指定されたstoryboardファイル名が起動するということがわかった。

 

f:id:rarao1048:20170520101353p:plain

Macでcocos2d-x セットアップとcocos2d-xプロジェクトの作成方法

■1.cocos2d-xをダウンロード

www.cocos2d-x.org

 

■2.ダウンロード後、インストールしたいフォルダに解凍

自分は/Application/cocos2d-x-3.15に解凍しました。


■3.環境変数設定

setup.pyを実行
環境変数が自動設定される

■4.プロジェクト作成
cd cocos2d-x cocos new MyCocosApp -l cpp
-lオプションで言語 cppとluaが指定可能

■5.プロジェクトのビルド
cd MyCocosApp/ cocos run -p ios

iosバージョンを作るのでiosを指定
他に、win32,mac,androidが指定可能

PHP7にしたらWordPressで「データベース接続確立エラー」になった

自分が作っているPHPのWebアプリケーションをPHP7にした。

そのせいか、WordPressで「データベース接続確立エラー」が
出るようになってしまった。

「データベース接続確立エラー」だけでは
詳細の原因がわからんので、wordpress内にログを探してみけどがよくわからない。。。

それで、google検索してみると同じように困っている人がいた
www.deep-deep.jp

php.iniの設定で「mysqli.default_socket」no Valueになっていることが原因らしい。


Webアプリケーションはロリポップ上で動いており、
確認するとそのようになっていた。

php.iniの設定で解決か?と思ったが、
ロリポップのWebツールからは設定できない。。。


どうしたらいいんや。。。。と
再度、google先生に聞くと、以下のサイトが見つかった。

terette.com



原因は、パスワード形式を「old_password形式」に設定されているため。。。
確かにWebアプリケーションをPHP7にしたときに何度か聞かれたわ〜


というわけで、
ロリポップのWEBツールからDBのパスワードを再設定。

無事、治った!・・・・と思ったら、画面は表示されるが、よくわからんエラーが出ている。

Warning: Declaration of KtaiService_Other::in_network($allow_search_engine = false) should be compatible with KtaiServices::in_network($networks = NULL, $allow_search_engine = false) in



またまたgoogle先生に聞いてみると
以下のサイトが見つかった。。

happy2010.wpblog.jp




プラグインかー。

サイトの記載のとおり、プラグインフォルダを削除してみる。

rm -f -r wp-content/plugins/ktai-style

無事、表示されました!

Netbeansでxdebug設定

デバッグ実行できなくてハマった。

 

デバッグ実行しても「接続を待ってます。」

と画面に表示されて3時間ほど悩んだ。

 

原因はローカルwebサイトで実行してたんだけど、

 

netbeansで設定できるデバッグのプロキシ設定をローカルのapache上で動いているxdebugから、送られて来るポートを設定してたからだった。

 

つまり、xdebugnetbeansで、同一PCのポートを取り合ってたわけだ。

 

xdebugから実行情報をnetbeans側に送る仕組み自体を知らなかったのでハマりこんだわけだが、、、、

 

気づいたのは、xdebugで出力されるログを見てたら、動きがわかったよ。

 

疲れたわ。。。

MacのPHPでXMLRPC

デフォルトでインストールされているPHPに拡張のXMLRPCをインストールしようとしたけど、結局MAMPを入れることにした(T . T)

 

まだ試せてないけど、今後は下記のページを参考にインストールを試みる。

 

▪️MAMP設定

qiita.com

 

▪️拡張

Installing PHP Extensions with MAMP - JellyStyle

Install intl extension with MAMP | Dream Conception

Install intl PHP extension for MAMP / Symfony2 | RocketModule

 

 

追記

MACを色々いじりすぎたせいか、ビルドできなくて

結局行き着いた先は、パッケージとしてインストールすることでした。

とりあえず、目的のXMLRPCが入ったのでよしとします。

 

http://www.1x1.jp/blog/2012/05/php_54_for_mac_os_x_as_binary_package.html