Book01

  • 01
  • Book01の特徴

トミ爺は84歳、現役のアプリ開発者です。

シニアにプログラミングを普及する活動をしています。シニアを対象に書きましたので、全く経験のないプログラミング初体験のひとでも理解できるようにしました。易しく、はしょらず、アプリのリリースができるように、充実した内容にしました。"Swift"という言葉を知らない若いひとでも、開発ができるアプリ開発副読本です。

趣味と実益を兼ねてiPhoneアプリを開発して世界中に売りましょう

 Apple社は個人の開発者が作ったアプリでも世界中に売ってくれます。手数料はたったの30%年間登録料約1万円だけです。無料アプリでもGoogleの広告で収益を上げることもできます。

2019年秋、アプリ開発が劇的に変わりました

 SwiftUIというソフトがリリースされました。この日を待っていました。かなり自動化され、開発が非常に易しくなりました。その新しいソフトのことも、この本で易しく紹介しています。  この本を座右に置いて、Macコンピューターを準備すれば、全く経験のないひとでもアプリ開発ができます。 2冊目の「SwiftUIを試した、凄い、面白い」 副題:「トミ爺の挑戦でわかったこと」も出版しました。このサイトのBook02をご参照ください。

挫折を防ぐ当面知らなくてよい知識

 この本では余分な知識は覚えなくてもよいと解説しています。初心者にはこれは重要なことと経験上断言できます。例えばXcodeの編集画面の名前などは覚えなくともアプリをリリースできるのです。

88本の関係ウェブサイトを紹介しました

 トミ爺がやっと探し当てたウェブサイトを88本選んで、この本に載せました。裏表紙にQRコードを印刷して、ウェブサイトの一覧表に飛べるように工夫しました。本を読みながらiPhoneで関係ウェブサイトを見ることができます。

商業アプリでは実現できない個人のアプリを作ろう

 アプリの内容はあなたのアイデア次第。「上司のいない、納期も督促されない商業アプリでは実現できない個人のアプリ」を開発しませんか。あなたの作品を世界中のひとに瞬時に販売できる機会はアプリ開発以外、なかなか見当たりません。「私はアプリ開発者」という誇りは長生きの秘訣です。

  • 02
  • 目次

 

はじめに                                    1
第1章 挫折予防の開発前知識と知恵      11

1. iPhoneアプリの開発をスタートする前の基礎知識 11

  1. iPhoneとは? アンドロイドとは? OSとは? アプリとは?
  2. iPhone、iPad、アンドロイド用アプリの位置づけ
  3. アップル社のアプリ販売網と個人のアプリ開発者の立場 
  4. アプリの多言語化
  5. アップル社の審査
  6. アプリ開発者の収益
  7. コンピューターと開発ソフト
  8. Macを新調するひとへ
  9. アップル社の会員登録

2. 挫折するものと言われて来たがトミ爺の意見 18

  1. トミ爺には全く経験がなかった 18
  2. 「それを最初から知っていたら」という事柄が多い 19
  3. 2016年と2019年では事情が変わった 20
  4. 本格的な学校に行かなくともリリースはできる 20

 

3. 挫折を防ぐ当面知らなくてもよい知識 21

  1. Xcode画面の名前は覚える必要なし 21
  2. クラス、インスタンス、プロパティ、構造体を知らなくてもリリースできた 21
  3. オプショナル・ラップ・アンラップ・!・? いまだに? ? 21
  4. 仕様書なんて書いたことがない! 21
  5. Playgroundはセミナーでは見たけれど・・・ 22
  6. 「Swiftコーディング規約」について          22

 

4. 初心者がつまずく問題箇所 22

  1. 開発のベテランさんも全ては知らない 22
  2. アプリ開発における検索の重要性 23
  3. エラー発生原因はあなたが悪いとは限らない 23
  4. Swiftなどのバージョンアップによる不具合 24
  5. クリーン、再起動、DerivedDataの削除 24
  6. アップル社審査基準 25
  7. 挫折を防ぐ道 26

 

5. 教科書 26

  1. 行き詰まると本が買いたくなる 26
  2. 「これからつくるiPhoneアプリ開発入門」 27
  3. 「世界一受けたいiPhoneアプリ開発の授業」 27
  4. 「Xcode5 徹底解説」 27
  5. 「詳解Swift」と「Swift実践入門」 27
  6. 「Swiftポケットリファレンス」 27
  7. 「Xcode時短開発テクニック」 27
  8. 「リーダブルコード」 28
  9. *「SwiftUI実践入門」 *28

6. サイト上の情報と電子書籍 28

  1. 動画サイト 28
  2. 質疑サイト 28
  3. サイト上の加藤英輝著 Swift初歩の電子書籍 29
  4. 豪徳寺 謙さんのサイト上教科書(無料) 29
  5. ウェブプログラミングポータルSwift入門編 30
  6. 英語有料サイト教科書”Server-Side-Swift” 30
  7. Apple社公式解説とWWDC 30

7. 勉強会 31

  1. 勉強会を教えるサイト 31
  2. シニアプログラミングもくもく会渋谷 31
  3. Swiftビギナーズ倶楽部 32
  4. Swift愛好会 32
  5. Swift in Yokohama 32
  6. Tokyo UppersBoost 32
  7. Tokyo iOS Meetup 32
  8. iOS馬場 33
  9. Cocoa勉強会 関東 33

第2章 iOSアプリ開発の副知識      34

1. アプリ開発までの大きな流れ            34

