この無謀な行為の動機について
僕はプログラム初心者です。
javaとかpython、swiftなど必要に応じて浅く触ってきました。
swiftはずば抜けて好きです。だからラズパイにおいてもswiftを使いたいです。
また、私は”スマートHome”を作るりたいと思っています。なのでラズパイを
使いたいです。
現状
ラズパイへのswiftの導入はこのサイトに書いてある通りに行いました。
初めは「これで完璧!!」と思っていました。
しかし!!
以下のようなエラーが出てきてしまい思っていたものとは違う結果となってしまいました。
それでも、簡単なプログラム程度ならバイナリー化も実行もできました。
困ったこと
「ラスパイでできないのはしょうがないmacでやってみよう」とやってみました。
テキストエディタで書いて「〜.swift」と名前をつけて
ターミナルでコンパイルしようとしました。
でも、できませんでした。
恥ずかしながら、僕はラズパイで行う以前にMac上(Macのターミナル)でさえ
swiftのプログラムを作り実行できないようです。
試してみたのは以下のプログラムを少し直したものです。
Swift
1import UIKit 2import PlaygroundSupport 3 4let addr = "192.168.0.123" 5let port = 4567 //PORT Num 6 7var buffer = [UInt8](repeating: 0, count: 255) 8 9var inp : InputStream? 10var out : OutputStream? 11Stream.getStreamsToHost(withName: addr, port: port, inputStream: &inp, outputStream: &out) 12 13if inp != nil && out != nil { 14 let inputStream : InputStream = inp! 15 let outputStream : OutputStream = out! 16 inputStream.open() 17 outputStream.open() 18 19 if outputStream.streamError == nil && inputStream.streamError == nil { 20 let queryString = "クライアントから送信したいデータ" 21 let queryData = [UInt8](queryString.utf8) 22 while true { 23 UnsafePointer<UInt8>(queryData) 24 outputStream.write(queryData, maxLength: queryData.count) 25 var readChars: Int = inputStream.read(&buffer, maxLength: buffer.count) 26 if (readChars > 0) { 27 let readString: String = NSString(data: NSData(bytes:buffer, length:readChars) as Data, encoding: String.Encoding.utf8.rawValue)! as String 28 print(readString) // サーバから受信したデータ 29 usleep(300 * 1000) //300ms待つ(適当 30 } 31 32 } else { 33 print ("server closed connection") 34 inputStream.close() 35 outputStream.close() 36 break 37 } 38 } 39 } else { 40 print ("could not create socket") 41 } 42} else { 43 print ("could not initialize stream") 44}
以下のようなエラーが返ってきました。
パッケージがなんとからしいですね...
調べてみましたが分かりません。悔しいです!
あと...
Mac持ちというのにLinixの詳しい知識はほとんどありません。
(これでは、エセMac使いですね(;_;))
聞きたいこと
- Macにて、Xcodeを使うことなく任意のエディタ・場所で書いた
UIKit,Foundationを使ったswiftのコードをコンパイし、実行できるようになりたい。
- 0で行ったことをラズパイでも行いたい。
以上2つです。
誰か教えてください。
お願いします。
回答2件
あなたの回答
tips
プレビュー