質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

4回答

1796閲覧

あなたはアプリ開発の時どうやってメソッドなどを探してますか?

clo.momo

総合スコア27

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

4グッド

21クリップ

投稿2018/05/22 05:01

編集2018/05/22 05:28

初めてのアプリを作っています。
毎回同じ段階でつまづいてアプリを完成させることができません。
例えば、位置情報を使ったアプリの場合

  1. 「GPSで位置情報を取得して、目的地に近づいたら指定した音楽を鳴らしたい!」
  2. 現在地の位置情報を取得して変数に代入
  3. 目的の位置情報を取得して変数に代入
  4. 現在値の変数 - 目的地の変数が指定した値より小さくなった場合、音楽を再生
  5. ロジックが決まって、いざ作ろうとしても位置情報の取得方法がわからない! ⇐詰む
  6. このアプリ作るのムリ
  7. 他のアプリを作ろう

これの繰り返しです。
取得する方法がわからないから、何時間かけてもできっこない! と、思ってます

みなさんはどうやって「したいことを実現するための方法」を探しているのでしょうか?

recal, afroscript, yohhoy, mkt0225👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2018/05/22 05:14

なぜ「繰り返し」になるんでしょうか?5で止まったままにならないのですか?
clo.momo

2018/05/22 05:25

すみません。説明が下手でした。GPSの場合は5で止まったまま作れないから、他のアプリを作ろうとするけどまた5の段階で止まる、の繰り返しという意味でした。
guest

回答4

0

ベストアンサー

「GPSで位置情報を取得して、目的地に近づいたら指定した音楽を鳴らしたい!」

面白そうなアイデアですね!

自分だったらどうやるだろう?という視点で回答してみます。

  1. 現在地の位置情報を取得して変数に代入

とりあえず「swift 現在地の位置情報を取得して変数に代入」でググってみます。

ポイントは「ios」ではなく「swift」というキーワードを添えること。
「ios」だとiPhoneの使い方、みたいなHow toサイトが多くヒットしてしまいます。

iOS - 位置情報のデータを取得、変数に格納したい(21942)|teratail
https://teratail.com/questions/21942

お、それっぽいサイトが出てきたぞ。しかも teratail やないかーい。
とにかく読んで見ます。
この質問者は何かエラーで躓いているようだけど、

consoleに nowgps=nil 緯度=35.6585 経度=139.7013 と出力されます。

という文面から緯度経度は取得できていることがわかります。
さらに読み進めていくと LocationManager で位置情報が取れそうなことがわかります。

そのままコードを切り貼りしてビルドしてもエラーになるので、
都度エラーメッセージでググって直していく。
(ここはめげずにがんばる)

また、回答文から

【iOS Swift入門 #172】現在地の位置情報を取得する (サンプルあり)
http://swift-studying.com/blog/swift/?p=1078

のリンクが貼られているので、そちらも参考にします。

→エラーが取れた頃にようやく緯度経度が取得できるようになっているはずです。

  1. 目的の位置情報を取得して変数に代入

まず、目的の位置情報をどのように指定するのか考えます。
すでに公開されているアプリも参考にしてみます。

(きっと地図から目的地を選択させるアプリが多いハズ)

なので「swift 地図 中心座標 取得」あたりでググってみます。

[Ios] MapKit(Swift 2)から中心座標を取得し、UILabelで表示する
https://code.i-harness.com/ja/q/20c9186

それっぽいのが出てきました。
読んで見ると日本語がちょっとあやしいけど、

let center = myMap.centerCoordinate

で地図の中心点が取得できることがわかりました!

  1. 現在値の変数 - 目的地の変数が指定した値より小さくなった場合、音楽を再生

現在値の変数 - 目的地の変数

を計算したいけど、そのままだと計算できないぞ。こまった。

「swift 二点間 距離」でググってみる。

iOS/swiftで緯度・経度から2点間の距離を算出する - Qiita
https://qiita.com/ymiz/items/b00c4da44070a66c8445

なんか良さそうな記事がヒットしました。しかも安定の Qiita やん。

読んでいくと、どうやら distanceFromLocation なる 超絶便利な function が使えるっぽいぞ!
これで求めた値が、指定した値より小さくなったら音を再生すればよいのか!

「swift 音 再生」でググる。

みたいな感じです。

Swift はすぐに文法が変わるので、ネット上に書かれているソースコードをそのままコピペしてもまず動きません。
書籍も一緒です。1年前の内容はだいたいビルドできません。

でも安心してください。
Xcode さんが毎回エラーで教えてくれます。
エラーメッセージを疎かにしないでください。
大抵はエラーメッセージの中に答えが書かれています。

プログラミングに慣れないうちはいろいろとツラいことが多いと思いますが、
めげずにぜひ頑張ってみてください。
そのうちきっと楽しくなります。

投稿2018/05/22 07:05

koogawa

総合スコア494

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kakeiteiya

2018/05/22 07:20

自分も何個かwebやスマホアプリやらの開発に携わりましたが、やっぱりこういう感じで進めてます! できないときは誰かに聞く、誰もいないなら質問サイトで聞くという感じですね それでもできない場合は後回しにしてできそうな実装から先にやる、もしくは仕様の変更を考えるとか
clo.momo

2018/05/22 08:00

ありがとうございます!こんなに時間を使ってくれてホントに嬉しいです。 ひじょ〜〜〜〜〜に参考になりました! 「経験者がピンポイントでドキュメントやらリファレンスを1分で調べてることを何時間もかけて調べてるんじゃないか?」 とか思ってたけど、やっぱググれカスなんですね。
kakeiteiya

