HSP3DishアプリをiOS版へ変換するときのおぼえがき

 

更新 2025年11月30日

⭐️ こちらにあたらしいページを準備中です →


 

⭐️ iOS版 の作業ちょっと待って:
 2025年11月時点最新の HSP3.7 のフルセットでは、iOS版へアプリの変換がうまくいかない報告があがっています。
もともとHSP3Dish側が正しく動作するように完成済みであっても、iOSやXcodeは、むこうの開発企業側の都合でどんどんバージョンアップして変化、進化していくので、その変化に合わせる修正を続ける必要がでてきます。

HSPの3.7 の次のバージョン( 3.7.1 ?)で「 iOS版修正しました」とのお知らせがあるまでは、iOS版に関する作業はすこし待ったほうがよさそうです。

私のほうでも、次の新バージョンがでたら、自分の iOS開発環境(Xcode26.1)で動作テストして、その結果をこのページに追記する予定です。

 

 

 

 

 

11月22日 追記:とりあえずメモ

Info.plist 関連

Info.plist はただのテキスト(.xml)なので自分で追加や編集することができます。 Xcodeで開くと リスト形式で表示されますが、テキストエディタで開けばテキスト状態で編集できます。

とりあえず参考になりそうなサイト:

最近のXcodeのInfo.plistを手動で追加する作業手順 2024

Xcode で info.plist のプロパティを追加する

↑ Xcode上で Info.plist をリスト形式で表示した状態でどれでもよいのでリスト上の「キー(一行)」の上で右クリックするとサブメニューで「 Add Row 」などのキー追加メニューが選べると思います。(失敗しても削除すればもとにもどせます)

検索は
「 ios開発 info.plist 」 など

最新環境で開発する場合は、HSP3のことはとりあえずよこにおいておいて、
まずその最新環境の「まっさら」の状態で、
一からプロジェクトを新規作成して、
シングルビュウの画面だけ表示されるアプリを作ってみる。
そうすると、その最新環境での標準的な開発中ファイル構成(フォルダ構成)のかたちが判る。
新規作成の初期状態でできる info.plist ファイルに含まれている項目(キー)や、それの初期値(デフォルト状態)がわかるので、
それをお手本、手がかりにして、
いま自分の手元にある  
HSP3Dish Helper が 生成した hspproj に含まれている info.plist と比較して修正してみるのもよいかも。
——

開発中アイコン画像について いろいろ変わってきてます

むかし、Xcode上では、1つ絵柄のアイコンでも「解像度がちがう・ピクセルサイズがちがう」たくさんのアイコンを開発者自身が用意して
Assets の AppIcon 登録する必要がありましたが、
現在は、大きなサイズ一つ登録する(Single Size)だけでも自動生成されるようになりました。(従来のやりかたでもOK)

とりあえず参考になりそうなサイト:

Xcode14~時代のAppアイコン

 Apple 公式の解説
Configuring your app icon using an asset catalog

Xcode は アイコン類を asset catalog という構成で管理していますが、
現在の HSP3Dish Helper が 吐き出す
hspproj が 最新の iOS開発フォルダ構成のかたちに合致しているかは不明です。


ただ、プログラム本体と関係ない部分なので、自分で手作業で設定すれば直せる部分だとも思います

iOS 26 から全体のデザイン方針が新しくなった( 「Liquid Glass」)
こともあり、こういうツールの使用も推奨されています
・Apple公式 アイコン生成ツール
 Icon Composer




HSP3Dish バージョン3.7 とそのサンプルを使用して、iOS版アプリ変換テストをしたときにメモをのこしておきます


前提条件:

HSP3Dishで作成したアプリのiOS版変換を行うには、
WindowsパソコンとMac パソコンの両方を持っている必要があります。

Windowsパソコン上で、変換プログラム『 HSP3Dish Helper 』を実行する必要があります。
Macパソコン上で、『 XCode 』を起動してコンパイル(ビルド)と、
iPhone実機端末(またはシミュレータ)へインストールを行う必要があります。

また、事前に Apple の開発者登録を行っておく必要があります
→ 公式 Apple Developer Program


HSP3公式の手順説明

⭐️ HSP3Dish iOS版プログラミングガイド
  正式 3.7バージョン対応 2025年版 


私(用賀じゅんちゃんおじさん)が書いた掲示板スレッド

⭐️ HSP公式掲示板 書き込み
↑ 変換時のヒントになることが書かれています


そのほかの前提:

