質問編集履歴
2
あるエラーを解消したことで、コンソールの出力が変更されたため追記しました
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
|
-
|
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
別のエラーが発生したため、追記しました
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がいまいちよく分からなかったため、正しい手順を踏めていないことが今回のエラーにつながっているのかもしれません.
|