Firebaseのイベントが送信されず2週間苦しんだ話

Fe9ce1fc26c929ec0e98d1485894761a?s=47 sussan0416
October 23, 2019

 Firebaseのイベントが送信されず2週間苦しんだ話

CocoaPodsを使用してFirebase(Analyitcs)を導入しましたが、イベントが正しく送信されず、2週間ほどスタックしました。
原因は、CocoaPodsの設定ミスがあったためで、Podfileの書き方を修正することでイベントが送信されない問題は解決しました。
Firebaseを導入する際、CocoaPodsを使用する場合は、メインで使用するターゲット以外でFirebaseに依存しないよう(=依存が重複しないよう)に注意する必要があったようです……。

Fe9ce1fc26c929ec0e98d1485894761a?s=128

sussan0416

October 23, 2019
Tweet

Transcript

  1. 'JSFCBTFͷΠϕϯτ͕ૹ৴͞Εͣ
 िؒۤ͠Μͩ࿩ ླ໦޹޺ʢ!TVTTBOʣ  ͋Δ͋Δ-5ʙJ04ΞϓϦ։ൃΤϯδχΞʙ7PM

  2.  ϑϦʔϥϯε ླ໦޹޺ !TVTTBO ωΠςΟϒΞϓϦͷ։ൃ͕ઐ໳Ͱ͢

  3.  ͜ͷهࣄݟ͔͚ͨ͜ͱ͋Δਓʜʜ✋ʢ͍Δ͔΋ʁʣ

  4.  ૣ଎Ͱ͕͢ʜʜ

  5.  $PDPB1PETʹۤ͠ΊΒΕ͍ͯ·ͤΜ͔ʁ

  6.  ࠓճͷςʔϚ ୲౰͢ΔΞϓϦʹ'JSFCBTFΛಋೖͨ͠΋ͷͷ 1PEpMFͷޡͬͨॻ͖ํͷͨΊʹɺΠϕϯτ͕ૹ৴͞Εͣ िؒۤ͠Μͩ ·ͨ$PDPB1PETͰۤ͠ΊΒΕ·ͨ͠ʜʜ

  7.  ૣ଎ɺ݁࿦Ͱ͕͢ʜʜ

  8.  ࠓճͷ݁࿦ Ϛϧνλʔήοτߏ੒ͷϓϩδΣΫτͰ͸ɺ 'JSFCBTF΁ͷґଘ͕ॏෳ͠ͳ͍Α͏ʹ 1PEpMFͷॻ͖ํʹؾΛ͚ͭΑ͏ γϯϓϧʹɺࠓ೔͸͜Ε͚ͩͰ͢ɻ

  9.  ຊฤ

  10.  'JSFCBTFͷ"OBMZUJDT͕ఏڙ͢Δओͳ"1* Ϣʔβଐੑܥ TFU6TFS*% TFU6TFS1SPQFSUZ Πϕϯτܥ TFU4DSFFO/BNF MPH&WFOU ͍ͣΕ΋ɺૹ৴͞Ε·ͤΜͰͨ͠ɻ ॳظԽ͞Ε͍ͯΔ͠ɺ'*3%FCVH&OBCMFEͷίϚϯυϥΠϯҾ਺΋ೖΕ͍ͯͨɻ

  11.  ૺ۰ͨ͠঱ঢ় WJFX%JE"QQFBSͰ࣮ߦ͢ΔTFU4DSFFO/BNF͸ ૹ৴͞ΕΔ͕ɺҎ߱͸શ͘ಈ࡞͠ͳ͍ MPH&WFOUɾTFU6TFS*%ɾTFU6TFS1SPQFSUZ͸ɺ શ͘ػೳ͠ͳ͍ ɾpSTU@PQFO ɾTFTTJPO@TUBSU ɾTDSFFO@WJFX ࣗಈ

     ɾTDSFFO@WJFX WJFX%JE"QQFBS ͷΈ ૹ৴͞ΕΔΠϕϯτ
  12.  ճ໨Ҏ߱΋ɺૹ৴͞ΕΔΑʂ TDSFFO@FWFOU͕ೋॏʹૹ৴͞ΕΔ݅ ͸ɺͳΜͱ͔͠Α͏ͱ͍ͯ͠ΔΑʂ ճ໨Ҏ͕߱ૹ৴͞Εͳͯ͘ࠔ͍ͬͯΔ ΜͰ͢ ɻ ୲౰ΞϓϦͷ࣮૷Λ·ͶͨαϯϓϧΞϓ Ϧ΋࡞ͬͨͷͰɺݟͯ΋Β͑·͔͢ʁ ݟͨײ͡ɺؒҧͬͯͳ͍Ͷʜʜɻ

    2VJDL4UBSUͷΞϓϦͰ࠶ݱͰ͖ͨΒ
 ·ͨ࿈བྷͯ͠ʂ WJFX%JE"QQFBSҎ߱Ͱ TFU4DSFFO/BNFͯ͠΋ɺΠϕϯτ͕ૹ ৴͞Ε·ͤΜɻճ͔͠ݺ΂ͳ͍ͷʁ ΍ͬͯΈ·͢ʔʜʜʂ 2VJDL4UBSUˠIUUQTHJUIVCDPNpSFCBTFRVJDLTUBSUJPT
  13.  ͋Δ࣌ʜʜ ݱ৅Λ࠶ݱͤ͞ΔͨΊʹɺվΊͯϩάΛݟ௚͍ͯ͠·ͨ͠ɻ

  14.  objc[25445]: Class FIRAnalytics is implemented in both [library path

    in target “App”] and [library path in target “Model”]. One of the two will be used. Which one is undefined.
  15.  objc[25445]: Class FIRAnalytics is implemented in both [library path

    in target “App”] and [library path in target “Model”]. One of the two will be used. Which one is undefined. '*3"OBMZUJDT͕ɺUBSHFUl"QQzͱUBSHFUl.PEFMzʹ࣮૷͞Ε͍ͯ·͢ɻ ͭͷ͏͕ͪͭ࢖ΘΕΔ͚ͲɺͲͬͪͷλʔήοτͷΛ࢖͏͔ະఆٛͰ͢ɻ
  16.  ͭ·Γɺ͜Μͳঢ়گͰͨ͠ʜʜ 'JSFCBTF΁ͷґଘܦ࿏͕ɺͭ͋ͬͨ ϝΠϯλʔήοτ

  17.  ࣮ࡍͷ1PEpMFΛൈਮʢλʔήοτ໊͸෬͍ͤͯ·͢ʣ abstract_target 'MyApp' do platform :ios, '8.0' use_frameworks! pod

    'Firebase/Analytics' target 'Application' do # Firebase͕ඞཁͳλʔήοτ end target 'Model' do # ຊདྷɺFirebase͕ෆཁͷλʔήοτͳͷʹґଘ͍ͯ͠Δ end end ·͞ʹ2JJUBͷʮ&NCFEEFE'SBNFXPSL࢖͍͜ͳ͠ज़ʯʹ͋ΔΑ͏ͳॻ͖ํͰͨ͠
  18.  1PEpMFΛมߋͯ͠ɺແࣄɺΠϕϯτ͕ૹ৴͞Ε·ͨ͠ʂ abstract_target 'MyApp' do platform :ios, '8.0' use_frameworks! #

    pod 'Firebase/Analytics' ← ͪ͜Β͸࡟আ target 'Application' do # Firebase͕ඞཁͳλʔήοτ pod 'Firebase/Analytics' # ͜͜ʹ௥Ճ end target 'Model' do # Firebaseෆཁͷλʔήοτͳͷʹґଘ͍ͯͨ͠ end end 2JJUBͷʮ$PDPB1PETͰ'JSFCBTFΛNBJOUBSHFUҎ֎ʹೖΕΔ͜ͱ͕Ͱ͖ͳ͍໰୊ʢղܾࡁʣʯ͕ࢀߟʹͳΓ·ͨ͠
  19.  ղܾͯ͠Α͔ͬͨͶɻ 'JSFCBTFʹ͍࣭ͭͯ໰΍໰୊͕͋Ε͹ɺ αϙʔτνϟϯωϧʹ͓ؾܰʹ·ͨ࿈བྷ ͍ͯͩ͘͠͞ɻ ͍ͭʹղܾ͠·ͨ͠ɻ ґଘͷॏෳ͕ݪҼͰͨ͠ɻ ϩάΛ஫ҙਂ͘ݟ௚͍ͯͨ͠ΒɺҎԼͷ ϩάΛݟ͚ͭ·ͨ͠ɻ ʢུʣ

    1PEpMFΛҎԼͷΑ͏ʹमਖ਼ͨ͠ͱ͜ ΖɺΠϕϯτ͕ਖ਼͘͠ૹ৴͞ΕΔΑ͏ʹ ͳΓ·ͨ͠ɻ ʢུʣ αϙʔτ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ λʔήοτ͕ෳ਺͋ΔΞϓϦέʔγϣϯ Ͱ͸ɺ$PDPB1PETͷ࢖͍ํʹؾΛ͚ͭ Δඞཁ͕͋Γ·ͨ͠ɻ
  20.  ·ͱΊ w 'JSFCBTF͕ਖ਼͘͠ಈ࡞ͤͣɺࣗಈऩूͷΞφϦςΟΫεΠϕϯτ Ҏ֎ૹ৴͞Εͳ͍ݱ৅ʹૺ۰͠·ͨ͠ w 1PEpMFͷهड़͕ɺෳ਺ͷλʔήοτ͕'JSFCBTFʹґଘ͢ΔΑ͏ ʹͳ͍ͬͯͨ͜ͱ͕ݪҼͰͨ͠ w ໰୊ͱͳ͍ͬͯΔػೳपลͷϩά͸஫ҙਂ͘ݟΔ͜ͱ

    w ͦΕͰ΋ελοΫͨ͠ΒϩάΛ၆ᛌ͠ɺ໰୊ՕॴҎ֎ͷϩάʹ΋ ໨Λ௨͢ ֶͼ
  21.  ݁࿦ Ҏ্Ͱ͢N @@ N Ϛϧνλʔήοτߏ੒ͷϓϩδΣΫτͰ͸ɺ 'JSFCBTF΁ͷґଘ͕ॏෳ͠ͳ͍Α͏ʹ 1PEpMFͷॻ͖ํʹؾΛ͚ͭΑ͏