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

質問編集履歴

10

入力ミスの訂正

2021/09/30 23:52

投稿

momona
momona

スコア2

title CHANGED
File without changes
body CHANGED
@@ -22,9 +22,9 @@
22
22
 
23
23
  var prevScreenBrightness = UIScreen.main.brightness
24
24
  var myToggle = false
25
- var myString = "It's bright."
26
25
 
27
26
  struct ContentView: View {
27
+ @State var myString = "It's bright."
28
28
  var body: some View {
29
29
  VStack {
30
30
  Button(action: {

9

入力ミスの訂正

2021/09/30 23:52

投稿

momona
momona

スコア2

title CHANGED
File without changes
body CHANGED
@@ -26,26 +26,28 @@
26
26
 
27
27
  struct ContentView: View {
28
28
  var body: some View {
29
+ VStack {
29
- Button(action: {
30
+ Button(action: {
30
- if myToggle == false {
31
+ if myToggle == false {
31
- myToggle = true
32
+ myToggle = true
32
- myString = "It's dark."
33
+ myString = "It's dark."
33
- UIScreen.main.brightness = 0.0
34
+ UIScreen.main.brightness = 0.0
34
- UIApplication.shared.isIdleTimerDisabled = true
35
+ UIApplication.shared.isIdleTimerDisabled = true
35
- // 上記コードに、「'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.」というエラーが出ます。
36
+ // 上記コードに、「'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.」というエラーが出ます。
37
+ }
38
+ else {
39
+ myToggle = false
40
+ myString = "It's bright."
41
+ UIScreen.main.brightness = prevScreenBrightness
42
+ UIApplication.shared.isIdleTimerDisabled = false
43
+ // 上記コードに、「'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.」というエラーが出ます。
44
+ }
45
+ }) {
46
+ Text("Button")
47
+ .padding()
36
48
  }
37
- else {
38
- myToggle = false
39
- myString = "It's bright."
40
- UIScreen.main.brightness = prevScreenBrightness
41
- UIApplication.shared.isIdleTimerDisabled = false
42
- // 上記コードに、「'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.」というエラーが出ます。
43
- }
44
- }) {
45
- Text("Button")
49
+ Text(myString)
46
- .padding()
47
50
  }
48
- Text(myString)
49
51
  }
50
52
  }
51
53
  PlaygroundPage.current.setLiveView(ContentView())

8

説明文及びコードの修正

2021/09/30 02:52

投稿

momona
momona

スコア2

title CHANGED
File without changes
body CHANGED
@@ -5,11 +5,11 @@
5
5
  UIApplication.shared.isIdleTimerDisabled = true
6
6
  をコード内にいれるという事ですが、どこにいれてもエラーがでてしまいます。
7
7
 
8
- 本当は、画面が完全に暗転した状態(もしくはアプリがバックグランドで動作中)でも止まる事なく動くものを作りたいのですが、それはさすがにXcodeなしは無理な気がしております(ですよね?)
8
+ 本当は、画面が完全に暗転した状態(もしくはアプリがバックグランドで動作中)でも止まる事なく動くものを作りたいのですが、それはさすがにXcodeなしは無理な気がしております(ですよね?)
9
9
  なので、スクリーンの輝度をギリギリまで暗くした状態でディバイスがロック(スリープ)しないようにしたいです。
10
10
 
11
- 下記のコードをXcodeで作れば問題ないというのであれば、やはりiPadのSwift Playgroundsの問題だと思いますが、Xcode(Mac)を持っていないので確認出来ません。
11
+ 下記のコードをXcodeで作れば問題ないというのであれば、やはりiPadのSwift Playgroundsの問題だと思うのですが、Xcode(Mac)を持っていないので確認出来ません。
12
- ずうずうしですが、Xcodeをお持ちの方に下記のプログラムでエラーが生じないかを調べていただきたいです。
12
+ ずうずうしくて大変恐縮ですが、Xcodeをお持ちの方に下記のプログラムでエラーが生じないかを調べていただきたいです。
13
13
 
14
14
  宜しくお願いします。
15
15
 
@@ -22,25 +22,30 @@
22
22
 
23
23
  var prevScreenBrightness = UIScreen.main.brightness
24
24
  var myToggle = false
25
+ var myString = "It's bright."
25
26
 
26
27
  struct ContentView: View {
27
28
  var body: some View {
28
29
  Button(action: {
29
30
  if myToggle == false {
31
+ myToggle = true
32
+ myString = "It's dark."
30
33
  UIScreen.main.brightness = 0.0
31
34
  UIApplication.shared.isIdleTimerDisabled = true
32
- // 上記部分に、「'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.」というエラーが出ます。
35
+ // 上記コードに、「'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.」というエラーが出ます。
33
- myToggle = true
34
- }
36
+ }
35
37
  else {
38
+ myToggle = false
39
+ myString = "It's bright."
36
40
  UIScreen.main.brightness = prevScreenBrightness
37
41
  UIApplication.shared.isIdleTimerDisabled = false
38
- // 上記部分に、「'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.」というエラーが出ます。
42
+ // 上記コードに、「'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.」というエラーが出ます。
39
- myToggle = false
40
43
  }
41
44
  }) {
42
- Text("True Black")
45
+ Text("Button")
46
+ .padding()
43
47
  }
48
+ Text(myString)
44
49
  }
45
50
  }
46
51
  PlaygroundPage.current.setLiveView(ContentView())

7

説明文の変更

2021/09/30 02:34

投稿

momona
momona

スコア2

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  をコード内にいれるという事ですが、どこにいれてもエラーがでてしまいます。
7
7
 
8
8
  本当は、画面が完全に暗転した状態(もしくはアプリがバックグランドで動作中)でも止まる事なく動くものを作りたいのですが、それはさすがにXcodeなしは無理な気がしております(ですよね?)
9
- なので、スクリーンの輝度ギリギリまで暗くした状態でディバイスがロック(スリープ)しないようにしたいです。
9
+ なので、スクリーンの輝度ギリギリまで暗くした状態でディバイスがロック(スリープ)しないようにしたいです。
10
10
 
11
11
  下記のコードをXcodeで作れば問題ないというのであれば、やはりiPadのSwift Playgroundsの問題だと思いますが、Xcode(Mac)を持っていないので確認出来ません。
12
12
  ずうずうしですが、Xcodeをお持ちの方に下記のプログラムでエラーが生じないかを調べていただきたいです。

6

入力ミスの訂正

2021/09/29 06:48

投稿

momona
momona

スコア2

title CHANGED
File without changes
body CHANGED
@@ -14,7 +14,7 @@
14
14
  宜しくお願いします。
15
15
 
16
16
  ```ここに言語を入力
17
- //iPadOS15, Swift5.4
17
+ //iPadOS15, Swift5.3
18
18
 
19
19
  import PlaygroundSupport
20
20
  import SwiftUI

5

初心者マークの追加

2021/09/29 06:42

投稿

momona
momona

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,9 @@
1
1
  Macを持っていないのでiPadのSwift PlaygroundsでiPhone用のアプリを作っています。
2
2
  MacのXcodeなしで、アプリの設定した動作中はiPhoneの画面がロック(スリープ)しないようにしたいのですが可能でしょうか?
3
3
 
4
- 色々なサイトで調べましたところ
4
+ 色々なサイトで調べましたところ
5
- UIApplication.shared.isIdleTimerDisabled = true をコード内にいれるという事ですが、どこにいれてもエラーがでてしまいます。
5
+ UIApplication.shared.isIdleTimerDisabled = true
6
+ をコード内にいれるという事ですが、どこにいれてもエラーがでてしまいます。
6
7
 
7
8
  本当は、画面が完全に暗転した状態(もしくはアプリがバックグランドで動作中)でも止まる事なく動くものを作りたいのですが、それはさすがにXcodeなしは無理な気がしております(ですよね?)
8
9
  なので、スクリーンの輝度がギリギリまで暗くした状態でディバイスがロック(スリープ)しないようにしたいです。

4

説明文及びコードの修正

2021/09/29 04:54

投稿

momona
momona

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,172 +1,47 @@
1
- MACを持っていないのでiPadのSwift PlaygroundsでiPhone用の音楽系の自動系アプリを作っています。
1
+ Macを持っていないのでiPadのSwift PlaygroundsでiPhone用のアプリを作っています。
2
- 理由があってSwiftUIとSpriteKitが混在するものとなっております。
3
2
  MacのXcodeなしで、アプリの設定した動作中はiPhoneの画面がロック(スリープ)しないようにしたいのですが可能でしょうか?
4
- 本当は画面が完全に暗転した状態(もしくはアプリがバックグランドで作動中)でも動くようにしたいのですが、それはさすがにXcodeがないと無理そうです(よね?)
3
+
5
- なので画面の輝度を最大限に暗く(ScreenBightness=0.0)した状態で動作するようにしたのですが、その状態を保持したまま5分程度から最大60分程動作するようにしたいです。
6
- 下記コードは長ったらしく記載してしまっていますが、伝えたいのはSwiftuiとSpriteKitが混在するプログラムである事位なので、詳細は気にしなくてもいいと思います。
7
4
  色々なサイトで調べましたところ、
8
5
  UIApplication.shared.isIdleTimerDisabled = true をコード内にいれるという事ですが、どこにいれてもエラーがでてしまいます。
9
- 下記のサイトを参考にしたところ、「画面(ViewController)のviewDidLoadで実行します。」とありますが、Macを持っていないでの、ViewControllerやviewDidLoadの意味がいまいち分かりません。
10
- サイトに記載ある
11
- override func viewDidLoad() {
12
- super.viewDidLoad()
13
6
 
14
- UIApplication.shared.isIdleTimerDisabled = true
7
+ 本当は、画面が完全に暗転した状態(もしくはアプリがバックグランドで動作中)でも止まる事なく動くものを作りたいのですが、それはさすがにXcodeなしは無理な気がしております(ですよね?)
15
- }
16
- も試してみましたが、ダメだった気がします。入力する場所が悪かった可能性もあります。色々試るのでごっちゃなってまって))
8
+ なので、スクリーンの輝度がギリギリで暗くした状態でディバイスロックスリープ)ようにし
17
- https://qiita.com/toshi586014/items/9a0cd70c542de96ba8f2
18
9
 
19
- 色々書き連ねましたが、教えていただきたいのは、
20
- ・デバイスがロックしてアプリが止まってしまうを防ぐ方法
10
+ 下記のコードをXcodeで作れば問題ないというのであれば、やはりiPadのSwift Playgroundsの問題だと思いすが、Xcode(Mac)を持っていないで確認出来ません
21
- ・完全に画面が暗転た状態(もしくはアプリバックグランド動作中)も動くもの
11
+ ずうずうです、Xcodeをお持ちの方に下記のプログラエラーが生じないかを調べていただきたい
22
- どちらかを作りたいです。(後者がベスト)
12
+
23
13
  宜しくお願いします。
24
14
 
25
15
  ```ここに言語を入力
26
- //iPadOS15, Swift5.3
16
+ //iPadOS15, Swift5.4
17
+
27
18
  import PlaygroundSupport
28
19
  import SwiftUI
29
- import SpriteKit
20
+ import UIKit
21
+
30
22
  var prevScreenBrightness = UIScreen.main.brightness
23
+ var myToggle = false
31
24
 
32
25
  struct ContentView: View {
33
- var body: some View {
26
+ var body: some View {
27
+ Button(action: {
28
+ if myToggle == false {
34
- let width = UIScreen.main.bounds.size.width
29
+ UIScreen.main.brightness = 0.0
35
- let height = UIScreen.main.bounds.size.height
30
+ UIApplication.shared.isIdleTimerDisabled = true
36
-
37
- ZStack {
38
- SpriteView(scene: scene)
39
- .frame(width: width, height: height)
31
+ // 上記部分に、「'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.」というエラーが出ます。
40
- .ignoresSafeArea()
32
+ myToggle = true
41
-
42
- VStack(alignment: .leading) {
43
- HStack {
44
- Image(systemName: "headphones")
45
- .padding(.bottom, 10)
46
- Text("20seconds")
47
- .padding(.bottom, 10)
48
- .padding(.trailing, 280)
49
- }
33
+ }
50
- .padding(.bottom, 300)
51
- Button(action: {
52
- if UIScreen.main.brightness == prevScreenBrightness {
53
- UIScreen.main.brightness = 0.0
54
- }
55
- else {
34
+ else {
56
- UIScreen.main.brightness = prevScreenBrightness
35
+ UIScreen.main.brightness = prevScreenBrightness
57
- }
58
- }) {
59
- Image(systemName: "lightbulb.fill")
36
+ UIApplication.shared.isIdleTimerDisabled = false
60
- .padding(.bottom, 10)
61
- .padding(.leading, 360)
62
- .font(.system(size: 40))
37
+ // 上記部分に、「'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.」というエラーが出ます。
63
- .accentColor(.white)
38
+ myToggle = false
64
- }
65
39
  }
40
+ }) {
41
+ Text("True Black")
66
42
  }
67
43
  }
68
44
  }
69
-
70
- var scene: SKScene {
71
- let scene = GameScene()
72
- let width = UIScreen.main.bounds.size.width
73
- let height = UIScreen.main.bounds.size.height
74
- scene.size = CGSize(width: width, height: height)
75
- scene.scaleMode = .aspectFit
76
- return scene
77
- }
78
-
79
- class GameScene: SKScene {
80
- var Icon: SKSpriteNode!
81
- var playMode = false
82
- let tones = ["C4"]
83
- var c4: SKAudioNode!
84
- var excTime: Double = 20 //今だけの適当な数値(秒数)です。
85
- var playIcon = "play.fill"
86
- let soundKey = "RemoveSoundKey"
87
-
88
- //"play.fill"と"pause.fill"の切り替えfunc
89
- func icon() {
90
- if playMode == false {
91
- playIcon = "play.fill"
92
- }
93
- else {
94
- playIcon = "pause.fill"
95
- }
96
- let image = UIImage(systemName: playIcon)!.withTintColor(.white)
97
- let data = image.pngData()
98
- let newImage = UIImage(data: data!)
99
- let texture = SKTexture(image: newImage!)
100
- Icon = SKSpriteNode.init(texture: texture)
101
- Icon.position = CGPoint(x: self.frame.midX, y: 250)
102
- Icon.size = CGSize(width: 50, height: 50)
103
- Icon.name = "playModeIcon"
104
- self.addChild(Icon)
105
- }
106
-
107
- override public func didMove(to view: SKView) {
108
- backgroundColor = colorLiteral(red: 0.21568629145622253, green: 0.10196079313755035, blue: 0.5803921818733215, alpha: 1.0) //ここ変ですみません。iPadで作っているのでコピペするとこうなります。
109
- icon()
110
- }
111
-
112
- override public func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?){
113
- for touch: AnyObject in touches {
114
- let location = touch.location(in: self)
115
- let touchedNode = self.atPoint(location)
116
- if let name = touchedNode.name {
117
- if name == "playModeIcon" {
118
- if playMode == false {
119
- playMode = true
120
- touchedNode.removeFromParent()
121
- icon()
122
- //本当はこの辺に画面ロックしないようにするプログラムを入力したいです。
123
-
124
- var prevTime = Date()
125
- func restart() {
126
- var currentTime = Date().timeIntervalSince(prevTime)
127
- if currentTime > excTime {
128
- playMode = false
129
- Icon.removeFromParent()
130
- removeAllActions()
131
- icon()
132
- UIScreen.main.brightness = prevScreenBrightness
133
- //この辺に画面ロック防止を止めるコードを入力したい。
134
- }
135
- }
136
-
137
- //c4 url
138
- let c4URL = Bundle.main.url(forResource: tones[0], withExtension: "aiff")!
139
- c4 = SKAudioNode(url: c4URL)
140
- c4.autoplayLooped = false
141
- self.addChild(c4)
142
-
143
- //SKActions
144
- let c4Play = SKAction.run { [self] in
145
- c4.run(SKAction.play())
146
- }
147
- let wait15 = SKAction.wait(forDuration: 1.5)
148
- let rfp = SKAction.removeFromParent()
149
- let reStart = SKAction.run(restart)
150
- var seq: SKAction!
151
-
152
- //Sequences
153
- seq = SKAction.sequence([c4Play, wait15, rfp, reStart])
154
- let rep = SKAction.repeatForever(seq)
155
- self.run(rep, withKey: soundKey)
156
- }
157
- else {
158
- playMode = false
159
- touchedNode.removeFromParent()
160
- icon()
161
- self.removeAction(forKey: soundKey)
162
- UIScreen.main.brightness = prevScreenBrightness
163
- //この辺に画面ロック防止を止めるコードを入力したい。
164
- }
165
- }
166
- }
167
- }
168
- }
169
- }
170
45
  PlaygroundPage.current.setLiveView(ContentView())
171
46
  ```
172
- ![イメージ説明](481794a16a64e6b8fb84881f55c40146.png)
47
+ ![イメージ説明](66c477d8df8971547f9654ced00005a9.png)

3

タブの変更

2021/09/29 04:33

投稿

momona
momona

スコア2

title CHANGED
File without changes
body CHANGED
File without changes

2

入力ミスの訂正

2021/09/29 02:21

投稿

momona
momona

スコア2

title CHANGED
File without changes
body CHANGED
@@ -23,12 +23,11 @@
23
23
  宜しくお願いします。
24
24
 
25
25
  ```ここに言語を入力
26
- //iOS15, Swift5.3
26
+ //iPadOS15, Swift5.3
27
27
  import PlaygroundSupport
28
28
  import SwiftUI
29
29
  import SpriteKit
30
30
  var prevScreenBrightness = UIScreen.main.brightness
31
- var timerIndex: Int = 0
32
31
 
33
32
  struct ContentView: View {
34
33
  var body: some View {
@@ -44,7 +43,7 @@
44
43
  HStack {
45
44
  Image(systemName: "headphones")
46
45
  .padding(.bottom, 10)
47
- Text("10seconds")
46
+ Text("20seconds")
48
47
  .padding(.bottom, 10)
49
48
  .padding(.trailing, 280)
50
49
  }
@@ -82,17 +81,10 @@
82
81
  var playMode = false
83
82
  let tones = ["C4"]
84
83
  var c4: SKAudioNode!
85
- var excTime: Double = 10
84
+ var excTime: Double = 20 //今だけの適当な数値(秒数)です。
86
85
  var playIcon = "play.fill"
87
- var randInt: Int = 0
88
- var noteText: SKLabelNode!
89
86
  let soundKey = "RemoveSoundKey"
90
87
 
91
- //exerciseTime func
92
- func excTimeDouble() {
93
- timerIndex == 20
94
- }
95
-
96
88
  //"play.fill"と"pause.fill"の切り替えfunc
97
89
  func icon() {
98
90
  if playMode == false {
@@ -131,7 +123,6 @@
131
123
 
132
124
  var prevTime = Date()
133
125
  func restart() {
134
- excTimeDouble()
135
126
  var currentTime = Date().timeIntervalSince(prevTime)
136
127
  if currentTime > excTime {
137
128
  playMode = false

1

説明文の変更

2021/09/28 02:47

投稿

momona
momona

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- MACを持っていないのでiPadのSwift PlaygroundsでiPhoneアプリを作っています。
1
+ MACを持っていないのでiPadのSwift PlaygroundsでiPhone用の音楽系の自動系アプリを作っています。
2
2
  理由があってSwiftUIとSpriteKitが混在するものとなっております。
3
3
  MacのXcodeなしで、アプリの設定した動作中はiPhoneの画面がロック(スリープ)しないようにしたいのですが可能でしょうか?
4
4
  本当は画面が完全に暗転した状態(もしくはアプリがバックグランドで作動中)でも動くようにしたいのですが、それはさすがにXcodeがないと無理そうです(よね?)