--- title: "ゲームをiosに分離する" slug: "aicard" date: "2025-10-28" tags: ["ue"] draft: false --- unreal engineで開発しているゲームの話です。ios buildでハマった部分がかなり多かったので紹介。 ゲーム自体は、カードとアクションを分けることにしました。 カードというのは道具ボックスのようなものです。これに関するゲームをiosでもできるようにする、という方向で作り直しています。 iosのゲーム機能はシンプルにカードを引く、集める、アカウント連携の3つです。 最初にカードをタップするとランダムでカードを取得します。1日1回を予定しています。課金要素では例えば、月額と単発があり、月額は3,000円、単発は150円を想定。 アカウント連携は、ローカルデータをatprotoのアカウントにセーブする機能のみ。 以上となります。後に機能を拡張していく予定です。 カード自体は本作のキャラクターを強化するものとしても使用することを想定しています。 ## buildが失敗する これは無料アカウントでは難しいです。apple devに年会費を払いましょう。 ```sh:./Config/DeafaultEngine.ini [/Script/IOSRuntimeSettings.IOSRuntimeSettings] BundleDisplayName=Aicard BundleIdentifier=ai.syui.card IOSTeamID=xxx BundleName=ai.syui.card MetalLanguageVersion=9 MinimumiOSVersion=IOS_26 bAutomaticSigning=True RemoteNotificationsSupported=False bSupportsPortraitOrientation=True bSupportsLandscapeLeftOrientation=False bSupportsLandscapeRightOrientation=False [/Script/MacTargetPlatform.XcodeProjectSettings] CodeSigningTeam=xxx bUseModernXcode=true bUseAutomaticCodeSigning=true BundleIdentifier=ai.syui.card ``` ## iconが設定できない project-rootに`./Build/IOS/Resources/Assets.xcassets`を用意します。これはxcodeから持ってきます。build実行時に作られます。 ![](/img/ue_ios_aicard_0001.png) ## 画面をモバイルにあわせる これが一番時間がかかりました。buildして実機で確認する必要があるからです。 真ん中だけ全体化したうえで、それを上下メニューバーに合わせます。 ![](/img/ue_ios_aicard_0004.png) ![](/img/ue_ios_aicard_0005.png) ![](/img/ue_ios_aicard_0003.png) ## widgetのリスト化 これも相当面倒でした。`json`からリストを取得して、それを表示します。 クラス設定で`UserObjectListEntry`を追加し、それを使用します。