⭐️ 現在 iOS版アプリを開発する Mac は、 Appleシリコンチップ搭載「 M シリーズ (ARMベースのCPU)」以降のマシンが必要です。 2020年以前の Intel Mac では 最新の macOS が提供されず、最新の XCode をインストールして開発することができません。(ふるいMacで開発を考えている人は注意)
iPhoneも6年経つと、最新の iOS が提供されなくなるので注意。

⭐️ もともと HSP3は Windows用のプログラムを開発するために生まれていて、互換性をたいせつにしながらバージョンアップを経ているので、かなりふるいWindowsマシン上であっても、HSP3アプリは動作することが多いです。
( 2025年現在の最新は Windows 11 ですが、Windows 7 でも十分動きます。)
しかし、プログラムのなかで呼び出されている機能によっては動作しないアプリも存在します。
また、開発中や、アプリの起動中に必要になる ランタイム、DLLファイル、を別途用意しなくてはいけない場合もあります。



<この部分は作成途中です…>

とりあえずヒントや手がかりになるキャプチャ画像とメモを置いておきます

・XCode でビルド実行するには、画面左上の ▶️ 再生ボタンのような右向き三角形アイコンを押します。 ↓

・↑ エラーが存在してビルドできないと、赤い色のマークが表示されます。その赤色の丸をクリックすると、エラーが発生していて修正する必要のある箇所を含む編集画面が表示されます

・iOSアプリ変換と直接関係はないのですが、最初にエラーがでる可能性が高いのは、Signing&Capabilities の項目

・↑ Apple の開発者登録が完了していれば、
「 Automatically manage signing 」✅
 のチェックボックスをオンにすることで大丈夫だと思います。

 とりあえず自分のiPhone(またはiPad)にインストールするだけなら、Bundle Identifier は何でも大丈夫(空欄でも起動できた)だと思います。
いちおう、

net.onionsoft.block3

jp.jboysoft.test01

みたいな文字列が妥当


・Macの画面に「codesignがキーチェーンに含まれる◯◯へアクセスしようとしています」というアラートが表示されたら「許可」を押します。



・ 実機端末へ開発中アプリをインストールできないときは:

 MacとiPhone(またはiPad)をケーブルでつなげているのになぜか認識しなくて「接続していない」と表示される場合は、WiFi経由で MacとiPhone を接続して、開発中アプリを実機端末へインストールすることも可能です。

参考になりそうな記事:
XcodeでiPhoneをワイヤレスでデバッグする


開発対象となる iOS のバージョン

・XCode の画面左のフォルダ構成一番上のプロジェクトアイコンを選ぶと、右画面に表示される「Info」設定画面で「Deployment Target」が選べます。
いま開発中のプログラムの対象 iOSバージョンが選べます。

いま現在(例・2025年現在)いちばん多くのユーザーが使っている iOSのバージョンが含まれるようにすると、たくさんのユーザーにそのアプリが使ってもらえます。

ユーザーは、そのターゲットに指定したバージョン以上の新しいiOSがはいっている端末で、そのアプリが使用できます。

ターゲットのバージョンが古すぎると、エラーがたくさんでます。
また、そのバージョンよりも後年に登場したiOSの新機能は使えません。
また、むかしは iOS に搭載されていたけれども廃止になった当時の特定の機能を呼び出していたりすると、その部分のプログラムの修正が必要になります。

ターゲットのバージョンが新すぎると、最新の端末以外のユーザーはそのアプリが使用できません。


・XCode のバージョンによってはこの説明画面とすこし異なる部分があると思います


iOS版インストール実験結果

HSP3.7正式版フルセットに含まれているサンプル
block3.hsp (ブロック崩しゲーム)
をWindowsマシン上で変換して、
Mac へもっていって、そこから XCode を使って、
iPad へインストールし、動作することが確認できました。

※ ただしいくつか問題点あり

検証テスト継続中です 10月30日現在

iOS版アプリ化 問題点 不具合

2025年10月 現在

⭐️ 文字メッセージ(mes)がiOSアプリ画面上で表示されない
 ↓
 エラーにはならず。文字が見えない?
 関連情報と現時点での解決策
 HSP3公式掲示板の話題:スレッド
 『 HSP3Dish(HSP3.6)(iOS)Xcode12.4でビルドしたアプリの文字が消えます』

HSP3.7公式版でも発生する

⭐️ 外部ファイル(画像など)の読み込みがうまくいかない?
  確認中
 ↓
 ビルドは成功するが、
 Error 13–>内部エラーが発生しました(13)
 が表示される

👇

⭐️ 「 mes命令の文字が表示されない問題 」も、
「 画像ファイルが見つからない問題 」も、
変換後の hspsource.cpp の
PushStr で、文字列リテラルを直接 char型 に変換しようとしてるのが
非推奨になってる(deprecatedされてる)のが原因なのかも…??

