728x90 ๋ฐ์ํ โ๏ธError42 [Firebase iOS] addSnapshotListener ์ฌ๋ฌ๋ฒ ํธ์ถ๋๋ ์๋ฌ ํด๊ฒฐํ๋๋ฒ(Detach Listener) ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋์ Firestore์์ addSnaptshotListener๋ฅผ ๋ค๋ฃฐ๋ ์ฃผ์ํด์ผํ ์ ์ ๋ํด์ ์ ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค. addSnapshotListener๋ฅผ ์ฌ์ฉํ ๋ ์ฌ๋ฌ๋ฒ ํธ์ถ๋๋ ๊ฒฝ์ฐ์ธ๋ฐ์. ๋ฐ์ดํฐ๊ฐ ๋ฐ๋์์๋ ๋ฑ ํ๋ฒ๋ง ํธ์ถ๋๊ฒ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ๊ฒ์~ ๋ค์๊ณผ ๊ฐ์ด addSnapshotListener๋ฅผ ์ฌ์ฉํ์์๋ "listener called"๋ผ๊ณ ์ถ๋ ฅ๋๊ฒ ํด๋ณด๊ฒ ์ต๋๋ค. ์๋์ ๊ฐ์ด listener called๊ฐ ๋งค์ฐ ๋ง์ด ํธ์ถ๋๋๋ฐ์. ์ด๊ฒ์ viewDidLoad๊ฐ ์คํ๋๋ฉด ์คํ๋๋๋งํผ ๋ฐ์ดํฐ๊ฐ ๋ฐ๋์์๋ ๋ฐฐ๋ก ์ถ๋ ฅ๋๊ฒ ๋ฉ๋๋ค. ์ ๊ทธ๋ด๊น์? addSnapshotListener๋ ๋ง ๊ทธ๋๋ก SnapshotListener๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก viewDi.. 2021. 2. 9. [Firebase Storage Error] User does not have permission to accss ~~ ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋์ ์ค๋๋ง์ Firebase Storage ์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ ํ๋ ค๋๋ฐ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ง๋ฌ์ด์. ํด๊ฒฐ๋ฐฉ๋ฒ์ ๊ฝค ๊ฐ๋จํ๋ฐ ๊ธฐ๋กํด๋๊ธฐ ์ํด์ ์ ์ด๋ด ๋๋ค! Solution ํด์ํด๋ณด๋ ์ ์ ๊ฐ ์ ๊ทผํ ๊ถํ์ด ์๋ค๋ ๋ป์ด๋ค์! ๋จผ์ Firebase ์ฝ์๋ก ์ด๋ํด์ Storageํญ์์ Rules๋ก ๊ฐ์ฃผ์ธ์~ ๊ทธ๋ฌ๋ฉด ์ ๊ธฐ ๋งจ ์๋ซ์ค์ allow read,write if request.auth != null; ์ด๋ผ๊ณ ๋์ด์๋๋ฐ์. ์ฌ๊ธฐ์ ๋ค์ if request.auth != null; ์ ์ง์์ค๋๋ค. ๊ทธ๋ฌ๋ฉด ์ ์ ๊ฐ ์ ๊ทผํ ๊ถํ์ ํ๋ฝํ๊ฒ ๋ฉ๋๋ค! 2021. 2. 2. [Flutter Error ํด๊ฒฐ๋ฒ ํฌํจ] could not build the application for the simulator. ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋์ Flutter ๋ฅผ ๊ฐ๋ฐํ๋ ค๊ณ ์์ํ์๋ง์ ๋ง๋ ์๋ฌ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. Error Flutter ์ฝ๋๋ฅผ ์์ฑํ๊ณ iOS ์๋ฎฌ๋ ์ดํฐ๋ก ๋๋ ค๋ณด๋ ค๋๋ฐ ๊ฐ์๊ธฐ ์๋์ ๊ฐ์ด "Could not build the application for the simulator" ๋ผ๊ณ ์ค๋ฅ๊ฐ ๋จ๋๊ฑฐ์์. Solution ๊ทธ๋์ ๊ตฌ๊ธ๋ง์ ํด๋ณด์๋๋ ์๋์ ๊ฐ์ ํด๊ฒฐ๋ฒ์ ์ฐพ์ ์ ์์์ด์. 1. ํด๋น ํ๋ก์ ํธ์์ iosํด๋์ ๋ค์ด๊ฐ์ xcworkspace ํ์ผ์ ์ด์ด์ xcode์์์ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ํ๋ฒ ์ผ๊ณ ๋ค์ ์คํํ๋ค. 2.ํฐ๋ฏธ๋์ ์ผ๊ณ ํด๋น ํ๋ก์ ํธ ์ฃผ์๋ฅผ ์ ๋ ฅํ flutter clean์ ์ ๋ ฅํ๋ค. ์ ๋ ์ด ๋ ํด๊ฒฐ๋ฒ์ ๋์์ ํด์ ๋ฌด์์ผ๋ก ํด๊ฒฐ๋์ง๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค์ ใ ์๋ฌดํผ ์ด ๋ ํด๊ฒฐ.. 2021. 1. 24. [ํด๊ฒฐ๋ฒ ํฌํจ] 14.3 iOS ์๋ฎฌ๋ ์ดํฐ ๋ ธ๋์ ํดํธ ์๋ฌ (Simulator Yellow Tint Error) ์๋ ํ์ธ์ Foma ์ ๋๋ค. ์ค๋์ 14.3 ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์คํํ๋ฉด ์ ์ฒด์ ์ธ ํดํธ๊ฐ ๋ ธ๋์์ผ๋ก ๋ณํด์๋ ํ์์ ๋ฐ๊ฒฌํ์ด์. (์๋์ ๊ฐ์ด ํดํธ๊ฐ ๋ ธ๋์์ผ๋ก ๋ณํด์์. ์ฑ์ ์ผ๋ ํญ,๋ค๋น๊ฒ์ด์ ๋ฐ ๋ชจ๋ ๋ ธ๋์) ํด๊ฒฐ๋ฐฉ๋ฒ์ Simulator - File - GPU Selection - Prefer Integrated GPU ๋ฅผ ์ ํํด์ฃผ์๊ณ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ๊ป๋ค ์ผ๋ฉด ์๋์ ๊ฐ์ด ์ ์์ ์ผ๋ก ์์ด ๋์์ค๊ฒ ๋ฉ๋๋ค. 2020. 12. 29. [ํด๊ฒฐ๋ฒ ํฌํจ] ์ฑ๋ฐฐํฌ์ ์๋ฌ Redundant Binary Upload. You've already uploaded a build with build number ์๋ ํ์ธ์ Foma ์ ๋๋ค!! ์ค๋ ๋ฐ๊ฒฌํ ์๋ฌ ๋ ์๋์ ๊ฐ์ด ์ฑ์ ์์นด์ด๋ธํ ๋ค ์ฌ๋ฐฐํฌํ๋ ค๊ณ ํ๋ "Redundant Binary Upload. You've already uploaded a build with build number ~" ๋ผ๊ณ ๋จ๋ ๋ผ๊ตฌ์. ํด๊ฒฐ๋ฐฉ๋ฒ์ ์ฑ์ Target์ผ๋ก ์ด๋ํ์ ์ Build๋ฅผ ์๋์๋ build ๋ฒํธ์ ์ค๋ณต๋๋ฉด ์๋๋ค๋ ๊ฒ์ด์์ด์. ์๋์ ๊ฐ์ด ์ค๋ณต๋์ง์๋ ๋น๋ ๋ฒํธ๋ฅผ ์ ์ด์ฃผ์๋ฉด ์๋์ ๊ฐ์ด ์ฑ๊ณต์ ์ผ๋ก ์ ๋ก๋๊ฐ ๋์ค๊ฒ๋๋ค!! 2020. 12. 27. [ํด๊ฒฐ๋ฒ] ์คํ ๋ฆฌ๋ณด๋ ์ ์ฒด ๋ธ๋์คํฌ๋ฆฐ (All Storyboard Black Screen) ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋ ๋ง๋ ์๋ฌ๋ ์คํ ๋ฆฌ๋ณด๋ ์ ์ฒด๊ฐ ๋ธ๋์คํฌ๋ฆฐ์ผ๋ก ๋ณํ๋ ํ์์ด์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋งฅ์ ๊ป๋ค ์ผ์๋ฉด ๋ฉ๋๋ค! 2020. 12. 17. [ํด๊ฒฐ๋ฒ ํฌํจ]Undefined symbol:_OBJC_CLASS_$_ ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋๋ ์ด๊น์์ด ์๋ก์ด ์๋ฌ๋ฅผ ์์งํ๊ฒ ๋์์ต๋๋ค. ๋ฐ๋ก "Undefined symbol:_OBJC_CLASS_$_" ๋ผ๋ ์ค๋ฅ์์ต๋๋ค. ์ ๋ง ์๋ฌด๊ฒ๋ ์๊ฑด๋๋ฆฌ๊ณ podfile์ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ๋ ์ถ๊ฐํด์ค๊ฒ ๋ฟ์ธ๋ฐ.... ๊ทธ๋๋ ์ด์ฌํ ๊ตฌ๊ธ๋งํด๋ณด๋๊น ์ฌ๋ฌ๊ฐ์ง ํด๊ฒฐ๋ฒ์ด ๋ง์๋๋ฐ ์ ๊ฐ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ผ๋ก podfile์ ๋ณด์๋ฉด ์๋์ ๊ฐ์ด ์ฌ๋ฌ๊ฐ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ์์๊ฑฐ์์! ์ ๋ ์ด๊ฒ๋ค์ ์ ๋ถ ๋ค ์ง์ฐ๊ณ (๋ค์ ๋ฃ์ด์ค๊ฑฐ๋๊น ๋ฐ๋์ ๋ณต์ฌํด๋๊ณ ์ง์์ฃผ์ธ์!) ํฐ๋ฏธ๋์์ pod install์ ํด์ฃผ์๋ฉด ์๋์ ๊ฐ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ์ญ์ ๋๋ ๊ฒ์ด ๋ณด์ผ๊ฑฐ์์! (์ค๋ฅ๊ฐ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง ์ญ์ ํด๋ ๋ฉ๋๋ค.) ๋ค์ podfile๋ก ๋์๊ฐ์ ์๊น ์ง์ ๋ ๊ฒ๋ค์ ๋ค์ ๋ถ์ฌ๋ฃ์ด์ฃผ๊ณ pod insta.. 2020. 12. 11. [ํด๊ฒฐ๋ฒ] error: pathspec did not match any file(s) known to git ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋์ ์์ค์ฝ๋์์ ์๋ก์ด ์ปค๋ฐ์ ์ฌ๋ฆฌ๊ณ ํธ์ฌํ๋ ค๋๋ฐ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ์ด์. ๊ทธ๋์ ๊ตฌ๊ธ๋ง ํด์ ์ฐพ์๋ณธ ๊ฒฐ๊ณผ ๋ธ๋์น๊ฐ ์ ๋ฐ์ดํธ ์๋์ ์๊ธฐ๋ ๊ฒฐ๊ณผ๋ผ๊ณ ํ๋ค์. ํด๊ฒฐ๋ฐฉ๋ฒ์ ํด๋น ํฐ๋ฏธ๋์์ ํด๋น ํ๋ก์ ํธ ์ฃผ์๋ก ๋ค์ด๊ฐ์ "git remote update" ํ์ ๋ค "git fetch" ํด์ฃผ์๋ฉด ๋ฉ๋๋ค!! 2020. 12. 8. [ํด๊ฒฐ๋ฒ] Push to remoteํ ๋ Loading remotes ์ค๋ฅ(Xcode์์ ์ปค๋ฐ ์ ๋ฐ์ดํธ ์๋๋ ๊ฒฝ์ฐ) ์๋ ํ์ธ์ Foma ์ ๋๋ค! ์ค๋์ Xcode๋ก git์ Commitํ๊ณ push๋ฅผ ํ๋๋ฐ Branches - main์๋ Commit์ด ์ ๋ฐ์ดํธ๊ฐ ์๋๊ณ Remotes - origin - main ์๋ง Commit์ด ์ ์ฅ๋๋๋ผ๊ตฌ์. ๊ทธ๋ฆฌ๊ณ Github ์ฌ์ดํธ์๋ ์๊พธ ์ปค๋ฐ์ด ์ ๋ฐ์ดํธ๊ฐ ์๋์ ์ด๊ฒ ๋ฌด์จ ์ํฉ์ด์ง? ํ๊ณ push๋ฅผ ํ ๋ ์์ธํ ๋ด๋ดค๋๋ ์๋ ์ฌ์ง์ฒ๋ผ Loading remotes๊ฐ ๊ณ์ ๋๋๊ฑฐ์์. ๊ทธ๋์ ์ด์ฌํ ๊ตฌ๊ธ๋งํด๋ณธ ๊ฒฐ๊ณผ Xcode์์ ์ด์ ๋น๋๋ฅผ ํ์ธํ ๋ ๋ฌธ์ ๊ฐ ์๊ฒจ ์ฐ๊ฒฐ์ด ๋์ด์ง ์ ์๋ค๊ณ ํ๋ค์.(๋ฌด์จ ๋ง์ธ์ง๋ ์...) Solution ํด๊ฒฐ๋ฒ์ ์ฐ์ ํฐ๋ฏธ๋์ git push origin head:main (master์ผ์๋ ์์) ์ ํด์ฃผ์๊ณ ํด๋น Branches - ma.. 2020. 12. 1. [ํด๊ฒฐ๋ฒ ํฌํจ] duplicate symbols for architecture x86_64 ์๋ ํ์ธ์ ์๋ฌ์์ง๊ฐ Foma ์ ๋๋ค... ์ค๋๋ถํฐ๋ ์๋ฌ๋ฅผ ๋ ์ด์ ๋์ด๊ฐ์ง์๊ณ ๋ชจ์๋ณด๋ ค๊ณ ํด์. ์์ ๋ถํฐ ์๋ฌ๋ฅผ ๋ง๋๋ฉด ๋นจ๋ฆฌ ๊ณ ์น๊ธฐ์๋ง ๊ธ๊ธํ๊ณ ๊ณ ์น๋ฉด ์๋ํ๋ฉด์ ๋์ด๊ฐ๋์ ์ด ์๋๋ฐ์. ์ค๋์ ์์ ์ ๋๊ฐ์ ์๋ฌ๋ฅผ ๋ง๋ฌ๋๋ฐ ์ด๋ป๊ฒ ํด๊ฒฐํด์ผํ ์ง ๋ชฐ๋ผ ๋ช์๊ฐ์ ํค๋งธ์ต๋๋ค. ๊ทธ๋์ ํญ์ ์๋ฌ๋ฅผ ์์งํด์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํด๋ ์ด๋ค ์๋ฌ๋ฅผ ๋ง๋๋ ์ซ์ง(?)์๋ Foma๊ฐ ๋๋๋ก ํ ๊ฑฐ์์. Error ์ค๋์ ์๋ฌ๋ ๋ฐ๋ก ์ ๋ชฉ์์๋ณด์๋ค์ํผ "duplicate symbols for architecture x86_64" ๋ผ๋ ์๋ฌ๋ฅผ ๋ง๋ฌ์ต๋๋ค. ๋ญ ๊ฐ๋จํ๊ฒ ํด์ํ๋ฉด 117๊ฐ ์ฌ๋ณผ์ด ๋ณต์ ๋์ด ์๋ค?? ์ด๊ฒ ๋ฌด์จ ์๋ฆฌ์ง? ํ๊ณ ๋ฐ๋ก ๊ตฌ๊ธ์ ๊ฒ์ํด๋ดค์ต๋๋ค. ์ญ์๋ ๋ง์ ์ฌ๋๋ค์ด ๊ฒช์๋ ์๋ฌ์์ด์. (์คํ ์ค๋ฒ ํ๋ก์ฐ ์ต๊ณ .. 2020. 11. 21. FireStore ๋ณตํฉ์ฟผ๋ฆฌ์๋ฌ(Error Domain=FIRFirestoreErrorDomain Code=9) FireStore๋ whereField,orderBy,limit ๋ฑ์ ์ฟผ๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. whereField => isEqualTo,isLessThan,isGreaterThan ๋ฑ ๊ฐ์ด ์๊ฑฐ๋,๊ฐ๊ฑฐ๋,๊ฐ์ ํ๋๋ช ์ผ๋ก ์ฐพ์ ์ ์๋ ์ฟผ๋ฆฌ์ ๋๋ค. orderyBy => descending,ascending์ผ๋ก ๊ฐ ๋ด๋ฆผ์ฐจ์๊ณผ ์ค๋ฆ์ฐจ์์ผ๋ก ํ๋๋ช ์ผ๋ก ์ ๋ ฌํ ์ ์๋ ์ฟผ๋ฆฌ์ ๋๋ค. limit => ์ํ๋ ๊ฐฏ์๋งํผ ๋ฌธ์๋ฅผ ์ ํํ ์ ์๋ ์ฟผ๋ฆฌ์ ๋๋ค. ๋ฐ์ดํฐ๋ ์๋ ์ฌ์ง๊ณผ ๊ฐ์ต๋๋ค. "cities"๋ผ๋ ์ฝ๋ ์ ์์ "capital"์ด true์ด๊ณ "country"๊ฐ "China"์ธ ๋ฌธ์๋ฅผ "population"์ ๊ฐ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ฌธ์๋ค์ ๊ฐ์ ธ์ค๋ ค๊ณ ํ ๋ ์๋์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํ์์ต๋๋ค. ํ์ง๋ง ์๋์ ๊ฐ์ .. 2020. 8. 27. [ํด๊ฒฐ๋ฒ ํฌํจ]'NSInternalInconsistencyException', reason: 'could not dequeue a view of kind: UICollectionElementKindCell with identifier ์ฝ๋ ์ ๋ทฐ์์ dequeueReusableCell์์ ์์ด๋ดํฐํผ์ด๋ฅผ ์ง์ ํ๋ ๋์ค ์ด๋ฌํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์ด์ฌํ ๊ตฌ๊ธ๋งํ ๊ฒฐ๊ณผ collectionView.register(์ฝ๋ ์ ๋ทฐ์ ํด๋์ค์ด๋ฆ.self, forCellWithReuseIdentifier: "์์ ์ ์์ด๋ดํฐํผ์ด ์ด๋ฆ") ์ viewDidLoad์ ๋ฃ์ด์ฃผ๋ฉด ๋์๋ค. 1 collectionView.register(์์ ์์ฝ๋ ์ ๋ทฐ์ ํด๋์ค.self, forCellWithReuseIdentifier: "์์ด๋ดํฐํผ์ด์ด๋ฆ") cs ์์ ์ ํด๋์ค ์ด๋ฆ ์์ ์ ์์ด๋ดํ ํผ์ด ์ด๋ฆ 2020. 5. 31. ์ด์ 1 2 3 4 ๋ค์ 728x90 ๋ฐ์ํ