iPhone」タグアーカイブ

Cordova で Xcode を 7.1 にアップデートしたら…

Cordova でアプリを開発しているのだが、Xcode を 7.1 にアップデートしたらビルドに失敗するようになった。
例えば “ file not found” とか MainViewController.xib に internal error とか。

調べた結果、Xcode で “Build Settings” > “Search Paths” > “Header Search Paths” にある
$(OBJROOT)/UninstalledProducts/include

$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
に書き換えれば上手くいった。

追記。
MainViewController.xib の件は関係なかった。
これでは解消されていなかった。
ビルドできたりできなかったりで、よくわからない。
Xcode の不具合なのかな。

C++のクラスにObjective-Cの変数を持たせたい

cocos2d-xでiOS用のアプリを作っていると、C++のクラスにObjective-Cのクラスをメンバ変数として定義したい、というケースがある。

たとえば、Objective-Cで記述されたクラスObjCがあるとする。
これをC++で記述するクラスCppのメンバ変数として定義したい場合。
できることなら、Cpp.hに

#import "ObjC.h"

class Cpp {
    ObjC *_objc;
    ...
};

と記述したいところだけど、ヘッダファイルにはC++とObjective-Cとを混在させられないらしく、できない。
そこで内部クラスというものを利用してみる。

class Cpp {
    class Inner;   // InnerというクラスをCppの内部に宣言し、
    Inner *_inner; // それをメンバ変数とする。
    ...
};

この内部クラスInnerの定義はソースファイルの中に記述できる点がミソだ。

Cpp.mm

#import "ObjC.h"  // 拡張子.mmのソースファイルの中なので、Objective-Cが使える。

// Innerの定義。
class Cpp::Inner
{
    ObjC *_objc;

public:
    Inner() {
        _objc = [ObjC new];
    }
    ~Inner() {
        _objc = nil;
    }

    // ObjCのメソッドを呼び出すためのラッパー
    void doObjcMethod() {
        [_objc doObjcMethod];
    }
};

// Cppの定義
Cpp::Cpp() {
    // Innerクラスのインスタンスを作成
    _inner = new Inner();

    // Innerクラスを介して、ObjCにアクセスする。
    _inner->doObjcMethod();
}
Cpp::~Cpp() {
    delete _inner;
    _inner = NULL;
}

みたいな感じ。

基本的な考え方はこれでいいんじゃないかと思う。
なにか問題などあればご指摘ください。

「コマ読み!ブラックジャックによろしく」の公開停止

ぼくの初めてリリースしたiPhoneアプリであった
「コマ読み!ブラックジャックによろしく」の公開を停止しました。

「コマ読み!ブラックジャックによろしく」は、
スマートフォンで漫画を快適に読むためのアプリとして開発したものです。
スマートフォンの小さな画面に合わせて、
漫画をページごとではなくコマごとに表示するというものでした。

だた、時代はRetinaディスプレイ+4インチとなり、端末の高解像度化が進んだことで、
漫画をページごとに読んでも十分読めるようになりました。
この時点で、アプリのコンセプトはもはや時代遅れです。

加えて、このアプリで漫画を表示させるには、
予め漫画のコマ割りのデータを作成しなければなりません。
この作業がけっこう手間で。
時代遅れ+データ化にコスト(手間)がかかるとなると、なかなか需要は見込めないですね。

ということで、残念ながら、昨日このアプリをストアから削除しました。
結局、ダウンロード数としては、約半年間で300といったところでした。
完全なる失敗作!といった感じの結果です。

居ないとは思いますが、もし「公開停止は残念」という方がいらっしゃいましたら、すみません。
さすがにこのダウンロード数では、継続のモチベーションが上がらなくて。

漫画アプリ自体は、個人的に興味のあるところなので、
いつかリベンジできたらなぁと思いますが、当面は無理ですねぇ。
ゲームアプリの方をがんばります。

iPhoneアプリ「コマ読み!ブラックジャックによろしく」をリリースしました

日付的には昨日5日にkude初のiPhoneアプリ「コマ読み!ブラックジャックによろしく」をリリースしました。
紆余曲折いろいろありましたが、どうにかこうにか無事にリリースすることができました。
とりあえず、ほっと一息です。

コマ読み!ブラックジャックによろしく - Toshihiro Kude

当サイトのアプリ紹介ページはこちらです。

で、恥ずかしながら、さっそく幾つかポカをやってしまってますね。
まず大きなものとして、肝心の漫画のデータが、古いものになってました。
さっき気づいて慌てて直しましたので、本日6日の午前11時ごろ以降は最新のデータになっているかと思います。
それ以前にダウンロードしていただいた方は、「なんとなく画質悪いな」と思われたかもしれません。
キャッシュの加減で、明日には最新の高画質のものに差し替わるはずですので、それまでお待ち頂くか、一旦削除して再インストールしていただくと差し替わるかと思います。
すみません。

それと、iTunes上でアプリの名前が英語表記になってますね。
これはなんか設定忘れてたんでしょう。
若干気になるところですが、次のバージョンアップの時に対応するということで。

とりあえず、今はいろいろ手一杯で何かと気が回っていませんが、追々見ていきますので。
もしお気づきになられてことなどありましたら、教えてください。

アプリはけっこう自信があるんで、ぜひ一度触ってみていただきたいです。
よろしくお願いします。