Help us understand the problem. What is going on with this article?

Electronで作成したアプリに署名後、ファイルの保存が出来ない

More than 3 years have passed since last update.

ElectronアプリをMac App Storeに出した時のつまずきです。

署名後にファイルの保存が出来なくて悩みました。

plistにEntitlements(権限まわりのいろいろ)を指定する必要があります。
※ Entitlementsに指定できるもの → 「Enabling App Sandbox

ユーザーが選択したファイル・フォルダにしか読み書きの権限を与える例

parent.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    ... 省略 ...
    <key>com.apple.security.files.user-selected.read-write</key>
    <true/>
  </dict>
</plist>

今回のアプリは、「〇〇.png」と関連の「〇〇.html」と、複数のファイルを保存する実装になっていた。もともと「〇〇.png」というファイルを保存するダイアログを出して、保存名が決まった後にファイル名部分の拡張子を変えて別ファイルの保存を行うという処理を実装していたけれども、「〇〇.png」を保存した後、アクセス権限がない「〇〇.html」を保存しようとすると、エラーが発生してしまって出来なかった。

もしかしたら別の解決法はあったかも知れなかったけれども、ひとまず処理を変更して「〇〇.png」も「〇〇.html」も両方保存ダイアログを出すようにしました。

ちなみに、一時的なファイルを作成するためにテンポラリフォルダーに読み書きを行ったのだけど、ここの読み書きは特に許可してなくても大丈夫でした。

参考

[2016年3月時点]Mac用Electronバイナリに署名してApp Storeにアップするためのメモ - Qiita

おわりに

ElectronアプリをMac App Storeに出したときの手順をまとめました。「Electron製アプリ「アニメ画像に変換する君」をMac App Storeにリリース、アプリリリース時の手順まとめ - Qiita

また、今回リリースしたElectronアプリのインストール・使い方は記事「LINEアニメスタンプにも利用できる! APNGやWebPへ変換可能なアプリ「アニメ画像に変換する君」をリリース」を参照ください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした