์ฌ๊ธฐ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ค๋ช ํ๊ณ ๊ฐ๋ฅํ ํ ๋ง์ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ธ์. ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ ๋ค์์ ํฌํจํด์ผํฉ๋๋ค.
2018.4.23
7.21.0
์ง์์ ์ธ ๋ฌธ์ ํด๊ฒฐ์์ด Facebook SDK๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ์ถ์ต๋๋ค.
XCode๋ SDK๋ฅผ ์ ๋ฐ์ดํธ ํ ํ ํด๋ผ์ด์ธํธ๋ฅผ ๊น๋ํ๊ฒ ๋น๋ํฉ๋๋ค.
XCode ๋น๋ ์คํจ
7.20.0-> 7.21.0์์ ์ ๋ฐ์ดํธํ๊ณ XCode์์ ๋น๋
์ต๊ทผ ๋ฉ์์ง ํ์
์ ์๋์ง ์์ ๊ธฐํธ : __swift_FORCE_LOAD _ $ _ swiftCompatibilityDynamicReplacements
์ ์๋์ง ์์ ๊ธฐํธ : __swift_FORCE_LOAD _ $ _ swiftCompatibility50
ํ์ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ด ๋ณด๋ธ XCode ํ๋ก์ ํธ์ Podfile์ use_framework!
์ ์ถ๊ฐํ๋ ๊ฒ์
๋๋ค.
ํ์ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ด ๋ณด๋ธ XCode ํ๋ก์ ํธ์ Podfile์
use_framework!
์ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค.
@KylinChang ๊ฐ์ฌํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค @KylinChang ,
SDK ๋ค์ด๋ก๋ ํ์ด์ง์์ ๋ฒ๊ทธ๊ฐ์๋ ๋ฒ์ ์ ๋ฆด๋ฆฌ์ค ๋
ธํธ์ ์ถ๊ฐํ๋ฉด ๋์์ด ๋ ๊ฒ์
๋๋ค.
์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ๋ณ๊ฒฝ ๋ก๊ทธ์ ๋ญ๊ฐ ์ถ๊ฐํด์ผํฉ๋๋ค.
๋ํ use_frameworks!
(๋ณต์) ๐
use_frameworks ์ถ๊ฐ ํ! ํ๋ก์ ํธ๊ฐ ๋น๋๋์ง๋ง ์์์์ด ์ค๋ฅ์ ํจ๊ป ์ถฉ๋ํฉ๋๋ค.
[13858:5861271] Error loading /var/containers/Bundle/Application/59B84CDD-B5F4-4BEB-A75B-44DC54DE13E3/myProject.app/Frameworks/UnityFramework.framework/UnityFramework: dlopen(/var/containers/Bundle/Application/59B84CDD-B5F4-4BEB-A75B-44DC54DE13E3/myProject.app/Frameworks/UnityFramework.framework/UnityFramework, 265): Library not loaded: @rpath/FBSDKCoreKit.framework/FBSDKCoreKit
Referenced from: /private/var/containers/Bundle/Application/59B84CDD-B5F4-4BEB-A75B-44DC54DE13E3/myProject.app/Frameworks/UnityFramework.framework/UnityFramework
Reason: image not found
์๋ฒ ๋๋ ํ๋ ์ ์ํฌ ๋ชฉ๋ก์ ์ถ๊ฐํด๋ ๋์์ด๋์ง ์์์ต๋๋ค.
๋ด๊ฐํด์ผ ํ ๋ค๋ฅธ ์ผ์ด ์์ต๋๊น?
๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์๋ํ์ง ์์ต๋๋ค! "use_frameworks!"๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋น๋๋ ์ฌ์ ํ ์คํจํฉ๋๋ค. ๋ค๋ฅธ ๊ฒ์ด ํ์ํฉ๋๊น?
use_frameworks ์ถ๊ฐ ํ! ํ๋ก์ ํธ๊ฐ ๋น๋๋์ง๋ง ์์์์ด ์ค๋ฅ์ ํจ๊ป ์ถฉ๋ํฉ๋๋ค.
[13858:5861271] Error loading /var/containers/Bundle/Application/59B84CDD-B5F4-4BEB-A75B-44DC54DE13E3/myProject.app/Frameworks/UnityFramework.framework/UnityFramework: dlopen(/var/containers/Bundle/Application/59B84CDD-B5F4-4BEB-A75B-44DC54DE13E3/myProject.app/Frameworks/UnityFramework.framework/UnityFramework, 265): Library not loaded: @rpath/FBSDKCoreKit.framework/FBSDKCoreKit Referenced from: /private/var/containers/Bundle/Application/59B84CDD-B5F4-4BEB-A75B-44DC54DE13E3/myProject.app/Frameworks/UnityFramework.framework/UnityFramework Reason: image not found
์๋ฒ ๋๋ ํ๋ ์ ์ํฌ ๋ชฉ๋ก์ ์ถ๊ฐํด๋ ๋์์ด๋์ง ์์์ต๋๋ค.
๋ด๊ฐํด์ผ ํ ๋ค๋ฅธ ์ผ์ด ์์ต๋๊น?
๋๋ ๋๊ฐ์ ๊ฒ์ ์ป๋๋ค : /
@KylinChang podfile ์ด ์ด๋ป๊ฒ ์๊ฒผ๋์ง ๊ณต์ ํด ์ฃผ์๊ฒ ์ต๋๊น?
์ง๊ธ ๋น๋ ํ ์ ์์์ง๋ง ์คํํ ๋ ๋์ผํ ์ค๋ฅ๋ก ์คํจํฉ๋๋ค. ์๋ฌด๋ ๊ทธ๊ฒ์ ์๋์ํฌ ์ ์์์ต๋๊น?
Unity 2019.4.1, Facebook SDK 7.21.1์์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
use_frameworks!
๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์ ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง ์ฌ์ฉ๋ฉ๋๋ค. ๋ฌผ๋ก ์ปดํ์ผ๋์ง๋ง ๊ทธ๋ฐ ํ๋ ์ ์ํฌ๋ ์ด๋ป๊ฒ ๋ ํฌํจ๋์ด์ผํฉ๋๋ค. ์ฌ์ ํ ์ด๊ฒ์ ์กฐ์ฌํ๊ณ ์์ง๋ง ์ด์จ๋ Unity ์์ฑ XCode ์์
์์ญ / ํ๋ก์ ํธ๊ฐ ์ด๋ฏธ ์ค์ ๋์ด ์์ด์ผํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด CI ์์คํ
์ด ์คํจํฉ๋๋ค.
podfile์ ์๋์ผ๋ก ์์ ํ ๋ค์ ํ๋ก์ ํธ๋ฅผ ์์ ํด์ผํ๋ ๊ฒ์ ๋จ์ํ Facebook SDK๋ฅผ ํตํฉํ๋ ๊ฒ๊ณผ ๊ฐ์ ์ฌ์ด ์์ ์ ์ํด ํ ํ์๊ฐ์๋ ์์ ์ ๋๋ค.
Unity 2019.4.1, Facebook SDK 7.21.1์์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
use_frameworks!
๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์ ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง ์ฌ์ฉ๋ฉ๋๋ค. ๋ฌผ๋ก ์ปดํ์ผ๋์ง๋ง ๊ทธ๋ฐ ํ๋ ์ ์ํฌ๋ ์ด๋ป๊ฒ ๋ ํฌํจ๋์ด์ผํฉ๋๋ค. ์ฌ์ ํ ์ด๊ฒ์ ์กฐ์ฌํ๊ณ ์์ง๋ง ์ด์จ๋ Unity ์์ฑ XCode ์์ ์์ญ / ํ๋ก์ ํธ๊ฐ ์ด๋ฏธ ์ค์ ๋์ด ์์ด์ผํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด CI ์์คํ ์ด ์คํจํฉ๋๋ค.podfile์ ์๋์ผ๋ก ์์ ํ ๋ค์ ํ๋ก์ ํธ๋ฅผ ์์ ํด์ผํ๋ ๊ฒ์ ๋จ์ํ Facebook SDK๋ฅผ ํตํฉํ๋ ๊ฒ๊ณผ ๊ฐ์ ์ฌ์ด ์์ ์ ์ํด ํ ํ์๊ฐ์๋ ์์ ์ ๋๋ค.
์ฌ๊ธฐ์์ podfile์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ์์ ํ๋ ๊ฐ๋จํ ํฌ์คํธ ๋น๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ค์ ํ ์ ์์ผ๋ฉฐ, ๋ด ํ๋ก์ ํธ์์ ์ฌ์ฉํ๊ณ ์ ์๋ํฉ๋๋ค.
์ MonoBehaviour ํ์ผ (์ : PostProcessBuild_Podfile.cs)์ ๋ง๋ค๊ณ Assets / Editor ํด๋์ ๋ฃ์ต๋๋ค.
System.Collections ์ฌ์ฉ;
System.Linq ์ฌ์ฉ;
System.Collections.Generic ์ฌ์ฉ;
UnityEngine ์ฌ์ฉ;
UnityEditor ์ฌ์ฉ;
UnityEditor.Callbacks ์ฌ์ฉ;
System.IO ์ฌ์ฉ;
๊ณต์ฉ ํด๋์ค PostProcessBuild_Podfile : MonoBehaviour
{
[PostProcessBuildAttribute (45)] // Podfile ์์ฑ (40)์ ์ํด ์ฌ์ ์๋์ง ์๊ณ "pod ์ค์น"(50) ์ ์ ์ถ๊ฐ๋๋๋กํ๋ ค๋ฉด 40์์ 50 ์ฌ์ด ์ฌ์ผํฉ๋๋ค.
๊ฐ์ธ ์ ์ ๋ฌดํจ PostProcessBuild_iOS (BuildTarget ๋์, ๋ฌธ์์ด buildPath)
{
if (๋์ == BuildTarget.iOS)
{
var fileName = buildPath + "/ Podfile";
var endTag = "ํ๋ซํผ : ios, '9.0'";
var lineToAdd = "use_frameworks!";
Debug.Log("PostProcess: Adding use_frameworks! to podfile, this fix for new Facebook SDK");
var txtLines = File.ReadAllLines(fileName).ToList();
txtLines.Insert(txtLines.IndexOf(endTag)+1, lineToAdd);
File.WriteAllLines(fileName, txtLines);
Debug.Log("PostProcess: Adding use_frameworks! to podfile Completed successfully!");
}
}
}
@ Khaled-Wolf ์ฝ๋์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ ๋ง ์ ์ฉํฉ๋๋ค.ํ์ง๋ง ์ด๊ฒ์ด ํ๋ก์ ํธ๋ฅผ ์ปดํ์ผํ๊ฒํ๋๋ผ๋ ํ๋ ์ ์ํฌ๊ฐ ๋ฐ์ด๋๋ฆฌ์ ์๋์ผ๋ก ํฌํจ๋์ง ์๊ณ @NumaNumaNuma๊ฐ ์ธ๊ธ ํ๋๋ก ์์์ ์ฑ์ด ์ถฉ๋ํฉ๋๋ค. ๋น๋์ FB ํ๋ ์ ์ํฌ๋ฅผ ์๋์ผ๋ก ์๋ฒ ๋ํ๋ ค๊ณ ์๋ํ์ง๋ง ์ด๋ค ํ๋ก์ ํธ์์ ์ด๋ค ํ์ผ์ ์ด๋ค ๋์์ ์ถ๊ฐํด์ผํ๋์ง ์์งํ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋ด ๋ชจ๋ ์๋๊ฐ ์คํจํ์ต๋๋ค ... ๊ทธ์ ๋ํ ๋จ์๊ฐ ์์ต๋๊น? (๋ํ ํฌ์คํธ ํ๋ก์ธ์ค ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋จ์๊ฐ ์์ต๋๊น?)
์ง๊ธ์ ์ด์ ๋ฒ์ ์ sdk๋ฅผ ์ฌ์ฉํ๋๋ก ๋๋ ๋ ธ์ต๋๋ค (7.19.2๋ 7.0 swift iOS sdk๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ต์ ๋ฒ์ ์ ๋๋ค).
๋ํ use_frameworks๋ก 7.19.2๋ก ๋๋ ๋ ธ์ต๋๋ค! ๋ด๊ฐ ์ฌ์ฉ์ค์ธ ๋ค๋ฅธ ํฌ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ ๊ฐ์ต๋๋ค.
์
๋ฐ์ดํธ ๋ Facebook SDK๊ฐ ๋ค์ ์๋ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆด ๊ฒ์
๋๋ค.
@NumaNumaNuma ์, ์ง๊ธ์ ์ ์ผํ ์ต์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฌธ์ ์์ด ์ปดํ์ผ๋๊ณ ์คํ๋ฉ๋๋ค! ๊ณต์ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
ํ์ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ์ "use_frameworks!"๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค. Podfile์ ์ถ๊ฐํ๊ฑฐ๋ ๋ด ๋ณด๋ธ iOS ํ๋ก์ ํธ์ ๋น ์ ์ํ ํ์ผ์ ์ถ๊ฐํ์ญ์์ค. ์ด ๋ฌธ์ ๋ https://github.com/facebook/facebook-sdk-for-unity/commit/8fdb57a76d2f5a14c168e91663280d40f274c74c ์์ ์์ ๋์์ผ๋ฉฐ ๋ค์ ๋ฆด๋ฆฌ์ค์์ ์ ๊ณต ๋ ์์ ์ ๋๋ค.
@KylinChang ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ด๋ฏธ ๊ทธ ์ปค๋ฐ์์ 6 ์ผ์ ๋๋ค. ํธ๋๋น์ค์์ ์ฌ์ ํ ์ค๋ฅ๊ฐ์๋ ์ด์ ์ ์์ง ์ถ์๋์ง ์์ ์ด์ ๋ ๋ฌด์์ ๋๊น?
@Thaina ์๋๋ฅด๋ฉด ์๋์ผ๋ก ์๋ํ๊ณ ์์ ํ ์ ์์ต๋๋ค. ์ปค๋ฐ์ ๋ณด๋ฉด ๋งค์ฐ ์์ ๋ณ๊ฒฝ ์ฌํญ์ด๋ฏ๋ก ์ง์ ๊ตฌํํ ์ ์์ต๋๋ค. ๋น swift ํ์ผ๊ณผ 2 ๊ฐ์ ๋น๋ ์์ฑ์ unity์ ๋น๋ ํ ์คํฌ๋ฆฝํธ์์ xcode ํ๋ก์ ํธ์ ์ถ๊ฐํฉ๋๋ค. ์๋์ผ๋กํด์ผํ๋ ์ผ์ ์ง์ฆ๋์ง๋ง ์ถ์ํ๋ ๋์ ๋ฉฐ์น (๋ช ์ฃผ?)์ ์ ์ฝ ํ ์ ์์ต๋๋ค.
์๋๋ฉด ๊ทธ๋ค์ ๋งค์ฃผ ๋ฐํํ๊ณ ๋ด์ผ ๋์ฌ ๊ฒ์
๋๋ค : D
@NumaNumaNuma ๋จผ์ ์๋ํ์ง ์๊ธฐ ๋๋ฌธ์
๊ทธ๋์ ๋๋ ์ค์ ๋ก ๋ด๊ฐ ๋ญ๊ฐ ์๋ชปํ๊ฑฐ๋ ์์ ์ด ์ฒ์๋ถํฐ ์ค์ ๋ก ์๋ํ์ง ์๋๋ค๋ ๊ฒ์ ์์ง ๋ชปํฉ๋๋ค. ๋๋ ํ์ด์ค ๋ถ SDK ํจํค์ง์์ ์ง์ ์์ ํด์ผํ๊ฑฐ๋ ๋ค๋ฅธ ์ด์ ๊ฐ ์์ด์ผํ๋ค๋ ์๊ตฌ ์ฌํญ์ด ์์ต๋๋ค.
๋์งธ, ๊ณต์์ ์ด์ง ์์ ๋ด ์ฝ๋๋ฅผ ์ค์ผ์ํค๊ณ ํฅํ ์ค์ ์์ ์ฌํญ์ด ๋์ฌ ๋ ์ค์ ๋ก ์ ๊ฑฐํด์ผํ๋ฏ๋ก์ด๋ฅผ ํผํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋์ ์ ๋ ํ์ด์ค ๋ถ์ด ๊ณง ์ถ์ํ์ง ์์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ํ์ธํ๊ธฐ ์ ์ ๊ทธ๋ ๊ฒํ๊ณ ์ถ์ง ์์ต๋๋ค.
์ ์งธ, ์ ์ด๋ Unity 2020.2์์๋ ์ค์ ๋ก ์๋ํ์ง ์์์ต๋๋ค.
.swift
๋ Editor
ํด๋์์์ ์ ์์ผ๋ฉฐ ๊ทธ๋ ์ง ์์ผ๋ฉด ์ค์ xcode ํ๋ก์ ํธ์ ๋ณต์ฌ๋์ง ์์ต๋๋ค.ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
๋ฅผ YES
๋ก ์ค์ ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ต๋๋ค.Invalid bundleโฆ contains disallowed file 'frameworks'
์ค๋ฅ ์์ธ์ ๋ชจ๋ ๋์์ผ๋ก ์ค์ ์ ๊ฒฝ์ฐ์๋ .swift
์ธ๋ถ๋ก Assets
ํด๋๋ก ์ด๋ํด์ผํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด์ ๊ฐ์ ๋น๋ ํ๋ก์ธ์ค๋ฅผ ๋ง๋ค์์ต๋๋ค.
```C #
string target = proj.GetUnityMainTargetGuid();
string targetName = PBXProject.GetUnityTargetName();
string target = proj.TargetGuidByName(targetName);
////
foreach(var framework in new [] { target,proj.GetUnityFrameworkTargetGuid() })
foreach(var framework in new [] { target })
{
proj.SetBuildProperty(framework, "ENABLE_BITCODE", "NO");
proj.SetBuildProperty(framework, "EMBEDDED_CONTENT_CONTAINS_SWIFT", "YES");
proj.SetBuildProperty(framework, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "NO");
proj.SetBuildProperty(framework, "SWIFT_VERSION", "5.0");
}
```
ํ์ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ์ "use_frameworks!"๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค. Podfile์ ์ถ๊ฐํ๊ฑฐ๋ ๋ด ๋ณด๋ธ iOS ํ๋ก์ ํธ์ ๋น ์ ์ํ ํ์ผ์ ์ถ๊ฐํ์ญ์์ค. ์ด ๋ฌธ์ ๋ 8fdb57a ์์ ์์ ๋์์ผ๋ฉฐ ๋ค์ ๋ฆด๋ฆฌ์ค์์ ์ ๊ณต ๋ ์์ ์ ๋๋ค.
์๋ ํ์ธ์! ์์ ์ฌํญ์ ๋ฆด๋ฆฌ์ค ํ ๋ ๋ง์ํด์ฃผ์ญ์์ค.
@KylinChang ์ด ์์ ์ฌํญ์ ์ด์ ๋ฒ์ ์ Unity์ ์ ํฉํ์ง๋ง Unity 2019.3 ์ด์์์๋ "์์ "ํ๋ ค๋ฉด ๋ค๋ฅธ ๋์์ด ํ์ํฉ๋๋ค.
https://github.com/YousicianGit/facebook-sdk-for-unity/commit/878fc7b73d9a2c3751bb36792f0276cdfacf9495
๊ณง PR์ ์์ ์ฌํญ์ ์ ์ถํ๊ฒ ์ต๋๋ค.
์ด ๋ฌธ์ ๋ ์ต์ ๋ฆด๋ฆฌ์ค์์ ์์ ๋์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@ Khaled-Wolf ์ฝ๋์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ ๋ง ์ ์ฉํฉ๋๋ค.ํ์ง๋ง ์ด๊ฒ์ด ํ๋ก์ ํธ๋ฅผ ์ปดํ์ผํ๊ฒํ๋๋ผ๋ ํ๋ ์ ์ํฌ๊ฐ ๋ฐ์ด๋๋ฆฌ์ ์๋์ผ๋ก ํฌํจ๋์ง ์๊ณ @NumaNumaNuma๊ฐ ์ธ๊ธ ํ๋๋ก ์์์ ์ฑ์ด ์ถฉ๋ํฉ๋๋ค. ๋น๋์ FB ํ๋ ์ ์ํฌ๋ฅผ ์๋์ผ๋ก ์๋ฒ ๋ํ๋ ค๊ณ ์๋ํ์ง๋ง ์ด๋ค ํ๋ก์ ํธ์์ ์ด๋ค ํ์ผ์ ์ด๋ค ๋์์ ์ถ๊ฐํด์ผํ๋์ง ์์งํ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋ด ๋ชจ๋ ์๋๊ฐ ์คํจํ์ต๋๋ค ... ๊ทธ์ ๋ํ ๋จ์๊ฐ ์์ต๋๊น? (๋ํ ํฌ์คํธ ํ๋ก์ธ์ค ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋จ์๊ฐ ์์ต๋๊น?)