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

質問編集履歴

2

あるエラーを解消したことで、コンソールの出力が変更されたため追記しました

2019/11/26 06:02

投稿

lahlah
lahlah

スコア16

title CHANGED
File without changes
body CHANGED
@@ -150,7 +150,9 @@
150
150
  Xcode 11.1, Swift5.0.1
151
151
  iPhoneX, Apple Watch Series4
152
152
 
153
+ ・let realm = try! Realm()
153
- iOSのプログラムを実行した時は、ボタンを押してもコンソールに "send data to Apple Watch" は出力されません.
154
+  をrealmデータを取得する関数内に書くようにしたところ、iOSのプログラムを実行すればボタンを押した時にコンソールに "send data to Apple Watch" は出力されるようになりした.
155
+
154
156
  ・watchOSのプログラムを実行した時は、"watch activation did completed" がコンソールに出力された後、エラーメッセージが表示されます.
155
157
 
156
158
  ・WatchConnectivityの使い方を知るために、[Apple公式サイト](https://developer.apple.com/documentation/watchconnectivity/using_watch_connectivity_to_communicate_between_your_apple_watch_app_and_iphone_app)を参考にしましたが、このサイトの Get Started の手順5.6がいまいちよく分からなかったため、正しい手順を踏めていないことが今回のエラーにつながっているのかもしれません.

1

別のエラーが発生したため、追記しました

2019/11/26 06:02

投稿

lahlah
lahlah

スコア16

title CHANGED
File without changes
body CHANGED
@@ -12,6 +12,15 @@
12
12
  Terminating app due to uncaught exception 'RLMException', reason: 'Realm accessed from incorrect thread.'
13
13
  ```
14
14
 
15
+ 追記 11/26
16
+ watchOS プログラムの
17
+ let realm = try! Realm()
18
+ をrealmデータを取得する関数の中に持って行ったところ、上記のエラーは解消されましたが、代わりに以下のエラーが発生します.
19
+
20
+ ```
21
+ Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=io.realm Code=2 "Unable to open a realm at path '/var/mobile/Containers/Data/PluginKitPlugin/E7F03F8B-86D4-42AF-AC8A-A1F2B2E27780/Documents/Inbox/com.apple.watchconnectivity/AFBC4FDB-28C3-4D55-A833-1E5F59DA0C4B/Files/F39F9FCD-AA0E-48B8-897D-E67AF8D2D043/default.realm.management': make_dir() failed: Operation not permitted Path:Exception backtrace:
22
+ ```
23
+
15
24
  ### 該当のソースコード
16
25
 
17
26
  iOSのプログラム
@@ -87,8 +96,6 @@
87
96
  import WatchConnectivity
88
97
 
89
98
  class InterfaceController: WKInterfaceController, WCSessionDelegate {
90
- let realm = try! Realm()
91
-
92
99
  override func awake(withContext context: Any?) {
93
100
  super.awake(withContext: context)
94
101
 
@@ -112,6 +119,7 @@
112
119
  config.fileURL = file.fileURL
113
120
  Realm.Configuration.defaultConfiguration = config
114
121
 
122
+ let realm = try! Realm()
115
123
  let text = realm.objects(cData.self)
116
124
  print("memo: (text[0].memo)")
117
125
  print("name: (text[0].name)")
@@ -134,8 +142,7 @@
134
142
 
135
143
  ### 試したこと
136
144
 
137
- 似た事例がないか調べたところ、[こちら](https://codeday.me/jp/qa/20190324/472853.html)のサイトが見つかりました.
138
- しかし、複数スレッドを立てていないた自分は当てはまらように思いした.
145
+ 同様事例がないか調べまし似た事例はあるもの今回のエラの解決がるようなものが未だ見つかりせん.
139
146
 
140
147
  ### 補足情報(FW/ツールのバージョンなど)
141
148
 
@@ -143,7 +150,7 @@
143
150
  Xcode 11.1, Swift5.0.1
144
151
  iPhoneX, Apple Watch Series4
145
152
 
146
- ・iOSのプログラムを実行した時は、ボタンを押してもコンソールに "send..." は出力されません.
153
+ ・iOSのプログラムを実行した時は、ボタンを押してもコンソールに "send data to Apple Watch" は出力されません.
147
154
  ・watchOSのプログラムを実行した時は、"watch activation did completed" がコンソールに出力された後、エラーメッセージが表示されます.
148
155
 
149
156
  ・WatchConnectivityの使い方を知るために、[Apple公式サイト](https://developer.apple.com/documentation/watchconnectivity/using_watch_connectivity_to_communicate_between_your_apple_watch_app_and_iphone_app)を参考にしましたが、このサイトの Get Started の手順5.6がいまいちよく分からなかったため、正しい手順を踏めていないことが今回のエラーにつながっているのかもしれません.