

こちらのサイトでも質問させていただき、ご回答をいただきましたが解決することができていない状況なので質問させていただきます。  
<https://teratail.com/questions/34121>

前提・実現したいこと  
swiftで日記アプリを作っています。  
xcodeのバージョンは7.3.1、swiftは2.2です。

発生している問題・エラーメッセージ  
xcodeでコードを書き始めると、作業にならないほど頻繁にSourceKitServiceが落ちてしまいます。また、入力中にxcodeのコードを書く部分のスクロールがずれてしまったり、補完機能が効かなくなったりと不安定です。

[code]

    SourceKitService が予期しない理由で終了しました。
    
[/code]

たまにswiftが終了しましたと出ることもあります。

[code]

    swiftが予期しない理由で終了しました。
    
[/code]

試したこと  
調べたところ以下の方法があったので、試みましたが改善しませんでした。

[code]

    rm -rf ~/Library/Developer/Xcode/DerivedData
    ~/Library/Developer/Xcode/DerivedData/ModuleCache
    ~/Library/Caches/com.apple.dt.Xcode
    ・xcodeの再起動 
    ・macの再起動
    
[/code]

また、一度以下のコマンドで補完機能を切ってから元に戻し、さらにDerivedDataを削除したところ、少しの間クラッシュしなくなったのですが、また数秒に一回くらいクラッシュする状態になってしまいました。  
どのようにすれば、解決できますでしょうか。よろしくお願いします。

[code]

    defaults write com.apple.dt.Xcode IDEIndexDisable 1
    defaults write com.apple.dt.Xcode IDEIndexDisable 0
    rm -rf ~/Library/Developer/Xcode/DerivedData
    
[/code]

追記  
いろいろと調べた結果、以下のニフティクラウドモバイルバックエンド(mBaaS)のデータストアからクエリでデータを取得する部分をコメントアウトしたところ、クラッシュしなくなりました。  
しかし、どのように修正すればクラッシュしなくなるのかがわかりません。何かお分かりになられたら教えてください。よろしくお願いします。

let query = NCMBUser.query()  
query.whereKey("userName", equalTo: user[0].uuid)

[code]

            //soucekitのクラッシュの原因はここ！！ここが原因なのは確かなので、さらに詳しくチェックしていく！！
          /*  query.findObjectsInBackgroundWithBlock({ (objects, error) in
    
    
    
                if error == nil{
    
                    objects[0].setObject(self.userNameTextField.text, forKey: "ownerName")
                    objects[0].setObject(self.userSelectWork, forKey: "works")
                    objects[0].setObject(self.userSelectWorksYear, forKey: "worksYear")
                    objects[0].setObject(self.myGoalTextView.text, forKey: "myGoal")
    
                    if self.pickedPhoto != nil{
    
                        objects[0].setObject(self.targetFile?.name, forKey: "userPhotoName")
    
                    }
    
                    objects[0].save(&saveError)
    
                    let realm = try!Realm()
                    let user = User()
                    user.id = 1
                    user.userName = self.userNameTextField.text
                    user.works = self.userSelectWork
                    user.worksYear = self.userSelectWorksYear!
                    user.myGoal = self.myGoalTextView.text
    
                    try!realm.write({
    
    
    
                    })
    
                    print("ひ")
    
                    let fileName = NSUUID().UUIDString + ".jpg"
                    let filePath = (self.path! as NSString).stringByAppendingPathComponent(fileName)
    
                    if self.photo?.writeToFile(filePath, atomically: true) == false{
    
    
                        self.errorMessage()
    
    
                    }else{
    
                        print("写真をファイルに保存成功")
                    }
    
    
                    //写真があるならば
                    if self.targetFile != nil{
    
                        //更新するデータの写真と比べて、同じものではないならば
                        if self.targetFile?.name != objects[0]["userPhotoName"] as! String{
    
                            self.targetFile?.saveInBackgroundWithBlock({ (error:NSError!) in
    
                                if error == nil{
    
                                     self.navigationController?.popToRootViewControllerAnimated(true)
    
                                      }else{
    
                                    self.errorMessage()
    
                                }
    
                                }, progressBlock: { (percentDone) in
    
    
                            })
    
                        }
    
    
    
                    }else{
                        //写真がないなら
                        self.navigationController?.popToRootViewControllerAnimated(true)
    
                    }
    
    
    
    
                }else{
    
                    //エラー処理
                    self.errorMessage()
                }
            })*/
    
[/code]


CC BY-SA 3.0
2016-05-06T02:10:07.960
24598
2016-05-06T08:03:54.590
2016-05-06T08:03:54.590
10791
10791
question
swift ios xcode baas
SourceKitService が予期しない理由で終了しました。というエラーの対処方法