LoginSignup
7

More than 5 years have passed since last update.

swiftでアプリ作ってみたらリリースヴィルドで落ちた(Releaseビルドで落ちた)

Last updated at Posted at 2014-11-29

アプリ作ったのに

タイトル通り、リリースビルドで落ちました。
全swiftでTodoアプリを作ったんですが、なんと2件目のタスクを入れると落ちるという非常に仕事をさせてくれないタイプのアプリとなってしましました。
苦労してリジェクトの波を乗り越え初のswiftアプリリリースとなろうものが、まさかのリリースビルドだけで落ちる状態に・・・

いったいなにが原因なのか?

とりあえずどこが原因か?

挙動的に以下のメソッドで落ちる・・・

   @IBAction func finish()
    {
        // task for me
        let task: Task = self.editTask
        task.content = self.contentTextView.text
        task.date = NSDate()

        if !(task.venueName != nil) {
        task.venueName = "" }

        if (task.lat == nil){
            task.lat = 0}
        if (task.lng == nil){
            task.lng = 0}

        task.check = 0
        task.notif_flag = false
        task.distFromNow = 100000

        task.t_id = NSString(format: "%f", NSDate().timeIntervalSince1970)

        task.managedObjectContext?.MR_saveWithOptions(MRSaveContextOptions(1),
            completion:
            {(success:Bool, error:NSError!) -> Void in
                self.dismissViewControllerAnimated(true, completion: nil)
        })

        GAI.sharedInstance().defaultTracker.send(GAIDictionaryBuilder.createEventWithCategory("AddTask", action: "tap", label: "finish", value: 0).build())
    }

やっていることはMagicalRecordでcoredataに情報を追加しているってだけ。
え?コードが汚い?それは言っちゃダメだ///

試しにTestFlight経由でアプリを突っ込んでみた・・・▷落ちる。

暫定的な対策

リリースビルドといえばOptimazation Levelが違うとか・・・
具体的に何が違うのかまで知らない。

でも外人もstack overflowで「Optimizationじゃね?」って言ってるし。
以下のように変更して再度TestFlight経由で送る。
スクリーンショット 2014-11-29 22.44.13.png

すると・・・▷落ちない!!
つまり結論として

swiftのリリースビルドで落ちるのは、swiftのComplilerがリリースビルドではなんや悪さしている。

ということで。

今回のコードの中ではMagicalRecordを使っていて、Bridge経由でこれを使っている。
問題が特定しにくい、とりあえずCrashlyticsを仕込んでみた。

原因は調査中です、今回はここまで。

TestFlightで新しいビルドが出ない!

なかなか待っても新しいビルドがテストフライトに表示されない・・・
そんな時は

スクリーンショット 2014-11-29 22.49.13.png
これの右側のスイッチを一回オフにしてからオンにしてください。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7