
こんにちは!Popoです。
こんな方へのお勧めの記事です。
- Swift言語を難しいと感じている方!
Swift言語でiOSアプリケーションを作成してみたいと思っている方で、障壁になってることて何だろうと考えてみました。
Swift言語を覚えるのであれば、書籍も出ていますし学習サイト、学校といった物も利用できます。
環境的には問題はないのかなぁと感じています。
では、どこが問題なのでしょうか。考えてみました。
Swift言語を覚える事の障壁。
- 日本語が少なく、英語が多い。
- 原因のわからないエラーが多い。
- iOS Developer ProGram契約にお金がかかる。
- 証明書関係の設定が複雑。

Swift言語が難しいという事ではなく、開発作業をする上での問題点が多いという事ですね。
他にも原因をいくつか出してみましたが、大きい原因としては上記の4つと考えています。
日本語が少なく、英語が多い


とにかく英語で書かれている事が多い。



何を言っているかわからないです?
こういう方多いのではないでしょうか。
ではどう言った点で壁になっているのでしょうか。
XCODEのメニューが英語!
昔、Xcode3.0以前の時代はXcodeのメニューは日本語になっていましたが、それ以降は英語に変わってしまいました。
当時もこの変更でiOSアプリ開発を諦めた方て多いと思っています。
わかりやすい英語であれば大体何のメニューか判断はできますが、それ以外は翻訳をしないと判断は難しいですね。





私もメニューを覚えるだけで大変な苦労をした記憶があります。あきらめかけたましたね!
日本語で表記してあれば、だいたい何のメニューなのか判断できると思います。
メニューに慣れていないので、Xcodeの操作だけで時間を取られてしまいます。



やってられないなぁ!
と!諦めてしまう方!多いと思います。
「Xcodeが英語!」で慣れることが大変と感じている方!多いのではないでしょうか?


関係サイトが英語が多い!
Swiftはまだ日本語のサイトが多い方だと思っています。
でも、情報が少ない内容の場合日本語サイトでは情報が入手できない場合があります。
その場合、海外の方のサイトをから情報を入手しなければなりません。
下記のようなサイト!よく見かけると思います。


英語がいっぱいで見るのも嫌になります。


開発作業をしていると、「訳のわからないエラー」という事象に出会ったりもします。
エラーメッセージだけではわからないので、ネットで調べてみても日本語のサイトではあまり情報が出てきません。



結構、こんな事あります
必然と英語のサイトも調査しなければいけなくなってきます。



英語!つらいなぁ
英語が得意な方は良いのですが、大半の方は辛いですよね!私も辛いです!
技術サポートも英語!
開発を行っいるといくら調査しても原因がつかめないエラーというものに出くわします。
行き詰った場合に頼りになるのはテクニカルサポートです。
Appleサイトの「サポート」ページの下記から、メールで調査依頼を行います。


iOS Developer Programのサイトに飛びますので、「コードレベルのサポート」を選択します。


下記に英語のメールで調査依頼を入力してメール送信する必要があります。



また、英語ですか。。。。


iOS Developer Programを契約していれば、年2回まで無料で利用できます。
原因のわからないエラーが多い


下記のようなエラーが出て何が悪いのか直ぐにわかる方は少ないと思います。


感じている方も多いと思いますが、こういったわけのわからないエラーが発生する事が多いんです。
他にも、iOSやXcodeのバージョンがアップした影響で突然エラーが発生したり。
今まで発生していなかったタイミングでエラーが発生し、エラーメッセージの英語を翻訳しても内容が良くわからないといったエラーが多いと思います。
上記エラーは翻訳をしてみると、証明書関係でエラーになっている事が何となくわかります。


調べても情報がない
上記のエラー内容を、ググってみると!


Qittaの日本語のサイトがあるので、そのサイト閲覧して記事に従って対処を行ってみますがエラーは消えません。
それ以降の日本語サイトも参考に対処を行っていきますが、どうも私のエラーでは当てはまらずエラーは消えません。
必然的に英語のサイトも色々見て対象を試してみることになります。



う~ん!またまた英語ですか!!
日本語サイトでエラーが解消されなければ、英語サイトもかたっぱしから探す必要がでてきます。
iOS Developer Program契約にお金がかかる


