本日2015年10月1日にアップルから届いたメールによると、日本の税法が変わったのでAppStoreの日本での売り上げ分について、日本の消費税法に照らし合わせて申告や納税が必要になるみたいです。
有料アプリやアプリ内課金がある物をリリースしている方は少額だとしても、一度税理士さんなどに相談したほうがいいでしょう。
本日2015年10月1日にアップルから届いたメールによると、日本の税法が変わったのでAppStoreの日本での売り上げ分について、日本の消費税法に照らし合わせて申告や納税が必要になるみたいです。
有料アプリやアプリ内課金がある物をリリースしている方は少額だとしても、一度税理士さんなどに相談したほうがいいでしょう。
iPhoneアプリを登録するときに必須なんだけど忘れがちな事をメモ。
(すべてではありません)
これ以外にアプリを作るときに必要なのは小さなアイコンと起動イメージ。
この方のライブラリが個人的には使いやすかったので紹介。
ライセンスはMIT。
ソース公開なので何かあっても自分でなんとかできるのがおすすめ。
素敵なライブラリをありがとうございます。
以前はここに書かれているサンプル通りで動いたのですが現在は動きません。
原因はKey-Value Coding (KVC)がうまく動かないため。
探し方が悪いらしく解決策を見つけられなかったので少し特殊な方法で解決しました。
もっといい方法があるよって方はお教えください。
問題はモデルクラスの作り方です。
サンプルでは
#import <Foundation/Foundation.h>
#import “TSSqlite.h”
@interface AppBook : TSModel
@property (retain,nonatomic) NSNumber *indexNo;
@property (retain,nonatomic) NSString *name;
@property (retain,nonatomic) NSString *author;
@property (retain,nonatomic) NSNumber *year;
@end
#import “AppBook.h”
@implementation AppBook
@dynamic indexNo;
@dynamic name;
@dynamic author;
@dynamic year;
@end
この様に定義するのですがこのままだと
AppBook *appBook;
NSLog(@”index=%i”, appBook.indexNo);
のように参照するとKVCが働かず、@dynamic indexNo;で作られたインスタンスを表示してしまいいつも0やnullになってしまいます。
これを次の様に継承定義すると一応使える様になるのでこれでごまかしていますw
#import <Foundation/Foundation.h>
#import “TSSqlite.h”
@interface OrgAppBook : TSModel
@property (retain,nonatomic) NSNumber *indexNo;
@property (retain,nonatomic) NSString *name;
@property (retain,nonatomic) NSString *author;
@property (retain,nonatomic) NSNumber *year;
@end
#import “OrgAppBook.h”
@implementation OrgAppBook
@dynamic indexNo;
@dynamic name;
@dynamic author;
@dynamic year;
@end
#import “OrgAppBook.h”
@interface AppBook : OrgAppBook
@end
#import “AppBook.h”
@implementation AppBook
@end
難しい定義には向かないけどCoreDataを使うほどではない場合に有効だと思います。
1Password Proというアプリで起きている問題なのですが自分の作ったアプリでも起きましたw
他にもいくつかのアプリで起きているのでiOS4.2.1のバグだと思われます。
とりあえず対処した方法をご紹介。
Interface Builder でUITextFieldのSecureチェックを外すだけ。
私のアプリ(女性向け予定表)ではテンキーパッドに隠れる位置にUITextFieldをおいて
– (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
このdelegateを使って一文字ずつチェックしながら黒丸を表示させているため、secureがなくても問題が無いので外しました。
エラーに関係すると思われる手順
1、[navigationController pushViewController: animated:]で画面を移す
2、secure付きUITextFieldで入力
3、NSUserDefaultsで値を追加、削除
4、[navigationController popViewControllerAnimated:];で画面を戻る
もし同様の問題で困っている方は参考まで。
2011.1.11追記
私がバグじゃないかと思ってるだけでAppleがバグと認めたわけではありませんのでご注意ください。何か仕様が変わって使い方を間違えてるだけかもしれません。
いつからかわかりませんが自分で作らなくてもXcodeが自動的に「Development Provisioning Profile」を作ってくれるようになりました。
In App Purchaseを使わないのであれば自動的にできたProfileでぜんぜん困らないのでそのまま使っていたのですが先日期限切れに。更新しようと「renew」を押そうとするのですが押せないし、Xcodeは不具合が起きたので問い合わせしろというし。
ですが、先ほどやっと解決。
期限切れになったProfileをiOS Provisioning Portalから削除してXcodeのオーガナイザでRefreshするだけ。
ちゃんとドキュメントを読めばどこかに書いてあるのだと思いますが同症状で困っている人が居るかもしれないので書いてみました。
いつの間にか4.2もそろそろリリースされるみたいだし、もう一台iPadがほしい今日この頃です。