質問: NSString(data: NSData(bytes:buffer, length:readChars) as Data, encoding: String.Encoding.utf8.rawValue)! as String print(readString) // サーバから受信したデータ usleep(300 * 1000) //300ms待つ(適当 } } else { print ("server closed connection") inputStream.close() outputStream.close() break } } } else { print ("could not create socket") } } else { print ("could not initialize stream") } ``` 以下のようなエラーが返ってきました。 ![Macのターミナル](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/c202424cab7f8a37bbc1c452df23500d.png) パッケージがなんとからしいですね... 調べてみましたが分かりません。悔しいです! あと... Mac持ちというのにLinixの詳しい知識はほとんどありません。 (これでは、エセMac使いですね(;_;)) ### 聞きたいこと 1. Macにて、Xcodeを使うことなく任意のエディタ・場所で書いた UIKit,Foundationを使ったswiftのコードをコンパイし、実行できるようになりたい。 2. 0で行ったことをラズパイでも行いたい。 以上2つです。 誰か教えてください。 お願いします。
回答: 参考にしているプログラムは、iPad用のPlaygroundで動作するプログラムです。 ``` import UIKit import PlaygroundSupport ``` の部分ですが、 UIKitは、iPhoneやiPadで動作するiOS専用のフレームワークですので、ラズパイでは使えないのはもちろん、macOSでも使えません。 PlaygroundSupportは、Playground環境をサポートするためのモジュールですので、Playground環境以外では使えません。 ただ、参考にしているプログラムでやろうとしているのは、Foundationで提供されているInputStream、OutputStreamを使ってsocket通信をしようとしているだけのようですので、上記のimportの代わりに ``` import Foundation ``` とするだけでmacOSでもビルドできるかもしれません。 ラズパイでFoundationが使えるかですが、 によると、swift4.2になってからLinux用swiftもFoundationが 使えるようになったようですから、今ラズパイで使っているSwiftのバージョンが 4.2なら、同じように `import Foundation`にしたらビルドできるかもしれません。 ラズパイ自体使ったことないので、それ以上のことは私にはわかりません。