teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

訂正しました!

2018/01/11 13:23

投稿

SKMT
SKMT

スコア57

title CHANGED
@@ -1,1 +1,1 @@
1
- [swift4]Alamofireを使ってJSONデタを送信する
1
+ [swift4]プッシュ通知のためにトクン取得について
body CHANGED
@@ -1,8 +1,8 @@
1
1
  ###前提・実現したいこと
2
- Alamofire使っtextfieldに打ち込まれた文字と位置情報JSONデータとてサーバに送信るプログラム作りたいです
2
+ トークン取得しプッシュ通知たいのですがアップルdeveloperの有料登録をしなきないものでか?
3
3
 
4
4
  ###エラーメッセージ
5
- Alamofiremプログラムimportするとこまではできたのですが使い方がわかりませんネットで調べてもよくわからなかったので質問しまし
5
+ https://i-app-tec.com/ios/apns-device-token.html のサイト参考試してみたのですが、App IDsところってまいます
6
6
 
7
7
 
8
8
  ###該当のソースコード

3

質問内容を少し変更しました

2018/01/11 13:23

投稿

SKMT
SKMT

スコア57

title CHANGED
@@ -1,1 +1,1 @@
1
- [swift4]タイマのリセット
1
+ [swift4]Alamofireを使ってJSONデタを送信する
body CHANGED
@@ -1,47 +1,11 @@
1
1
  ###前提・実現したいこと
2
- イマをリセットする関数を作り何かを判定し際に一度リセットしてそこから時間を再計測したいです
2
+ Alamofireを使ってtextfieldに打ち込まれた文字と位置情報をJSONデーとしてサバに送信するプログラムが作りたいです
3
3
 
4
4
  ###エラーメッセージ
5
- 一度リセット関数呼び出すとこから何度もリセット関数が呼ばれた挙動になりす。
5
+ Alamofiremプログラムにimportとこまではできたのですが使い方がわりません、ネットで調べてもくわからかったので質問しした
6
6
 
7
7
 
8
8
  ###該当のソースコード
9
- ```swift4
9
+ ``` swift4
10
- // 時間の表示
10
+
11
- func displayTime(_ time: TimeInterval) {
12
- let minute = (Int)(fmod((time/60), 60))
13
- let second = (Int)(fmod(time, 60))
14
- let msec = (Int)((time - floor(time))*100)
15
-
16
- timeL.text = String(format: "%02d : %02d : %02d", minute, second, msec)
17
- }
18
-
19
- // 時間の計測
20
- @objc func timerCounter() {
21
- let currentTime = totalTime + Date().timeIntervalSince(startTime)
22
- displayTime(currentTime)
23
- }
24
-
25
- // タイマーのスタート
26
- func startTimer() {
27
- if timer != nil {
28
- timer.invalidate()
29
- }
30
- else {
31
- startTime = Date();
32
- }
33
- timer = Timer.scheduledTimer(
34
- timeInterval: 0.01,
35
- target: self,
36
- selector: #selector(self.timerCounter),
37
- userInfo: nil,
38
- repeats: true)
39
- }
40
-
41
- // タイマーのリセット
42
- func resetTimer() {
43
- startTime = Date();
44
- totalTime = 0.0
45
- displayTime(totalTime)
46
- }
47
11
  ```

2

質問内容を少し変えてみました

2018/01/10 14:45

投稿

SKMT
SKMT

スコア57

title CHANGED
@@ -1,1 +1,1 @@
1
- [swift4]システム音連続再生・停止
1
+ [swift4]タイマーリセット
body CHANGED
@@ -1,33 +1,47 @@
1
1
  ###前提・実現したいこと
2
- したアラーを表示してシステム音を鳴しアラートのOK押すとアラームも止めるという仕組みを作りたいですが止め方がわかりません
2
+ イマーリセットする関数を作り何かを判定した一度リセットしてそこか時間再計測したいです
3
3
 
4
4
  ###エラーメッセージ
5
- 音楽の連続再生、停止はできたのですがシステム音の場合ど書いていいかわかりません
5
+ 一度リセット関数を呼び出とそこから何度もリセット関数呼ばれたよな挙動になります。
6
6
 
7
7
 
8
8
  ###該当のソースコード
9
9
  ```swift4
