忍者ブログ
[3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


だんだんとアプリリリースの間隔が広がってまずいと思っているこのごろ。
やっと新しいアプリのリリースが出来ました。
しかも、今回は2つ同時にリリース。

これは、2つでセットのつもりで開発したものなので、2つ同時リリースは当然と思っている。

そこで、今回初めて、アプリ申請時にアプリ公開日(Availability Date)の指定を初めて行った。
アプリの承認までの期間はまちまちであるし、片方だけリジェクトを食らう事もあり得る。
これらの事で、公開日に少し余裕をもって設定して申請を行った。

すると、予想以上に早く2つ共、承認された。

先月リリースしたアプリが、審査に1週間ほどかかったので、今回は、5月6日に申請を行い、公開日を16日に設定。
1週間+αでこの日に設定。
2、3日前に承認されればそのまま放置しようと思っていたのだが、予想以上に早く今日承認された。
今までで最速の約4日での承認となった。

普段なら早く承認されてよかった出終わるのだが、今回は、公開日を指定している。
このままでは、1週間近く承認されたままでリリース待ちになってしまう。

そこで、承認後に公開日の変更を行った。
以外に簡単な手順でリリース完了した。

手順は以下
・iTunes connectのアプリの管理画面に入る
・右側のボタンの「Rights and Pricing」を押す
・公開日や価格の設定画面になるので、各項目を選択し、「save」を押す

これだけで直に公開された。

申請時にはこの事を知らなかったので、公開日を微妙な日に指定していた。
こんな単純に変更できるので、公開日を指定する場合は、十分な余裕を持った日を指定した方がよい事が分かった。

拍手[1回]

PR

先月書いたcoredataありの時のフィル共有の追加メモ。

前回書いた分へのリンク

前回の最後に書いていた「バージョンアップでファイル共有に対応する」部分についてとりあえず対応が出来た。
やった事は、ものすごく単純な方法で問題なさそうであった。

手順として、以下のようにした。
1.データベースファイルの保存場所が、共有される場所にあるかのチェック
2.ファイルがある場合には、別の場所にファイル移動

当たり前の事をしただけだった。

実際のソースは以下のようにした。

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
    if (_persistentStoreCoordinator != nil) {
        return _persistentStoreCoordinator;
    }
    
    NSURL *oldStoreURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Test.sqlite"];
    NSURL *storeURL = [NSURL fileURLWithPath: [[self applicationSupportDirectory] stringByAppendingPathComponent: @"Test.sqlite"]];
    NSFileManager* fileManager = [NSFileManager defaultManager];
    NSError *error = nil;
    NSString *oldString = [oldStoreURL path];
    NSString *newString = [storeURL path];

    if([fileManager fileExistsAtPath:oldString])
    {
        if (![fileManager moveItemAtPath:oldString toPath:newString error:&error]) {
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();
        }

        NSString *oldString2 = [oldString stringByAppendingString:@"-shm"];
        NSString *newString2 = [newString stringByAppendingString:@"-shm"];
        if (![fileManager moveItemAtPath:oldString2 toPath:newString2 error:&error]) {
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();
        }

        oldString2 = [oldString stringByAppendingString:@"-wal"];
        newString2 = [newString stringByAppendingString:@"-wal"];
        if (![fileManager moveItemAtPath:oldString2 toPath:newString2 error:&error]) {
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();
        }
    }

    _persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
    if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        abort();
    }    
    
    return _persistentStoreCoordinator;
}

「AppDelegate.m」を修正。
元々のファイルの保存先を指定して、ファイルの有無チェックを行い、ファイルがあった場合のみファイル移動を行う。
このとき、coredataのデータベースファイルの3つを全て移動対象にする。

たったこれだけの、単純な実装ですんでよかった。


拍手[0回]


iOSのバージョンアップが公開されましたね。
早速アップデート実行するのだが、前回のアップデートで失敗して、面倒な事になったのを忘れて、そのまま、Macにつないで実行しまった。

アップデート中に、ここ数日ちょっと、このブログのアクセス履歴を見れていなかったのでチェックする。

すると、iPadアップデート失敗の時の記事に数回のアクセス履歴が・・・

ここで前回の失敗を思い出す。

まずいなぁ〜と思いながら進行状況を見ているとやはり失敗。