変換に失敗して なかみが Null になる。nil ではないので XCode のビルド自体は成功するけど、
メッセージ文章も外部ファイル名も Null なので なにも表示されないし、読み込みたいファイルも名称が合ってないので読めていない
みたいな…?


十分な検証をしていないので、確信はありません。
開発に使用している XCode のバージョン
ターゲットにしている iOS の バージョン
使用している 端末実機の世代と
そこにインストールされているiOSのバージョン
使用している Mac のプロセッサ
などの組み合わせも、関係している可能性が高いです。


Mac本体のチップが
ふるい Intel
新しいARM系Apple Silicon(Mシリーズ)
の問題の可能性も。(当方特有の環境問題の可能性)

使用している HSP は 3.7正式版です。
2025年9月に公開された 3.7正式版も今後マイナーアップデート・バージョンアップがあるはずなので、試す時は最新版を使用したほうが良いです。
HSP3本体だけでなく、 変換ツール HSP3Dish Helper もアップデートされる可能性があります。

ライフサイクルの話

iOSアプリ開発時に「ライフサイクル」という用語がでてきます。
簡単に言うと、アプリの状態変化(遷移)です。

そのときに呼び出されるデリゲートをオーバーライド(処理追記)することで、
アプリの状態変化が起きたタイミングで任意の独自処理が実行できます。

(↓以降、ちょっとむずかしく感じると思うので、さらっとながめるだけで大丈夫です)
—–
注意:
 2025年現在 標準的となっている Swift での開発と、C系(Objective-C + UIKit Framework クラス)では、この「ライフサイクル」も違う部分があります。
(これまでの iOS バージョンアップの歴史でもすこしずつ仕様やデリゲートが呼ばれる順序=発生のタイミングの変更がありました)

また、Scene (UI画面=場面の構築と管理の方法)を使うかどうか、でも「ライフサイクル」が異なります。
さらに 今後 2026年の Swift での開発には、UIScene 使用時の SceneDelegate.swift の実装が 必須要件 になったようです  ◆ 参考→
—–

全体像をつかむための参考

 ◆ iOSアプリの基本構造
  ↑ 全体をながめるだけで全部理解しなくて大丈夫です

  ◆ SwiftUIでアプリのライフサイクルイベントを監視する方法
  ↑ 状態変化時によばれる主要なイベント(Swift開発の場合)

 ⭐️ ◆ iOSのライフサイクルについて
  ↑ iOS 12 以前と iOS 13 以降をわけて解説してくれているので、今回の HSP製iOS版には参考にしやすいかも

↑  ( HSP製 iOS 版の参考になるように すこし古い情報を紹介しています。丁寧にネット検索すればもっと良い情報が見つかるかもしれません。)

話を HSP3Dish の iOS 版 開発にもどします。

HSP3Dish Helper で変換した hspproj を開くと、
さいしょから AppDelegate.m というファイルが存在します。
そのなかにすでに書いてある

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
 // ここに独自処理を追加できる
}

が、UIApplicationのデリゲートメソッドの一つで、つまり、ライフサイクルの変化発生時に呼ばれる、実行したい独自処理を書き込む場所になります。

↑ 英語を読むとわかりやすくそのまま書いてあり
「アプリが起動してそれが起動完了した直後タイミングでほかにやりたいこと、があればここに書いて実行」
できます。
例えば、ゲームの前回遊んだ途中の状態を自動的に読み込んで再開してあげれば、ユーザーがわざわざセーブデータのロードをメニューで選ぶ必要がありません。

上記方法以外にも、NotificationCenter にイベント通知登録をしておいて、そのイベントが発生したタイミングで別の場所に書いた処理を実行させることも可能です。


この記事はのちほど、修正、追記する予定です


開発のヒント

2025年現在、iOSアプリ開発の標準は Swift という言語になっています。
XCode で開発するときも、 Swift で開発するときと、それ以外の言語のときと、プロジェクトのファイル構成など一見したみためからして異なります。

HSP3Dish から変換したプログラムで iOSアプリ開発するときは、
「 Objective-C をつかったiOSアプリ開発 」に近いスタイルになります。

開発ヒントになる参考サイトや、ふるいアプリ開発書籍をさがすときは
「 Objective-C iOSアプリ開発 」という言葉でさがすと良いかもしれません。
Objective-C での開発には 「 C言語 」をまぜて使うこともできます。
( Objective-C と Swift が混在したプログラミングも可能ですが複雑になります。)

