iPhoneアプリ開発日記 -3ページ目

iPhoneアプリ開発日記

アプリ開発に関するいろいろな事

「しふと暦」1.1リリースしました!

今回のアップデートの内容は

· iPhone標準カレンダーに予定を追加できるようになりました。
· iPhone標準カレンダーの予定を編集・削除できるようになりました。
· その他バグフィックス。

です。

前の記事でもあるとおり今まではiPhone標準カレンダーの表示だけでしたが、予定の追加・編集・削除できるようになりました!実際この機能を追加してと要望もあったので、これで使い勝手もよくなったと思います。

今までは修正のためのアップデートばかりでしたが、やっと機能を追加してアップデートできました。

他にも追加して欲しい機能とか修正して欲しい所とかありましたら、お気軽に連絡ください!よろしくお願いします!

「しふと暦」はカレンダー画面でiPhone標準カレンダーの予定も表示できるが、追加や編集はできなかった。でもこれだと予定の追加・編集はいちいちiPhone標準カレンダーのアプリを起動しないといけないので不便だ。「しふと暦」からもiPhone標準カレンダーの予定を追加・編集・削除できるようにしたいと思い調べてみると、

EKEventViewController

EKEventEditViewController


というAppleではじめから用意しているViewControllerがあった。iPhone標準カレンダーのアプリでも使われているViewControllerだ。

実際使ってみるととても簡単で、インスタンス化したあとにいくつかのプロパティを設定。あとは終了時の処理をデリゲートで処理すればいい。

さっそくこれを「しふと暦」にも実装し、アップロードした。
次はどんな機能を実装しようかな~?
しふと暦」1.0.3がリリースされました!

今回のアップデート内容は
· iOS6以降でiPhone標準カレンダーの予定が表示されないのを修正。
· iOS6以降で祝日カレンダーが選択できないのを修正。
· その他バグフィックス。
です。

ダウンロードして頂いたユーザーの皆様にはご迷惑をおかけしました。
これからも「しふと暦」をよろしくお願いします。


本日「しふと暦」のアップデートファイルをアップロードしました。

変更点は前の記事でもあったように

  • iOS6以降でiPhone標準カレンダーの予定が表示されないのを修正。

  • iOS6以降で祝日カレンダーが選択できないのを修正。

  • その他バグフィックス。
    です。

    ただ今日は「アップロード」でAppleStoreにリリースされるのはAppleの審査にクリアしてからになります。だいたい審査には1~2週間かかりますし、審査でダメになる場合もあるのでその時は少し時間がかかるかもしれません。

    ユーザーの皆様にはご不便をおかけしてますが、もうしばらくお待ちいただけますようお願いします。




  • 他の記事でも書きましたが、iOS6以降からカレンダーデータにアクセスする仕方が変わったのでその変更点をメモ。

    iOS5まではEKEnentStoreをインスタンス化してそのクラスをとおしてカレンダーデータにアクセスすればよかった。だがiOS6以降からはユーザーにカレンダーデータにアクセスしてもよいか許可を得るメソッドを追加しないとカレンダーデータにアクセスできなくなった。

    そのメソッドがEKEventStoreクラスの
    requestAccessToEntityType:completion:
    というメソッド。

    Appleのリファレンスで確認してみるとこのメソッドは

    • 初回起動時にカレンダーデータにアクセスしてもよいかをユーザーに問うプロンプトを非同期で表示。
    • ユーザーが選択したあとは完了ハンドラやEKEventStoreChangedNotificationが呼ばれる。ユーザーがカレンダーデータアクセスに拒否する場合も考えてEKEventStoreが空の場合の処理もしておく。
    • プロンプトを出す前にカレンダーデータにアクセスした場合、一旦resetメソッドでリセットしないとカレンダーデータにアクセスできない。

    というようなことが書いてある。


    実際に今までのコードにrequestAccessToEntityType:completion:のメソッドを追加すると初回起動時にプロンプトが出てきて、許可するとちゃんとiPhone標準カレンダーの予定が表示された。
    また「設定」→「プライバシー」→「カレンダー」の欄にもアプリ名が表示され、ここをOFFにすると今度は表示されなくなった。EKEventStoreが空の場合の処理もちゃんと反映されている。

    意外と簡単に修正できてよかった。こんどからiOSアップデート時は気をつけないと。