個人アプリ開発者を引退する時が来た

 

終わった。

 

とうとう自分のアプリが売れなくなってきた。

完全に気持ちが切れた。

諦めました。

 

 

目標としていた億万長者にはなれなかった。

個人アプリで稼いだ金額は7,000万円。

リタイアするにはちょっと足りない。

 

 

思い返してみると

アプリ開発は自分の性分にあっていた。

 

 

新しいアプリを企画して、

プログラム書いて、

人気が出て、

ランキングに載って、

銀行にお金が振り込まれる、

このサイクルは楽しかった。

 

 

今までやってきた仕事の中で最も充実してた。

遊びと仕事の境界線がなくなるというのを実感できた。

 

 

アップルさんありがとう。

Googleさんありがとう。

サイバーエージェントさんありがとう。

auさんsoftbankさんありがとう。

ADNWの方々、お疲れさまでした&ありがとう。

叱咤激励してくれたユーザの皆さんありがとう。

 

皆さんのおかげで信じられないくらい良い夢を見れました。

 

 

この業界は引退するけど、人生はまだまだ続く。

また、別の道で復活できるようがんばろうと思う。

 

 

とりあえず、収入はないと不安なので就職できるところを探す。

就職・・・できる気がしないけど。

 

 

 

Watchアプリが起動できない時の確認項目

 

AppleWatchアプリを作っている。

単純な構成のアプリであればXcodeがうまくやってくれるのだが、

少し複雑な構成になってくると手動でやる必要があって色々ややこしい。

 

のでまとめる。

 

 

今回やりたいこと

 

ひとつのXcodeプロジェクトを次のような構成にしたい。

  1. アプリを2つ含む。
  2. 各アプリはWatchアプリを持つ。

 

 

ウォッチアプリを作成するためには

TARGETとしてWatchAppWatchExtensionが必要なので、

結果としてTARGETは次の6つになる。

 

f:id:hatesatekite:20190101185242p:plain

 

 

 

TARGETを複製等して6つ用意したら、TARGETBundleIdentifierを注意深く設定。

 

これで動くと思ったら大間違い笑

ここからが本番

 

 

1. 各Appが正しいWatchを参照してるか確認

  • 各App > Build Phases > Target Dependencies
  • 各App > Build Phases > Embed Watch Content

 

f:id:hatesatekite:20190101185216p:plain

 

 

 

2. 各Watchが正しいExtensionを参照してるか確認

  • Watch > Build Phases > Target Dependencies
  • Watch > Build Phases > Embed App Extensions

 

f:id:hatesatekite:20190101185230p:plain

 

 

 

3. 各Watchが正しいAppを参照してるか確認

  • Watch > Info > WatchOS Target Properties > WKCompanionAppBundleIdentifier

 

f:id:hatesatekite:20190101185310p:plain

 

 

 

4. 最後に各WatchExtensionのプロパティを確認

  • 各Extension > Info > WatchOS Target Properties > NSExtension > NSExtensionAttributes > WKAppBundleIdentifier

 

f:id:hatesatekite:20190101185258p:plain

 

 

 

これでビルドは通った。

実行すると・・・ランタイムでInterfaceControllerインスタンス化に失敗

[SPRemoteInterface createViewController:className:properties:contextID:info:gestureDescriptions:clientIdentifier:]:2910: Critical failure. Simulating crash: Condition failed:"NO". Couldn't instantiate class _TtC15watchExtensionA19InterfaceController

 

 

 

 

目を皿のようにして設定を探したら・・・あった。

  • Watchターゲット > BuildSetting > Default Module

このプロパティはXcodeが自動設定してくれないので手入力でExtensionを指定してあげよう。

 

 

 

 

 

しかしdocomoは金払いが悪い。ausoftbankを見習うべきと思う。 

 

 

 

 

 

 

個人アプリ開発者がふるさと納税する時の限度額について

 

2018年も終わりますが、最後に賢く節税したい。

そんな時はふるさと納税を利用しましょう。 

 

 

ふるさと納税を行えば、寄付額の30パーセント相当の返礼品がゲットできるのだ。

