頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


macOSアプリでSave Asができない

最近、macOSアプリ(リリース目的ではなく自分専用だけど)を作ろうかなと勉強してる。

ざっと調べるとドキュメント・ベース・アプリケーションなるものがあって、それでエディターっぽいのを作るのがHello Worldみたいなもんらしい。知らんけど。

プロジェクトでDoc Base Appにチェック

↑プロジェクトの新規作成時に Create Document-Based Application にチェックすれば必要なクラスのサブクラスとか用意してくれる。

storyboardのviewに Text View を貼り付けてやる。
Documentクラス(NSDocumentのサブクラス、Xcodeが作ってくれてる)にすでにある以下のメソッドに必要な処理を書けば、ファイルの読み込み、保存ができる。

- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError;
- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError;


ところが、どういうわけか Save as ができない。

storyboardではSave As

↑storyboard上だとSave Asになってるのに、

実行時はDuplicate

↑実行時にはDuplicateになってる。



なんぞや?と調べた結果、アプリのTarget設定のCapabilitiesってところにApp SandboxってのがあってここのFile accessがデフォでRead Onlyになってる。

Read Onlyを変更する

ここをRead/Writeに変えたら期待通りDuplicateじゃなくSave Asになり、処理もできるようになった。そういうことだったのね、、、



macOS Sierra 10.12.6(ええ、まだSierraですねん)
Xcode 9.0.1

<< サイズの合わない窓用エアコンを取り付けた  TopPage  Depth APIで部屋の奥の方を消してみた >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/1098-ccd1043f




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad