cocos2d-xでlibtool: can't locate file

Mac OSをアップデートしたせいか、cocos2d-xのビルド時に

cocos2d-xでlibtool: can't locate file

が出るようになった。

 

2時間くらい調べてみると、どうやら、

プロジェクト内のcocos2d-xのexternalフォルダにあるライブラリ(*.a)ファイルが

おかしくなっているようだ。

 

cocos2d-xのホームディレクトリのexternalフォルダ内のものに置き換えて、

ライブラリへのリンクを貼り直したら治った。

 

無駄な時間を過ごしたなあ。

UIImageからByte配列を生成する方法

iOS側で生成したUIImageのデータをcocos2d-xのCppインスタンスにByte配列で渡すため、変換処理を作った。

要メモリの開放

 

    UIImage* uiImage = [UIImage initWithName:@"xxxx.png"];    

    NSData* data = UIImagePNGRepresentation(uiImage);

    NSUInteger len = [data length];

    Byte *byteData = (Byte*)malloc(len);

    memcpy(byteData, [data bytes], len);

 

Objective-CからSwiftのクラスを使用する。

NSObjectを継承してビルドすれば、

($Pruduct Name)-Swift.hが自動生成されるので、

 

import  "($Pruduct Name)-Swift.h"

すればいいと各サイトで書いているが、

file not foundのエラーになった。

 

間違えてないはずなのになあと設定を探すと

自動生成されるファイル名の設定を見つけた。

 

Build-Settings->Objective-C Generated Interface Header Name 

 

設定では、

"-Swift.h"

となっていたため、

"($Pruduct Name)-Swift.h"

に直すと解決できた。

windowsで複数のDocuworksファイルを一括印刷する。

windowsで複数のDocuworksファイルを一括印刷する方法。

 

エクスプローラでファイルを選択して、

右クリックメニューの印刷で可能。

 

注意として、印刷確認ダイアログが出ないので、実行には慎重に

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