ただし、寄付の限度額は人により異なる。

基本的には納税額の高い人ほどたくさん寄付できるしくみ。

 

 

限度額を知るには

会社員の場合は簡単。限度額を調べるサイトがたくさんあるので。

だが自営業者の場合は情報が少ない。会社員とは計算が異なるんです。

こちらのサイトに計算方法が書いてあるぞ。

 

zuuonline.com

 

 

計算してみた

自分の場合、今年は33万円寄付できることがわかった。

まだ18万円しか寄付してないので、今夜あと10万くらい一気にいこう。

 

 

ざっと見た感じ、楽天市場が4パーセント還元。

さとふるが10%のギフト券還元。

せっかくの権利だから利用しよ。

 

 

 

 

 

 

 

 

 

個人アプリ開発者がふるさと納税して・・・の続報

 

昨年、平成29年度の確定申告でふるさと納税をしたのでブログを書いた。

 

hatesatekite.hatenablog.com

 

ふるさと納税では、所得税住民税が減額されることになっている。

所得税がちゃんと減額されたかどうかは、確定申告時にわかる。

でも、住民税もちゃーんと減額されたかどうかを知りたいよ!

 

 

ってことで調べてみました。

 

 

必要な書類は

「平成30年度 市民税・都民税納税通知書(口座振替・年金特徴者用)」

です!

役所から送られてきます。

(市町村によってフォーマットが異なるかも知れません)

 

f:id:hatesatekite:20181220184326j:plain

ふるさと納税

この中の「課税所得内訳書」を見ると「寄附金税額控除」ってのがありました。

市民税、都民税に別れて記載されてますね。

 

自分の場合、市民税が58,881円、都民税が39,254円の控除でした。

合計すると98,135円。

 

寄付した金額は150,000円

前年度の所得税からは49,900円が減額されていました。

ってことは、49,900+98,135→148,035円

2000円が手数料ということなので、誤差は35円。

きっちり戻ってきてました!

 

 

おまけ

ちなみに返礼品としてタダでゲットしたのはこんな感じです。

- 馬刺し

- モツ鍋

- おせち

- 牡丹海老

- 帆立

- カラスミ

- 焼酎

- 鳥刺し

- すっぽん

- ふぐ

 

あ、タダではなかった。2000円でゲットの間違いでした。

酒呑みですみません。

 

 

 

 

Xcode10.1 にしたら Carthage がupdateできなくなった件

 

いつものように Carthage update --platform iOS したら

こんなエラーが発生。

 

Could not find any available simulators for iOS

 

 

対処法

単純だけど Carthage を最新にしたら解決した。

 

brew update

brew upgrade carthage

 

XcodeをGM版にしたらビルド通らないケース

 

Xcode10GM がリリースされたので公式からインストールした。

GMでビルドしたアプリはAppStoreに提出できるため、今後はこれがメインとなる。

 ( Xcode9.4.1も消してない状態 )

 

ビルド失敗

さて、Xcode10GM でプロジェクトをビルドするとエラーが発生した。

Module compiled with Swift 4.1.2 cannot be imported by the Swift 4.2

Carthage が生成したFrameworkがダメらしい。

 

 

解決方法

Xcode10GM のメニュー

Xcode -> Preferences -> Locationsタブ -> Command Line Tools

f:id:hatesatekite:20180915091418p:plain

この値を適切に変更してあげる。

そして再度 carthage update する。

こうすることで正しいFramework が生成される。

 

Carthage によるビルドはターミナルでupdateした時に行われるからってことか。

複数のXcodeが共存する状態では過去のものを指してることが多いことが原因。

Xcodeを並行利用する場合は要確認ですね。

 

 

 

Gradle ではgoogleを先にロードせよって話

 

 

Android Studio でGradleビルドが通らなくなった。

Could not find bundletool.jar (com.android.tools.build:bundletool:0.1.0-alpha01). 

 

 

 

解決法

gradleレポジトリの読み込み順の問題だった。

jcenter より googleレポジトリを先に読めばOK

repositories {
    google()
    jcenter()  //Googleの後に!
}