## ์ฒดํฌ๋ฆฌ์คํธ
## ํ๊ฒฝ
์ฌ๊ธฐ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ค๋ช
ํ๊ณ ๊ฐ๋ฅํ ํ ๋ง์ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ธ์. ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ ๋ค์์ ํฌํจํด์ผํฉ๋๋ค.
2019.3.12b
7.18.0, 7.17.2
์ค์น ํ๋ซํผ ๋ฐ ๋ฒ์ : [iOS]
๋ฒ์ 10.0+
Unity 2019.3์ ์ฌ์ฉํ์ฌ iOS ์ฉ ๋น๋
์ฑ๊ณต์ ์ธ ๋น๋
RegisterMonoModule.h๊ฐ ๋ ์ด์ Unity 2019.3์์ ์ค๊ณ ์ ์ ๊ณต๋์ง ์๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ์ด ์คํจํฉ๋๋ค : https://issuetracker.unity3d.com/issues/filenotfoundexception-when-building-a-project-with-facebook-sdk-for-ios
์ต์ Unity ์ง์ ๋ฒ์ ์ด ์ด๋ฏธ 5.4์ด๋ฏ๋ก RegisterMonoModules.cpp ๋ฐ RegisterMonoModules.hi์ ๊ด๋ จ๋ FixUp ๋ถ๋ถ์ ๊ฐ๋จํ ์ ๊ฑฐํ๊ณ FBUnityInterface.h์์ 21-27 ํ์ ์ ๊ฑฐ ํ ์ ์์ต๋๋ค.
## ์ฌํ ๋จ๊ณ
์ด ๋ฌธ์ ๋ฅผ ์ฌํํ๋ ๋ฐ ํ์ํ ๋จ๊ณ๋ ๋ฌด์์
๋๊น?
ํด๊ฒฐ์ฑ ์ ์ฐพ์์ต๋๊น?
ํด๊ฒฐ์ฑ ์ ์ฐพ์์ต๋๊น?
Facebook / FacebookSDK / SDK / Editor / iOS / FBUnityInterface.h ์์ #include "RegisterMonoModules.h"
๋ฅผ ์ ๊ฑฐ ํ๊ณ ํญ์ UnityTrampolineConfigure.h
ํฌํจํ๋ฉด ํจ๊ณผ๊ฐ์์์ต๋๋ค.
RegisterModules.h
๋ฉ์๋ ๋ง์๋ ํ์ผ : void RegisterMonoModules();
Unity 2019.3์์๋ ํ๋ช
ํ๊ฒ ์ ๊ฑฐํ์ต๋๋ค.
๊ทธ๋ฌ๋ Facebook SDK๋ Unity๊ฐ 4.3 xD๋ณด๋ค ์๋ก์ด ๊ฒฝ์ฐ HAS_UNITY_VERSION_DEF๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด์ด ํ์ผ์ ์์ฒญํฉ๋๋ค.
https://github.com/facebook/facebook-sdk-for-unity/blob/f76fd1cec1f08a36d90b21c8ab74cba1168f0d84/Facebook.Unity.Editor/iOS/FixupFiles.cs
๋ฐ๋ผ์ FBUnityInterface.h๋ ํญ์ UnityTrampolineConfigure.h๋ฅผ ํฌํจํ๋๋ก ๋ณ๊ฒฝํ์ต๋๋ค (์ฐ๋ฆฌ๊ฐ ๊ฐ์ง ๊ฒ๊ณผ ๋์ผํ ๋์์ ์ ์งํ๊ธฐ ์ํด).
๋๋์ด ๋ฌธ์ ๊ฐ์๋ค!
#include "RegisterMonoModules.h"๋ฅผ ์ ๊ฑฐํ์ต๋๋ค.
๊ทธ๋ฌ๋ ์ฌ์ ํ /Pods/Headers/Public/FBSDKShareKit/FBSDKShareKit/FBSDKHashtag.h:24:9 : ๋ชจ๋ 'FBSDKCoreKit'์ ์ฐพ์ ์ ์์ต๋๋ค.
Facebook์ด ์ ๋ฐ์ดํธ๋ฅผ ๋ฐํ ํ ๋๊น์ง ์ต์ ์ ํด๊ฒฐ์ฑ ์ ์ ๊ฐ ์๋ํ ๊ฒ ์ค ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ ํ์ผ์ ์ด์ ์ธ๋ชจ๊ฐ ์์ง๋ง FB SDK๋ ์ฌ์ ํ ๊ทธ๊ฒ์ ์์กดํฉ๋๋ค.
์ด ํ์ผ์ ํฌ์คํธ ํ๋ก์ธ์ค ๋ฅผ ์ค๋จํ๋ ํฌ์คํธ ํ๋ก์ธ์ค
์๋ฌด๋ ์ด๊ฒ์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์์ง ์๊ฐํด ๋์ต๋๊น?
"#include RegisterModules.h"์ค์ ์ฃผ์์ ๋ฌ์์ง๋ง ๊ฒ์์ ๋ค์ ๋น๋ํ์ ๋ ์ฌ์ ํ RegisterModules.h๋ฅผ ์ฐพ์ ์ ์๋ค๋ ๋ฉ์์ง๊ฐ ํ์๋์์ต๋๋ค.
@ h3902340 dll ์ค ํ๋์ RegisterModules.h์ ๋ํ ์ฐธ์กฐ๋ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์๋ ํ์ธ์, ์ ๋ Unity ์ฉ Facebook SDK๋ฅผ 7.18.1๋ก ์ ๊ทธ๋ ์ด๋ํ์ต๋๋ค. "#include RegisterModules.h"์ค ์ด ์ ๊ฑฐ๋์์ง๋ง
์ค๋ฅ์๋ ๋ถ๊ตฌํ๊ณ ๋ก์ปฌ ๋น๋๊ฐ ๋น๋๋์์ง๋ง ๋๋ฝ ๋ ํ์ผ๋ก ์ธํด ๋ฐฐ์น ๋ชจ๋์ ๋น๋๊ฐ ์คํจํ์ต๋๋ค.
Facebook / FacebookSDK / SDK / Editor / iOS / FBUnityInterface.h์์ #include "RegisterMonoModules.h"๋ฅผ ์ ๊ฑฐํ๊ณ ํญ์ UnityTrampolineConfigure.h๋ฅผ ํฌํจํฉ๋๋ค.
๊ฐ์ง ํ์ผ์ ๋ง๋ค๊ธฐ ์ํด์ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
#if UNITY_2019_3_OR_NEWER
using System.IO;
using UnityEditor;
using UnityEditor.Callbacks;
namespace BuildTools.Editor
{
public static class TemporaryFacebookFix20193
{
[PostProcessBuild(99)]
static void BeforeFacebookOnPostProcessBuild(BuildTarget target, string pathToBuiltProject)
{
if(target != BuildTarget.iOS)
{
return;
}
var fullPath = Path.Combine(pathToBuiltProject, Path.Combine("Libraries", "RegisterMonoModules.h"));
if(!File.Exists(fullPath))
{
File.Create(fullPath).Close();
}
}
}
}
#endif
๋ฐ๋ณต @ h3902340
177ff89235716c0f9c4225cf9c11355115da2282๊ฐ #include "RegisterMonoModules.h"
์ ๊ฑฐ ํ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ RegisterMonoModules.h์ ์์กดํ๋ ์ฝ๋๋ ์ฌ์ ํ ๋ง์คํฐ์ ์์ต๋๋ค.
๋ํ HAS_UNITY_VERSION_DEF
๋ FBUnityInterface.h (์์ ๋ RegisterMonoModules.h์์ ์ ์ ๋จ)์ ์ ์๋์ง ์์ผ๋ฏ๋ก ์ ์ฒ๋ฆฌ ๊ธฐ๊ฐ ๋ค์์ ํฌํจํฉ๋๋ค.
#if HAS_UNITY_VERSION_DEF
#include "UnityTrampolineConfigure.h"
#endif
์ด ํ์ผ์ Unity 4.3 ์ด์์ฉ์ผ๋ก ๋น๋ ํ ๋ Unity ์ฉ Facebook SDK์ ์ด์ ๋ฒ์ ์ ํฌํจ๋์์ต๋๋ค. ์ด๊ฒ์ด 177ff89235716c0f9c4225cf9c11355115da2282 (์์์ ์ธ๊ธ ํ ์ปค๋ฐ)์ ์๋ ๋ ๋ถ์์ฉ์ธ์ง ํ์คํ์ง ์์ต๋๋ค.
_ HAS_UNITY_VERSION_DEF ๋ค์ ์
๋ฐ์ดํธ : _
UnityTrampolineConfigure.h๋ ๊ธฐ๋ณธ์ ์ผ๋ก Unity์ ์ํด ์๋ ์์ฑ ๋ ํ์ผ๋ก ๋ค์์ ํฌํจํฉ๋๋ค.
#define UNITY_VERSION 201930
// known unity versions
#define UNITY_4_2_0 420
#define UNITY_4_2_1 421
#define UNITY_4_2_2 422
// ---8<---
#define UNITY_2019_1_0 201910
#define UNITY_2019_2_0 201920
#define UNITY_2019_3_0 201930
๊ทธ๋์ #include "UnityTrampolineConfigure.h"์ ๊ทธ๊ฒ์ ๋๋ฌ์ผ #ifdef๋ ๋ฌธ์ ์์ด ์ ๊ฑฐ ๋ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค. UNITY_VERSION์ SDK์ ์ด๋์๋ ์ฌ์ฉ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค ...
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ค๋ฅ์๋ ๋ถ๊ตฌํ๊ณ ๋ก์ปฌ ๋น๋๊ฐ ๋น๋๋์์ง๋ง ๋๋ฝ ๋ ํ์ผ๋ก ์ธํด ๋ฐฐ์น ๋ชจ๋์ ๋น๋๊ฐ ์คํจํ์ต๋๋ค.
Facebook / FacebookSDK / SDK / Editor / iOS / FBUnityInterface.h์์ #include "RegisterMonoModules.h"๋ฅผ ์ ๊ฑฐํ๊ณ ํญ์ UnityTrampolineConfigure.h๋ฅผ ํฌํจํฉ๋๋ค.
๊ฐ์ง ํ์ผ์ ๋ง๋ค๊ธฐ ์ํด์ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.