2. 開発道具”Xcode”と”Swift”の動かし方       37

  1. アップル社のXcodeとSwiftのダウンロード 37
  2. Xcodeの編集画面 38
  3. Xcodeのボタン 40
  4. 画像、ビデオ、音源などの取り込み 42
  5. ストーリーボードとコードの関係 43
  6. ストーリーボードとインターフェイスビルダーの関係 45
  7. ストーリーボードの画面構成と部品類の導入 46
  8. ボタンなどの部品とコードを結ぶ作業 47
  9. フレームワーク機能の設定 49
  10. 広告など外部からのフレームワークの取込 50
  11. シミュレーターの操作で画面機能の確認 50
  12. 実機の接続と機能確認 51
  13. デバッグ機能 51
  14. Xcodeによるアップル社へのファイル送付 52
  15. *SwiftUIiOSによりアプリ開発が様変わりする!

3. エラーの発生と対処方法              56

  1. Xcode上での「状況説明」と道しるべ的「ガイド」である 56
  2. エラーの種類 57
  3. エラー対処手段とデバッグ機能 59
  4. 初心者がよく遭遇するエラーと対応方法 60

4. デバッグというエラーの原因を見つける仕掛け     62

  1. Xcodeでのデバッグ機能とは 62
  2. 簡単なprint機能
  3. デバッグエリアに現れる英文の見方 63
  4. 一対にすべき括弧{} とエラー同時多発対策

5. 開発進行記録と管理方法                 64

  1. Xcode作業の混乱 64
  2. Xcodeファイルの圧縮による保存 64
  3. Source Controlを有効にする方法 65
  4. Source Control 66
  5. GitHub(ギットハブ)への登録 66
  6. サンプルコードをGitHub で探す

6. アプリに使う画像                  67

  1. Xcodeに取り込む画像の規定 67
  2. Macの「プレビュー」は画像のサイズを変えられる 69
  3. パワーポイントやキーノートの画像処理機能 69
  4. Pixelmatorという画像処理ソフト 69
  5. QRコードを生成するサイトサービス 70

7. アプリと動画                    70

  1. アプリに直接動画を載せる方法 70
  2. ウェブサイトに動画を載せてアプリで見に行く方法 70
  3. トミ爺の動画制作 71
  4. Apple社への申請時に登録する動画 72

8. アイコンについての知識と知恵            72

  1. アイコンの作り方 72
  2. サイズに関する規定 72
  3. サイズを自動生成する方法 72
  4. Xcodeへのインストール方法 73

9. AutoLayout                                       73

  1. AutoLayoutの概要 73
  2. AutoLayoutの適用方法 73
  3. AutoLayoutの部品をグループ化するStackの使い方 74

10 ローカリゼーション(多言語化)           74

  1. 概要 74
  2. Xcode上での多言語化作業 75
  3. アイコンのローカリゼーション 75
  4. ストーリーボードのローカリゼーション 76
  5. 文字(text)のローカリゼーション
  6. 画像(image 77)のローカリゼーション

11 広告 77

  1. AdMob広告の事前準備 77
  2. GoogleAdMobバナー広告を貼る方法 78

12 アップル社への申請                 79

  1. 申請までの流れ 79
  2. App Store Connectでの申請開始と留意点 79
  3. 申請時の動画とスクリーンショットサイズ 81
  4. スクリーンショットや動画ファイルのフォルダ管理 81
  5. TestFlightでベータ版テスト 82
  6. 申請時に要求されるPrivacy Policyの記載方法

第3章 トミ爺がひねり出した知恵        83

1 アプリ開発で覚えた知恵                83

  1. ショートカット 83
  2. 単語登録をアプリ開発に応用 83
  3. コメントアウトによる注書き 84
  4. コメントアウトによる一時しのぎ 84
  5. hoge(ホゲ)fuga 85(フーガ)を知っていますか?
  6. iPhoneアプリ開発の虎の巻 85
  7. 他で制作したXcode を開く時の注意
  8. nfo.plistについてあれこれ 86
  9. TableView 87
  10. アプリの構想とアイデア 88
  11. 自分が開発したアプリのバージョンアップ 88
  12. 売れるアプリとマーケティング 89

2. サイト検索の方法                   89

  1. 開発作業上検索の意義とベテランの検索 89
  2. Swift関係でGoogleのヒットが激増している 90
  3. 検索に現れる主なサイトとその特徴 90
  4. 効率のよい検索と前提となる設定の仕方 92
  5. 英文検索について 93
  6. 画像による検索 93

3. ファイル命名の重要性とトミ爺の提案          93

  1. Xcode作業には数多くのファイル命名が伴う  93
  2. 英文コードの中で命名と命令を区別する 94
  3. 命名すべきコードは大体分類できる 94
  4. サンプルコードを流用する場合の留意点 94
  5. 命名のルール 95
  6. アッパーキャメルケース: 95
  7. ローワーキャメルケース: 95
  8. トミ爺の命名手法と提案 95

4. 質疑サイトteratailへの質問の仕方           96

  1. 独習者には非常に有効な無料Q&Aサイト 96
  2. 米国Q&AのStackOverflowとの違い 96
  3. teratailへの質問の書き方 97
  4. 公共性と留意すべき事項 97

おわりに                                                   98


注:

  1. *はSwiftUIについて追記したところです。アンダーラインもつけています。
  2. 【○○さんのサイト】⇨「テーマ」
    http・・・URL・・・
    というフォーマットで参照したウェブサイトを表示しています。
    参照した88本のウェブサイトはトミ爺のウェブサイト上で一覧表に表示して、裏表紙のQRコードで読み取ることができます。
    【トミ爺の技術書典7サイト】⇨「ウェブサイト一覧表」
    http://tomzyapp.com/gijutsushoten/qrcode.html です。