2018/05/22 08:03

経験増えればピンポイント率も上がったり、直感力が上がって少しの情報でも解決できたりとかはあるかもですねえ、、、 自分はまだそこまで行っていないですが。。。!
ozwk

2018/05/22 08:13

経験者が1分で調べがついているように思えるのは、前に似たようなことをやった「経験」があるので 未経験のときと比べて調べるべきことが少ないし、新しく調べる内容が予め検討ついているからです。
koogawa

2018/05/22 08:19

そうそう、だんだんググるのも上手くなっていくんですよねw
clo.momo

2018/05/22 12:59

なるほど、非常に参考になります。
guest

0

ググってもダメ、質問してもダメ、ならば!

公式ドキュメントを読もう

Introduction to View Programming Guide for Cocoa

この辺からどうぞ。
チラっと見ただけでもCocoa Event Handling Guideなんてのがありますし。

‥いや、本当は最初に読むべきなんですけどね。

投稿2018/05/22 08:09

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazto

2018/05/22 08:14

特に若者に顕著なんですが、英語のドキュメントを英語だからという理由だけで敬遠してしまってなかなか本質にたどりつけない、というのはよくありますよね。(←老害脳)
fuzzball

2018/05/22 08:22

エラーメッセージすら読もうとしないのですからドキュメントに至っては‥。 まぁ私もエラーメッセージくらいは読みますが、英語のドキュメントはめったに読まないですねw
clo.momo

2018/05/22 12:57

公式ドキュメントって素晴らしい!!! google翻訳使えば問題なく読めました!エラーも読めましたよ。 問題は、公式ドキュメントにも一切ないのってないってことはswiftで作るなってことなんですかね。
guest

0

ぐぐる。
これに尽きます

投稿2018/05/22 05:03

y_waiwai

総合スコア87749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

King_of_Flies

2018/05/22 05:05

ググってわからないパターンもありますが、 その時は自分の実力がまだそれに手を付ける 段階ではないってことになりますね。 もっと基礎を抑えるとか簡単なことから始めるとか。 調べて理解できるなら、実装もできると思いますが。
clo.momo

2018/05/22 05:42

ぼくもそう思って、基礎を学ぶことから始めました。 ところが、やりたいことを実現するための方法を解説しているところがググってもでてきません。 でてこないからその方法を身につけることができない、向上しない。停滞。行き詰まってます。 こういう書籍はぼくの目的に合っているでしょうか? [改訂新版]Swiftポケットリファレンス
y_waiwai

2018/05/22 05:48

ぐぐってもでてこない、と言うなら勉強しましょう。 いろんな資料を読みあさり、書籍を購入し、ベンダに問い合わせる、当たり前にあなたが今までやってきたことを、当たり前に実行するだけです
clo.momo

2018/05/22 08:02

経験の積み方は間違ってないからあとは情報を集めろ!ってことですね。 非常に参考になりました。 ありがとうございました。
__sn

2018/05/23 07:38

初心者に安直にググれ。というのは案内も何もない何十万冊もある図書館から特定の本を探せ。というものではないでしょうか?
y_waiwai

2018/05/23 07:47

しかし、ぐぐらないことにはなにも始まりませんぜ。 少なくとも私は、ぐぐることでいろんな言語を覚え、ぐぐることでいろんな知見を得ました。 初心者という理由で、ぐぐることを教えない、というのは犯罪的でしかないと私は思いますがどーでしょう。
guest

0

普通に、「swift gps」ってググれば見つかるのに、それでもわからないと言われると何がわからんのか?と逆に聞いてみたくなりますね。

swift gps の検索結果

投稿2018/05/22 05:17

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

clo.momo

2018/05/22 05:34

すみません。説明不足でした。GPSは例えとしてあげました。 現在詰んでるのは次の2つです。 ・macOSアプリで画面をクリックした座標を取得する ・取得した座標の色を取得 この2つ、ググってもでてきません。 この2つを実現する方法はどうやって調べますか?
fuzzball

2018/05/22 05:58

その2つはすでに質問していますよね。 ここで改めて聞くことではありません。
tamina

2018/05/22 06:29

実装方法ではなくて、実装方法の調べ方が知りたいんですね。 対象の言語を触ったことが無いのでよくわかりませんが、C#でいう所のネームスペースやクラスの名前から関係がありそうな所を狙いをつけて調べていくのもいいと思います。
clo.momo

2018/05/22 07:44

すみません。質問済みでした。 経験者はピンポイントで実装方法を見つけてるに違いない!と思ってました。 違うんですね。非常に参考になりました!ありがとうございました!
退会済みユーザー

退会済みユーザー

2018/05/22 08:09

同じものを過去に作ったことがあるというような状況でない限り、初めから実装方法なんて知らないです。当然職業プログラマであっても同じです。 むしろ知っていることであっても、これで正しかったかな?とリファレンスを読んで確認しています。ここのテラテイルの回答をするときでさえそうです。 ググるというのは一つの解決策ですが、正当性がなく、情報の正しさという点ではあまり当てにするものでもありません。その記事が書かれた時期や、バージョンによっては動かないなんてことはザラです。もっとも本家のリファレンスを正しく調べることが一番です。
clo.momo

2018/05/22 13:02

職業プログラマの人でもそうなんですね。 それなら初心者が調べるのに時間かかるのって当然のことですね。 初心者の「上級者はこうに違いない!」って存在しないプログラマーのイメージと比べるからダメなんですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問