Pep's Diary

いろんなことを共有していきたいと思います。たまに持論を言います

【swift】 info.plistをコードで編集する方法

f:id:ghosthug:20170320041412p:plain

 

info.plistを右クリック → Open As → Source Code

プログラミングの勉強の始め方。

今回は、プログラミングの勉強の始め方について考えていきたいと思います。

プログラミングにはすごい興味があってやりたい。でも何からやればいいかわからない、という状態の人が少なくないと思います。そこで、今回は、僕の経験を踏まえて、個人的に、挫折しにくいプログラミングの勉強の手順を、皆さんに共有していきたいと思います。

手順1 作りたいものを決める。

まずはこれがないと、なんの言語をすればいいの?という羽目になります。将来のことを考えて自分がやりたいことと違うことを選ぶ場合もありますが、プログラミング言語は1つを習得すると、結構他の言語は、ぽん、ぽんと、理解できるようになります。また、将来に繋げるつもりなら尚更、自分のやりたいこと、作りたいものを作っていける言語の方が、結局は未来の幸せにつながります。

手順2 勉強する言語を決める

次に、手順1で決めた、作りたいものにあう言語を決めて、勉強していきましょう。

一応参考のために、すごいざっくりした言語の説明をしておきます。もっと知りたい場合は、他のサイトや本などを参考にしてみてください

・html、cssjavascript

 webアプリ(twitterとかfacebookなどのいろいろできるwebサイト)、webサイトの見た目(フロントと呼ぶ)を作るための言語

・swift

 iPhoneアプリを作るための言語

Java

 Androidアプリを作るための言語

rubyPythonPHP、その他

 webアプリや、携帯アプリ(iPhone,Android)の通信の処理をするための言語

 

また、webサイトを作るhtml、cssjavascriptで携帯アプリを作るハイブリッド型という方法もあるので、自分がやりたいことができる言語を選んでください。

手順3 選んだ言語を勉強する

次に、先ほど選んだ言語を勉強していく段階になります。勉強の方法は何十通りもあると思いますが、ここでは僕の経験も踏まえて、一つの手順で説明したいと思います

言語の勉強その1 Progateやドットインストールをする

思い切ってお金を払ってProgateに登録して、勉強する。Progateとは、日本の学生たちが作成したプログラミング学習サイトなのですが、これが本当にわかりやすくて、やっっててすごく楽しい教材です。未だにProgateで挫折した人を僕はみたことありません。有料会員の場合は、月額980円なのですが、自分の人生の投資と考えれば、高い値段ではありません。初めてプログラミングを勉強する方にはうってつけだと思うので、ぜひ挑戦してみてください。

 

(それでもお金がない方へ、、、それでもお金がない人は、ドットインストールをやりましょう。ほとんどが無料で、動画を見ながら進めていく感じになるのですが、基礎的なことはほとんどマスターできます。しかし、動画のスピードが早かったり、環境構築がよくわからなかったりして、挫折する人は多いです。もちろんいい教材なので、軽く勉強したい時にはものすごい便利です。)

言語の勉強その2 本で勉強する

その言語についての本を買いましょう!

やっぱり、Progateや、ドットインストールでは学びきれないことはたくさんありますので、一冊自分のバイブルとなる本を買っちゃいましょう。そして、手を動かしながら、その本を読破しましょう。この手順をするだけで、その言語の奥深さを知り、そして自身がつきます!

言語の勉強その3 実際に作って見る

ここでついに、最初に作りたいと思っていたものを作っていきましょう!実際作っていくと、本で習ったことだけではうまくいかないことが何度も、何度も、何度も、出てきます。聞かぬは一生の恥、聞くは一瞬の恥。そういう場合は、迷わず、ググりましょう!!。しかし、大体のことは1回では解決しません。そいう時は、またまた根気強く、ググり続けましょう。時には、海外のサイトに飛んだりするのもありです。どうしてもわからなかった時は、周りのすごい方にそっとLINEしましょう。いない場合は、図書館に行って、いろいろ模索しましょう。それでも無理なら、諦めて、別のやり方を考えるしかないかもしれません。要は根気が大事だと思います。あとやっぱりググり力です!!

手順4 後はひたすら作り続ける

手順3を終えた段階では、作りたかったものはできたけど、まだちょっとそのプログラミング言語について理解できていないなぁと思っていると思います。しかし後は、何度も何度もプログラムを書いて慣れるしかありません。そして、時には過去に買った本を見返したり、新しい本を買ったりして、もう一度、理論的なところを見つめ直して見てください。そうすることで、プログラミングスキルを着実に身につけていけると思います。

まとめ

プログラミングは本当に難しいと思います。僕自身も何度も挫折しかけたし、挫折した人を何度も見てきました。ですが、作りたいものが出来上がった時の喜びは何にも変えられません。ぜひこの手順を参考にしてプログラミングの勉強をしてみてください!

 