またしても、Windowsマシンを引っ張りだす。
既に、サポートが終わってるXPだが、仕方なくこれを使って復旧しなければいけない。

OSのアップデートは、頻繁にある訳ではないので、また、次の時にも忘れて同じ事をしてしまいそうだ。

※追記
前回のブログ記事はここ
一応、ここにも復旧に何が必要であったかを簡単に書いておく。
MacのiTunesからアップデートを行うと失敗してしまう。(この時点でリカバリモード)
その状態からでも、WindowsのiTunesを使ってリカバリの実行。
リカバリ後に、バックアップからデータの復旧を行う。
なぜか、Macを使うと失敗してしまう。
この現象は、いまいちマイナーなのか、情報が少ないようなだ。

拍手[0回]


iOSアプリでは、iTunesを利用してPCとファイル共有する事が出来る。
当然、開発時に設定を行う事で、この機能が使えるアプリを作成する事が出来る。

まずは、この共有方法から。

これは、すごく簡単で、「XXXX-Info.plist」のファイルにKeyを1つだけ追加する事で可能となる。
Keyに「Application supports iTunes file sharing」を追加して、これを「YES」に変更するだけでファイル共有が可能になる。

さて、ここからが今回のタイトルのお話。

上記の手順でファイル共有を有効にすると、iTunesの「App」のタブにあるファいつ共有の部分にアプリが追加される。
しかし、このアプリがcoredataを使用しているアプリであれば、共有されているファイル一覧の中に、データベースのsqliteファイルが見える。

これは、何かと面倒な事が発生する可能性が高いため、見えないようにする必要がある。
その方法として、sqliteファイルの置き場所を変える方法があるらしい。
保村先として妥当な箇所等も含め調べた所、「/Library/Application Support」がよいらしい。

今回、そのまま解説してあるページがあったので、そこを参考にした。
参考ページ

基本的にここに書かれているソースをそのまま使用する事で、問題なく動作した。
(自分の場合、分かりやすくしたかったので、メソッド化した。)

今回開発中のアプリに関しては、これで、問題なく対応する事が出来たのだが、既にリリースしたアプリで問題になるかもしれない。
それは、coredataを使用したアプリなのだが、今の所、ファイル共有を有効にしていない。
その為、データベースの保存先の変更も行っていない。

バージョンアップで、ファイル共有を有効にする事を考えているので、その場合、どのように管理するのか考える必要がある。
直に対応する訳ではないので、じっくり考えて試しながら対応を行っていく予定。

これに関して、よい対応が出来た時には、ここに残したい。

拍手[0回]


ちょっと間が空いてしまったが、新規のアプリ「Marking Map」を追加しました。

個人的には、1月に1つ位のペースでアプリをリリースしていきたいと思っていたのだが、少し時間がかかってしまった。
そのため3月にリリースが間に合わなかった。
次は、今月中にリリースしたいものだ。

そもそも、時間がかかってしまった理由に、どこまで作り込むかで、だんだんときりがなくなってしまった事がある。
メインの機能部分に関しては、1〜2週間前にある程度できていたのだが、これならば、こんな機能もあった方がいいと思い、追加していった為に時間がかかってしまった。
本当は、まだいくつかの機能を入れたかったのだが、リリースを優先して、いくつかの機能を実装前にリリースしてしまった。
バージョンアップで、残りの機能を追加していこうと思っている。

このアプリに限らず、こんな機能があるといいと思う事があれば、ここのコメントや、HPのCONTACTからコメントしていただけると対応したいと思っている。

今回は、有料のバージョンも考えているので、残りの部分に関しては、じっくり作り込んでいこうと思っている。

拍手[0回]


前のページ      次のページ

リリース済みアプリ

Silmuvide


PseudoRPT


うつすと!


ChronologyMaker


LASI


3行日記


単位計算機


Marking Map Plus


交通費管理


交通費計算リスト


Markin Map


SheepSleepSheep


RootCalculator


元号変換


PieChart


MeasureShooting


SimpleMapCreator



Applivのレビュー記事
http://app-liv.jp/713163900/

ゆびてんじ


PR



Copyright ©   marble seijin の開発日記   All Rights Reserved
Design by MMIT simple_plain Powered by NINJA TOOLS
忍者ブログ [PR]