10
+ // 時間の表示
10
- override func viewDidLoad() {
11
+ func displayTime(_ time: TimeInterval) {
12
+ let minute = (Int)(fmod((time/60), 60))
11
- super.viewDidLoad()
13
+ let second = (Int)(fmod(time, 60))
14
+ let msec = (Int)((time - floor(time))*100)
12
15
 
13
- let audioPath = Bundle.main.path(forResource: "sample", ofType:"mp3")!
16
+ timeL.text = String(format: "%02d : %02d : %02d", minute, second, msec)
14
- let audioUrl = URL(fileURLWithPath: audioPath)
17
+ }
15
-
18
+
16
- var audioError:NSError?
19
+ // 時間の計測
17
- do {
18
- audioPlayer = try AVAudioPlayer(contentsOf: audioUrl)
19
- } catch let error as NSError {
20
+ @objc func timerCounter() {
21
+ let currentTime = totalTime + Date().timeIntervalSince(startTime)
22
+ displayTime(currentTime)
23
+ }
24
+
25
+ // タイマーのスタート
20
- audioError = error
26
+ func startTimer() {
21
- audioPlayer = nil
27
+ if timer != nil {
28
+ timer.invalidate()
22
29
  }
23
-
30
+ else {
24
- if let error = audioError {
31
+ startTime = Date();
25
- print("Error (error.localizedDescription)")
26
32
  }
27
-
28
- audioPlayer.delegate = self
33
+ timer = Timer.scheduledTimer(
34
+ timeInterval: 0.01,
35
+ target: self,
29
- audioPlayer.prepareToPlay()
36
+ selector: #selector(self.timerCounter),
30
- audioPlayer.numberOfLoops = -1
37
+ userInfo: nil,
31
-
38
+ repeats: true)
32
39
  }
40
+
41
+ // タイマーのリセット
42
+ func resetTimer() {
43
+ startTime = Date();
44
+ totalTime = 0.0
45
+ displayTime(totalTime)
46
+ }
33
47
  ```

1

コードを変えました

2018/01/09 05:26

投稿

SKMT
SKMT

スコア57

title CHANGED
@@ -1,1 +1,1 @@
1
- [swift4]システム音める
1
+ [swift4]システム音の連続再生・停
body CHANGED
@@ -2,45 +2,32 @@
2
2
  ボタンを押した時にアラートを表示してシステム音を鳴らしアラートのOKを押すとアラームも止めるという仕組みを作りたいのですが止め方がわかりません
3
3
 
4
4
  ###エラーメッセージ
5
- Audiotoolboxだと短い再生するだけみ困ってま。止め方や電話の呼び出し音のな長音の出し方を教えていただきたです
5
+ 楽の連続再生、停止はできですがシステム音の場合どいていいかわかりません
6
6
 
7
7
 
8
8
  ###該当のソースコード
9
9
  ```swift4
10
- @IBAction func karibotan(_ sender: Any) {
10
+ override func viewDidLoad() {
11
- //アラート表示
12
- let alert = UIAlertController(title: nil, message: nil, preferredStyle: .alert)
13
- alert.title = "タイトル"
14
- alert.message = "アラート表示"
15
- alert.addAction(
11
+ super.viewDidLoad()
16
- UIAlertAction(
17
- title: "OK",
18
- style: .default,
19
- handler: {(action) -> Void in
20
- self.hello(action.title!)
21
- })
22
- )
23
- self.present(
24
- alert,
25
- animated: true,
26
- completion: {
27
- print("アラートが表示された")
28
- }
29
- )
30
12
 
31
- //アラーム
13
+ let audioPath = Bundle.main.path(forResource: "sample", ofType:"mp3")!
32
- var soundIdRing:SystemSoundID = 1005
14
+ let audioUrl = URL(fileURLWithPath: audioPath)
33
15
 
34
- if let soundUrl = CFBundleCopyResourceURL(CFBundleGetMainBundle(), nil, nil, nil){
16
+ var audioError:NSError?
17
+ do {
35
- AudioServicesCreateSystemSoundID(soundUrl, &soundIdRing)
18
+ audioPlayer = try AVAudioPlayer(contentsOf: audioUrl)
36
- AudioServicesPlaySystemSound(soundIdRing)
19
+ } catch let error as NSError {
20
+ audioError = error
21
+ audioPlayer = nil
37
22
  }
38
23
 
24
+ if let error = audioError {
25
+ print("Error (error.localizedDescription)")
26
+ }
27
+
28
+ audioPlayer.delegate = self
29
+ audioPlayer.prepareToPlay()
30
+ audioPlayer.numberOfLoops = -1
31
+
39
32
  }
40
- ```
33
+ ```
41
-
42
- ###試したこと
43
- 課題に対してアプローチしたことを記載してください
44
-
45
- ###補足情報(言語/FW/ツール等のバージョンなど)
46
- より詳細な情報