Visual Studioで「iOS 配布」がグレー表示のため配布用の証明書が作成できない問題が解決した
概要
- .NET MAUIで開発中のiOS版アプリをアドホック配布しようとすると、Visual Studioで「iOS 配布」がグレー表示のため配布用の証明書が作成できなく、困りました
- その問題が解決出来たので、書き残します
経緯
- どのような手順で作成したかは忘れてしまいましたが、アドホック用の証明書を作成できていて、配布も出来ていました
- Macを新調したことで、Xcodeは14.2から16になり、ついでにWindowsも再インストールしたのでMAUIワークロードも最新にしました
- すると、概要に書いた通りiOSの配布を行うための証明書をVisual Studioで作ることができない
- Visual Studio>ツール>オプション>Xamarin
- ロールが「ACCOUNT_HOLDER」になっているせいか、「iOS 開発」は選択できても「iOS 配布」がグレー表示で選択できない
- そのため、Visual Studioから配布用の証明書を作成できない
- ロールが「ACCOUNT_HOLDER」になっているせいか、「iOS 開発」は選択できても「iOS 配布」がグレー表示で選択できない
- Visual Studio>ツール>オプション>Xamarin
- そこで、Apple Developerサイトで「Apple Distribution」の証明書を作成したが、それを使っても解決しない
- 作成した証明書は「キーチェーン内にありません」とビルドエラーが出る
解決
- Apple Developerサイトで「iOS Distribution」の証明書を作成すると、ビルドも通り、配布も成功した
- 配布ファイルを作る際の「Ad Hoc」ボタンを押した後に、「iPhone Distribution」を選択するのを忘れないこと
手順
略称 | 説明 |
---|---|
[Mac] | Macでの手順 |
[VS] | Visual Studioでの手順 |
[AD] | Apple Developerサイトでの手順 |
- CSRファイルの作成
- 証明書(Certificates)の作成
- プロビジョニング(Profiles)の作成
- [AD] 「Ad Hoc」で作成し、先ほど作った証明書を選択しておく
- プロビジョニングのダウンロード
- 配布ファイル作成
- [VS] 署名IDの選択肢で「iPhone Distribution」を選択する(手動プロビジョニングにしているから?)
- [VS] 署名IDの選択肢で「iPhone Distribution」を選択する(手動プロビジョニングにしているから?)
以上
.NET MAUIで開発中のiOS版アプリをデバッグ実行するとMacへのインストールに失敗する
.NET MAUIでアプリを開発していて、Visual StudioからiOS版をデバッグ実行すると当該アプリをMacにインストールしようとしますが、
インストールできませんでした。 Failed to install the app 'XXXXX' on the device 'iOS 17.2 (21C62) - iPhone 15': simctl returned exit code 22
のようなダイアログが表示されて、実行できません。
ネットで検索しても「CFBundleVersionの記述が原因」とかしか出てきません。
原因を調べようがないため、アプリのプロジェクトを最初から作り直したところ、インストールに成功して実行することが出来ました。
原因は、独自に追加したリソースファイル(appsettings.json)のプロパティ設定で、「出力ディレクトリにコピー」を「常にコピーする」にしていたのが原因だったようです。デフォルト状態の「コピーしない」に戻すと正常動作しました。
恐らく、出力ディレクトリにコピーする設定のファイルが1つでもあるとインストールに失敗するのでしょう。
ちなみに、「コピーしない」でもリソースファイルは読み込めました。
留守番電話サービスを使わずに docomo iPhone で留守番電話
2024年10月28日 更新
以下の通知があり、この方法は使えなくなります。
しかし、iPhoneのOSにライブ留守番電話が実装されたので、そちらで我慢。
有料の留守番電話サービスを契約せずにiPhoneで留守番電話機能を使いたかったのですが、こちらに書かれた方法で望んだ通りに実現出来ました。
ドコモでも月額基本料無料の留守番電話を実現http://god-support.blogspot.jp/2012/12/fusion-ip-phone-smart.html
転送している間の通話料が掛かりますが、それ以外はデータ通信だけなので希望通りです。
ちなみに、記録された伝言メッセージは、
- wav形式
- 22秒間で393KBのファイルサイズ
でした。
iPhoneで再生出来ます。ただし端末下部のスピーカーから音が出ます。
イヤホンを刺せばイヤホンのみから音が出ます。
iPhoneで着信した時の挙動は次のようです。
着信→スリープボタン(音量ボタンでもOK)押す→着信音が消えるがコールは続く
→もう一度スリープボタン押す→転送が始まる
着信中にボタンを押さなければ、転送電話サービスで設定した秒数が経過した後に転送が始まります。