2016-06-16 7 views
0

ここでこの問題を探していましたが、この問題は一般的ではないことがわかりました。解決方法シグナルによってコマンドが失敗しました:セグメンテーションフォールト:11

誰もが解決するために異なるアプローチをしていました。私はFirebaseとGifuフレームワークを使用しています。実際に最後の1つ - 私はすべてのファイルを私のプロジェクトにコピーしましたが、それはどちらも役に立たなかった。

ここに私のソースコードです:

import FirebaseDatabase 
import FirebaseAuth 
import Firebase 
import UIKit 
import Gifu 

class ViewController: UIViewController { 

@IBOutlet weak var userImage: AnimatableImageView! 

var displayedUserId = "" 
var AcceptedOrRejected = "" 


override func viewDidLoad() { 
    super.viewDidLoad() 

    let urlArray = ["http://i.imgur.com/VAWlQ0S.gif", "http://i.imgur.com/JDzGqvE.gif", "http://67.media.tumblr.com/4cd2a04b60bb867bb4746d682aa60020/tumblr_mjs2dvWX6x1rvn6njo1_400.gif", "https://media.giphy.com/media/TlK63ELk5OPDzpb6Tao/giphy.gif", "http://i3.photobucket.com/albums/y90/spicestas/GeriHalliwell-Calling-new1.gif", "http://media.tumblr.com/tumblr_lnb9aozmM71qbxrlp.gif"] 

    var counter = 1 

    for url in urlArray { 

     let nsUrl = NSURL(string: url) 

     let girls = ProfileClass() 

     girls.profilePhotoUrl = url 
     girls.profileGender = "female" 
     girls.profileName = "girlsname\(counter)" 
     girls.profileSurname = "girlsurname\(counter)" 
     girls.interest = "men" 
     girls.uid = "\(randomStringWithLength(45))" 

     counter++ 
     girls.SaveUser() 


    } 

    //----setting variables 


    let label = UILabel(frame: CGRectMake(self.view.bounds.width/2 - 100, self.view.bounds.height/2 - 50, 300, 100)) 
    //label.text = "Drag me!" 
    //label.textAlignment = NSTextAlignment.Center 
    self.view.addSubview(label) 

    let gesture = UIPanGestureRecognizer(target: self, action: Selector("wasDragged:")) 
    userImage.addGestureRecognizer(gesture) 
    userImage.userInteractionEnabled = true 



    //----getting access to database 

    let thisUserRef = URL_BASE.childByAppendingPath("profile") 


    thisUserRef.queryOrderedByChild("Interest").queryEqualToValue("men").observeEventType(.Value, withBlock: { 
     snapshot in 

     for child in snapshot.children{ 

      self.displayedUserId = (child.value["uid"] as? String)! 

      let imageURL = child.value["photo"] as? String 

      let imURL = NSURL(string: imageURL!) 

      //print(imageURL) 



      if self.AcceptedOrRejected != "" { 

       let AcceptedArray = child.value[AcceptedOrRejected] as? Array 

       AcceptedArray.append(displayedUserId) 

      } 







      if let picData = NSData(contentsOfURL: imURL!) { 

       self.userImage.animateWithImageData(picData) 
       //self.userImage.image = UIImage(data: picData) 
      } 


     } 


    }) 






} 

//-----Dragging function----------- 

func wasDragged(gesture: UIPanGestureRecognizer) { 

    //set traslations 
    let translation = gesture.translationInView(self.view) 
    let label = gesture.view 



    //set center position 
    label!.center = CGPoint(x: self.view.bounds.width/2 + translation.x, y: self.view.bounds.height/2 - translation.y) 

    let xfromCenter = (label?.center.x)! - self.view.bounds.width/2 

    let scale = min(100/abs(xfromCenter),1) 

    var rotation = CGAffineTransformMakeRotation(xfromCenter/200) 

    var strech = CGAffineTransformScale(rotation, scale, scale) 

    label?.transform = strech 



    if gesture.state == UIGestureRecognizerState.Ended { 

     if label?.center.x < 100 { 

      self.AcceptedOrRejected = "Accepted" 


     } else if label?.center.x > self.view.bounds.width/100 { 

      self.AcceptedOrRejected = "Rejected" 

     } 

     rotation = CGAffineTransformMakeRotation(0) 
     strech = CGAffineTransformScale(rotation, 1, 1) 

     label?.transform = strech 

     label?.center = CGPoint(x: self.view.bounds.width/2 , y: self.view.bounds.height/2) 
    } 

} 


//---Function for generating randomn userid 


func randomStringWithLength (len : Int) -> NSString { 

    let letters : NSString = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" 

    let randomString : NSMutableString = NSMutableString(capacity: len) 

    for (var i=0; i < len; i += 1){ 
     let length = UInt32 (letters.length) 
     let rand = arc4random_uniform(length) 
     randomString.appendFormat("%C", letters.characterAtIndex(Int(rand))) 
    } 

    return randomString 
} 



override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 


} 


override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

    if segue.identifier == "LogOutSegue" { 
     try! FIRAuth.auth()!.signOut() 
    } 


} 

}

そして、私はこのエラー

1. While emitting SIL for 'viewDidLoad' at /Users/zkid18/Desktop/wrk/Bloom/Bloom/ViewController.swift:23:14 
2. While silgen closureexpr SIL function @_TFFC5Bloom14ViewController11viewDidLoadFT_T_U_FCSo15FIRDataSnapshotT_ for expression at [/Users/zkid18/Desktop/wrk/Bloom/Bloom/ViewController.swift:68:114 - line:107:9] RangeText="{ 
      snapshot in 

      for child in snapshot.children{ 

       self.displayedUserId = (child.value["uid"] as? String)! 

       let imageURL = child.value["photo"] as? String 

       let imURL = NSURL(string: imageURL!) 

       //print(imageURL) 



       if self.AcceptedOrRejected != "" { 

        let AcceptedArray = child.value[AcceptedOrRejected] as? Array 

        AcceptedArray.append(displayedUserId) 

       } 







       if let picData = NSData(contentsOfURL: imURL!) { 

        self.userImage.animateWithImageData(picData) 
        //self.userImage.image = UIImage(data: picData) 
       } 


      } 


     }" 

を取得し、私は本当にその

+0

多分このスレッドはあなたを助けるでしょうhttp://stackoverflow.com/questions/25278233/swift-compiler-error-while-emitting-sil-for-tableview-at –

+0

それはコンパイラのクラッシュです。そのコードを、クラッシュの原因となる可能な限り小さくしてください。コンパイラのバグは、通常、十数行未満で再現されます。その後、アップルに提出してください。 –

+0

self.displayedUserId =(child.value ["uid"]?String)!私は疑わしい。私はそのようなラップを強制しません。その約束を破るのは本当に簡単です。 – Dare

答えて

0

をどうするかわからない私はSwift 3への変換を試みて、コード内の問題を修正しました。私は似たようなエラーがありますが、Firebaseを私のプロジェクトのすべてに統合しました。私は、アプリケーションからポッドとフレームワークを削除し、すべてのfirebaseコードをコメントアウトすることで、このコンパイルの問題を修正しました。

+0

Firebaseを完全に削除することを意味しますか? –

+0

私はコアのものを削除/コメントアウトしましたが、admobは正常に動作していました。 Swift 3やFirebaseのバグはまだありますが、参照プロジェクトがXcode 8/Swift 3のものかどうかはわかりません – Binford46

関連する問題