「iOS Developer Program」とは、Swiftなどで作成したiOSアプリなどをApp Storeに公開することができるようになるApple公式のメンバーシップです。
加入することで作成したアプリの配信が可能になります。
それだけではなく加入しないと使用できない開発ツールやアプリの分析、一般公開前の最新のAppleテクノロジーを利用する機会も与えられます。
この「iOS Developer Program」は無料ではありません。
現時点では年間99米ドルが必要になります。約1万4千円~1万5千円ほどかかります。


やっぱり、自分のアプリをApp Storeに配信したり、実機でアプリを動作させたりしたくなりますよね!
この料金に躊躇されてる方が多いのではないかと思っています。
証明書関係の設定が複雑


証明書関係で悩まれている初心者の方て多いのではないでしょうか。ここで諦めてしまう方多いと思います。
サイトなどを色々閲覧して独学で覚えていくというもの、なかなか辛いと思います。
私も初めは理解するのに時間がかかりました。
App Storeへ配信したい、実機でアプリをインストールしたい
iOS Developer Programの下記メニューから証明書をアップロードして、それぞれプロファイルを作成します。


「App Storeへ配信したい」のであれば、Distributionのプロファイルを、「実機でアプリをインストールしたい」のであればDevelopmentのプロファイルを作成します。
はじめの方にとっては、この作業なかなか大変だと思います。
下記がプロファイルの種類ですが、



どれを選択すればいいの?
となってしまうと思います😓


プッシュ通知機能を使いたい
プッシュ通知の証明書も理解しずらいのではないかと思っています。
IdentifiersでBundle Identifyを選択して下記画面で証明書の設定を行います。




設定した証明書をキーチェーンに設定、プッシュ通知送信アプリケーション側でも使用します。
この手順も結構複雑で初心者の方にとっては大変な作業だと思います。



とてもできないよ!!
問題点の対処方法


これらの問題をどうすれば対処できるのでしょうか。
web翻訳を利用する
まずは英語をなんとかしたいですよね!
最近はweb翻訳の質がよくなり!



翻訳しても日本語がわからない😭
そんな事はほとんどなくなりました。
とりあえず翻訳をして日本語に変換しエラーの内容を把握する事が先決です。
例えばこのエラー!


先ほどもお話ししましたが、「no code signature found」を翻訳してみると、「コード署名が見つかりません」という翻訳になります。



う~ん。証明書関係の問題だな!
証明書に関係する箇所を調査していくことになります。
大体ではありますが、調査の糸口がわかりますよね!
何をすればいいかわからないという事態は防ぐことができます。
諦めずに徹底的に調べる



あ~!もう大変だからあきらめた!
これでは、すべてが終わってしまいます。
「疲れたなぁ」と感じたら、自分の集中力が出るまで休憩をしてみてください。
改めて問題に向き合ってみると閃きも出てきます!
諦めずに調査を継続してみてください。
私の経験上、ほとんどは解決できました。
どうしてもわからない問題は、Apple Developerテクニカルサポートへメールを送り、解決の糸口を見つけてもらいましょう。


頭で考えずに、実際にやってみる
「頭で考えずに、実際にやってみる」これは非常に重要です。
色々なサイト調査して、記事を読んでいるだけでは解決しません。
とりあえず、書いてある事を実際にやってみましょう。
やっている中で解決する場合もありますし、考えていた原因とは別の原因かもしれないという気づきもあります。
まとめ:英語に慣れてみよう!


Swift言語が難しいと感じている方へ、言語ではなく開発をしていく上での問題点をお話ししました。
開発していく上での問題点。
- 日本語が少なく、英語が多い
- 原因のわからないエラーが多い
- iOS Developer Program契約にお金がかかる
- 証明書関係の設定が複雑
Swift言語については勉強して行けば理解できると思います。
開発をしてく上での障壁が問題ではないかと感じています。
その対処方法として下記を上げました。
- web翻訳を利用する
- 諦めずに徹底的に調べる
- 頭で考えずに、実際にやってみる
つまり、英語の克服と諦めない事が重要です。
英語のサイトは、調査を継続する事でだんだん慣れてきます。
慣れてくると「嫌だなぁ!」と思う感情もだんだんと薄れてきます。
英語への違和感が無くなってきます。
また、根気強く調査を継続していれば、自然と諦めない姿勢が身についてきます。
「自分てこんなに根気強かったかなぁ」と感じるくらいです。



壁にぶち当たっている方は是非参考にしてほしいですね!
それではまた!