11825


swiftDocsのCoreMotionのサンプル( <https://sites.google.com/a/gclue.jp/swift-docs/ni-
yinki100-ios/5-coremotion/001-jia-su-dusensano-zhiwo-qu-de>
)をコピペして動かしてみようとしたのですが、importの段階でエラーが出てしまいます。  
エラーメッセージは

[code]

    Cannot load module 'coremotion' as 'CoreMotion'
    
[/code]

となっています。

設定のLinked Frameworks and LibraryでCoreMotion.frameworkはすでに追加済みです。  
Xcodeの再起動等を試しても解決はしませんでした。

環境は  
Xcode - version 7.0 beta  
iphone - ios version 8.3

となっています。  
エラーを取るにはどうしたら良いでしょうか。ご教授下さい。


CC BY-SA 3.0
2015-06-28T08:14:06.253
11820
2015-06-29T19:44:55.930
10321
question
ios swift xcode
swiftでCoreMotionフレームワークをimportしたい


私もご紹介のリンク先のコードを、Xcode
7betaのプロジェクトにコピー&ペーストしてみましたが、おっしゃるようなエラーメッセージは出ませんでした。なお、Xcode
7betaは先週beta2がリリースされており、私はそれをインストールしてあります。beta2のリビジョンは「7A1211」です。

コードについては、下記の箇所にエラーが出ただけで、書きかえたあと、iPhone 5sにてビルドしたら、問題なく動作しました。

[code]

    // 加速度の取得を開始
    myMotionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue(), withHandler: {(accelerometerData:CMAccelerometerData!, error:NSError!) -> Void in
        myXLabel.text = "x=\(accelerometerData.acceleration.x)"
        myYLabel.text = "y=\(accelerometerData.acceleration.y)"
        myZLabel.text = "z=\(accelerometerData.acceleration.z)"
    })
    
[/code]

**訂正後：**

[code]

    // 「!」を「?」に変更
    myMotionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue(), withHandler: {(accelerometerData:CMAccelerometerData?, error:NSError?) -> Void in
        // Optional Bindingの書式を使う
        if let theData = accelerometerData {
            myXLabel.text = "x=\(theData.acceleration.x)"
            myYLabel.text = "y=\(theData.acceleration.y)"
            myZLabel.text = "z=\(theData.acceleration.z)"
        }
    })
    
[/code]

ということで、Xcode 7betaのアップデートをしたら、解決するのではないかという見方を、私はしています。


CC BY-SA 3.0
2015-06-28T09:24:57.387
11825
2015-06-29T19:44:55.930
2015-06-29T19:44:55.930
7362
7362
11820
answer