Objective-C時代の開発 や UIKit について知りたい場合は、10年くらいまえの書籍やサイトを参考にすると多くの情報が見つかります。

例:
 ◆ iPhoneアプリ開発の虎の巻
  ↑ むかしは多くのアプリ開発者から参照されていた優良サイトですが、内容がふるくなっているのであくまで「参考」としてながめてください。
メソッドの多くは同等のものや類似のものが現在のiOS上でも使用できますが、書式が変更されていたり、新しいメソッドに置き換えられていたりします。
XCode には、古い書式で書くと XCode が それを指摘して自動的に置き換えてくれたり、修正のアドバイスをしてくれる親切機能が搭載されています。

参考: ◆ 意図せずObjective-C を読まなければいけなくなった Swift エンジニアへ贈る Objective-C読み方まとめ

⭐️ 2025年現在、最新の iOSのアプリを Objective-C で開発する話を解説したり情報発信してくれているサイトは少ないので、良いサイトがあったら情報およせください(公式HSP掲示板などで。)


実際のところ:

HSP3Dishで作成したアプリのiOS版変換を行うのは、実際のところ、iOSアプリの開発経験( XCode の使用経験 )がまったく無いと、難易度が高いです。

現実的には、
まず、ご自身のMacに XCode をインストールして、
「iOSアプリ開発」
で検索してでてきたいちばん簡単な入門書籍を読むか、
いちばん簡単な初心者用サイトを見ながら、
もっともシンプルなiOSアプリを作ってみて、 XCode の概要を知って慣れてから、
HSP3Dish製のiOS版変換に挑戦するとスムーズにすすめることができると思います


実際に HSP3Dish は iOS上で動くのか?

⭐️ HSP3公式サイトの HSP3Dish 紹介ページ

↑ 公式サイトの写真を見れば一目瞭然で、
昔は「ブロック崩し block3.hsp 」は iPhone 実機上で正しく動作していて、メッセージテキスト「GAME OVER」も表示されているのが見えます。
( 30ピンドックコネクタなので iPhone 4 くらいの時代。2011年頃?
 実際、 Arue さん開発の iPhoneゲームアプリ も Apple公式 App Store で配信され人気になっている実績があります)

⭐️ HSP3公式掲示板でも、以前のバージョンで iOS 上で正しく動作している報告があります

2021年10月22日 Shige さんの投稿

同じことをHSP3.5+macOS:High Sierra 10.13.6+xcode:9.2でやると、問題なく
動いて、文字も消えません。

追記: 2025年最新の Xcode26 + iOS 26 の組み合わせでも、HSP3Dish の iOS版は正常動作しているようです


そのほか iOS版アプリ公開方法

iOS版アプリの公開(不特定多数への一般公開)の手段はこれまでは
Apple公式ストア「 App Store 」の審査を経て公開するのが唯一の方法(例外あり)でしたが、
今後は日本でも「代替ストア」とよばれるサービスが開始されるようです。

iPhone向け代替アプリストア「AltStore PAL」が日本・オーストラリア・ブラジルで2025年後半にサービス開始予定 2025年10月報道

サードパーティーiOSアプリストア「AltStore PAL」はどのようにして生まれたのか? 2024年5月報道

AltStore PALでアプリを配信してみる

追記 2025年11月:
ゲーム業界は「スマホ新法」でどう変わる? アプリの課金方式が変わるかもしれない2025年12月以降の動向を,弁護士に解説してもらった


このほか、開発者が自分自身で XCode から iPhoneなど開発用に登録された端末へ開発中アプリ(未審査)をインストールして、学校の教室や文化祭、イベントや内輪のプレゼンテーションで披露したりすることは可能です。(ただし一定期間するとアプリが起動しなくなります)

そのほか、企業が社内の社員やスタッフ限定で使うアプリなどは、別途ビジネス系の契約をすることで独自アプリの小規模な限定配信を行うこともできます。
(業務報告アプリや在庫、現場、人材、会計管理などを目的とした社内で使う営業用アプリなど)

自分自身が開発したプログラム(ソースコード)を受け渡したり、公開することは可能です。
HSP3Dish で 開発したスクリプト。または、変換後の hspsource.cpp


Android版アプリは、いわゆる「野良アプリ」と呼ばれる、開発者が自由に開発したアプリを、ユーザーが自由に端末にインストールすることが可能ですが、
iOS版アプリは、これが不可能です。これをするためには Apple が公式には認めていない「 脱獄」(ジェイルブレイク)とよばれる端末改造が必要になるため、通常はおすすめできません。


HSP3DishアプリをiOS版へ変換するときのおぼえがき