【ホウレンソウ】コミュニケーション能力がない人が就職できないたった一つの理由

改めて、コミュニケーションができない人たちの、何がそんなに良くないのかを考えました。そうするうちに一つの答えに辿りつきました。それは、彼らはホウレンソウができないということです。

ホウレンソウとは

ホウレンソウとは「報告・連絡・相談」の頭文字をとってできた言葉です。決して野菜のほうれん草のことではありません。ビジネスマナーとしてよく聞く言葉となります。

ホウレンソウができない人の具体例

報告の例

上司に言われた期限までに間に合わない!。。。。ギリギリまで黙っておこう。

連絡の例

そういえば、明日2階のトイレが使えないって掃除のおばちゃんが言ってたなぁ。まぁわざわざ言う必要もないか。

相談の例

Aの用事はお得意さんの用事だけど、Bの用事が先に入ってたからそっちを先にやるべきかなぁ。相談するのもあれだし、Bの用事を先にするか。

 

このようにコミュニケーション能力が低いことによって、彼らは極力会話をしないようにします。これの最も致命的なところは、他の人に迷惑をかける可能性があるのです。それがお客さんだったり、会社の人だったりは様々ですが、はっきりいってそういう人が一人いるだけで、その人にタスクを振り辛くもなりますし、周りの人はかなり苦労します。そして、そのことを一流企業の人たちはみんな知っています。だから、みんな積極的な発言だったり、コミュニケーション能力を見るのではないでしょうか。

UIBarButtonItemの画像のサイズ

ナビゲーションバー、ツールバー

20 x 20

40 x 40(Retina用。ファイル名に@2xをつける)

タブバー

30 x 30

60 x 60(Retina用。ファイル名に@2xをつける)

 

参考

http://qiita.com/k-yama/items/8003b71c272c3327a856#%E3%83%8A%E3%83%93%E3%82%B2%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%90%E3%83%BC%E3%83%84%E3%83%BC%E3%83%AB%E3%83%90%E3%83%BC%E3%82%BF%E3%83%96%E3%83%90%E3%83%BC%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E7%94%BB%E5%83%8F%E3%82%B5%E3%82%A4%E3%82%BA

UIBarButtonItemが画像を使った時に黒く塗りつぶされる時の対処法

UIBarButtonItemに自作画像を使おうとすると、黒や白などで、塗りつぶされる。

 

 

f:id:ghosthug:20170315174514p:plain

f:id:ghosthug:20170315174511p:plain

 

iOS7以降は、基本的にUIBarButtonItemは、tintColorと同じ色で塗りつぶされるらしい。

tintColorを透明にしても、画像自体が消えてしまう。

 

解決方法は、画像を作成する時に、背景が透明な画像を用いる。

 

参考:http://qiita.com/marusa/items/425a01e76f1aae511679

【swift3】userDefautlsを使ってwidgetとアプリ間のデータの受け渡しの方法

userDefaultを使うには、AppGroupsというものを使う必要があります。

【手順1】Apple Member Centerで登録する

まずは、Apple Member Centerに行ってログインをして、左にある、Certificated,IDs &Profilesにいく

f:id:ghosthug:20170311191657p:plain

 

次にAppGroup

f:id:ghosthug:20170311192537p:plain

 

右上の+ボタンを押して

 

f:id:ghosthug:20170311192548p:plain

 

 

次に、App Groupの登録。このDescriptionはなんでもいいんじゃないかな。

下のIdentiferのところは、group.co.jp."自分のアプリ名"みたいな感じにするのがいいと思う。

できたら、continueを押して、サイトはもう使わないので閉じちゃおう。

f:id:ghosthug:20170311193805p:plain

【手順2】AppGroupをOnにする

プロジェクトファイルのCapabilitiesを選択する。

AppGroupをOnにする

f:id:ghosthug:20170311194138p:plain

f:id:ghosthug:20170311194157p:plain

 

【手順3】 UserDefaults.init(suiteName: "group.co.jp.test") を設定する

f:id:ghosthug:20170311195255p:plain

あとは、上のように、userDefaultsを生成するときに、

let userDefaults = UserDefaults.standard

の代わりに、

  var userDefaults = UserDefaults.init(suiteName: "group.co.jp.test")

WidgetのViewControllerの中と、使いたいアプリのビューコントローラーに書けばいける。

・注意点。Optional型になってしまうので、userDefautls?.set(〜

のように、?を入れる。

 

まとめ

思ってた以上にややこしかったけど、ぜひ参考にしてみてください

【iPhone is busy: Processing symbol files】実機テストの時のエラー

実機テストの際に、

iPhone is busy: Processing symbol files

 

が出たのですが、5分ほど待つと、普通に通りました。