Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
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へ変換可能なアプリ「アニメ画像に変換する君」をリリース」を参照ください。

nyamogera
フロントエンド周りをお仕事にしてます。ハムスターのことを一日考えて過ごすことが多いです。
http://nyamogera.net
ics
インタラクションデザイン専門のプロダクション。最先端のウェブテクノロジーを駆使し、オンスクリーンメディアの表現分野で活動しています。最新のウェブ技術を発信するサイト「ICS MEDIA」を運営。
https://ics.media/
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