Facebook-sdk-for-unity: Aplikasi mogok saat diluncurkan saat menggunakan SDK v7.21.2 di perangkat iOS 11

Dibuat pada 18 Agu 2020  ·  8Komentar  ·  Sumber: facebook/facebook-sdk-for-unity

Lingkungan Hidup

Jelaskan lingkungan dev Anda di sini, berikan detail sebanyak mungkin. Jika Anda memilikinya, pastikan untuk menyertakan:

  • Versi Editor Unity: 2018.4.26f1
  • Versi SDK Unity: 7.21.2
  • Kode X: 11.6
  • Platform & Versi Instalasi: iPad4,4 menjalankan [iOS] versi 11.3.1

Hasil yang diharapkan

Tidak ada kecelakaan

Hasil nyata

Game mogok saat diluncurkan:

dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from: /var/containers/Bundle/Application/6A540FA0-A178-4762-BE4D-1A32AC021D5C/XX.app/XX Reason: image not found

Build yang sama berjalan dengan baik di perangkat dengan iOS 12.4.4 dan 13.6

Langkah-langkah untuk Reproduksi

Lakukan saja pembuatan sederhana menggunakan versi yang ditentukan

bug

Komentar yang paling membantu

Setelah berjam-jam dan mencoba berkali-kali, saya menemukan cara untuk menyelesaikan masalah ini. Semoga membantu Anda juga.
Tambahkan ini ke PostProcessBuild Anda:

// Fixed Facebook SDK 7.21.2 issue for iOS < 12.2
project.AddBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "$(inherited) @executable_path/Frameworks");

Semua 8 komentar

Ini mudah direproduksi dengan simulator iOS juga :(

Saya menggunakan skrip pembuatan posting berikut sebagai solusi untuk tidak mogok di iOS 11:

public class FacebookCrashIOS11 : ScriptableObject
{
    [PostProcessBuild]
    public static void OnPostProcess(BuildTarget buildTarget, string buildPath)
    {
        // Only for iOS
        if (buildTarget != BuildTarget.iOS)
        {
            return;
        }

        string projectPath = PBXProject.GetPBXProjectPath(buildPath);
        PBXProject project = new PBXProject();

        // Read.
        project.ReadFromString(File.ReadAllText(projectPath));
        string targetGUID = project.GetUnityMainTargetGuid();

        project.SetBuildProperty(targetGUID, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES"); // Facebook 7.21.2 crashed on iOS 11.0 without this line

        // Write.
        File.WriteAllText(projectPath, project.WriteToString());
    }
}

Setelah berjam-jam dan mencoba berkali-kali, saya menemukan cara untuk menyelesaikan masalah ini. Semoga membantu Anda juga.
Tambahkan ini ke PostProcessBuild Anda:

// Fixed Facebook SDK 7.21.2 issue for iOS < 12.2
project.AddBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "$(inherited) @executable_path/Frameworks");

Saya memiliki masalah yang sama dengan ios <12.2 dan menemukan solusi yang sama dengan LD_RUNPATH_SEARCH_PATHS selain ALWAYS_EMBED_SWIFT_STANDARD_LIBRARY.

Akan sangat bagus untuk menambahkan dokumentasi eksplisit bahwa ini diperlukan jika game mendukung versi OS yang lebih lama di dokumentasi utama dan di log perubahan.

Saya juga mengalami "aplikasi mogok saat diluncurkan" dengan game Unity saya, tetapi iPhone XS saya memiliki iOS 13.6.1

Persatuan 2019.4.9f1
SDK Facebook 7.21.2
iOS 13.6.1

=> Kecelakaan

Sebelum memutakhirkan ke FBSDK 7.21.2, proyek ini memiliki FBSDK 7.19.0 dan permainan bekerja tanpa crash.

Saya mencoba:

project.SetBuildProperty(targetId, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARY", "YA");
project.AddBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "$(diwariskan) @executable_path/Frameworks");

tetapi mendapat kesalahan ini saat mengunggah:

GALAT ITMS-90206: "Paket Tidak Valid. Bundel di 'xxxxx.app/Frameworks/UnityFramework.framework' berisi file 'Frameworks' yang tidak diizinkan."
Status pengembalian iTunes Transporter adalah 1: ERROR ITMS-90206: "Bundle Tidak Valid. Bundel di 'xxxxx.app/Frameworks/UnityFramework.framework' berisi file 'Frameworks' yang tidak diizinkan."

Saya kira ALWAYS_EMBED_SWIFT_STANDARD_LIBRARY menyebabkan kesalahan ini untuk Unity 2019.4.9f1 karena ketika saya menghapus baris kedua (LD_RUNPATH_SEARCH_PATHS) dan membangun kembali saya masih mendapatkan kesalahan Bundel Tidak Valid yang sama.

Saat ini saya harus kembali ke FBSDK 7.19.0 dan tidak ada lagi crash.

Saya memiliki masalah yang sama dengan FBSDK 8.1.0 juga.
ios 11 <= crash setelah memutakhirkan FBSDK dari 7.18.1

Saya juga mengalami "aplikasi mogok saat diluncurkan" dengan game Unity saya, tetapi iPhone XS saya memiliki iOS 13.6.1

Persatuan 2019.4.9f1
SDK Facebook 7.21.2
iOS 13.6.1

=> Kecelakaan

Sebelum memutakhirkan ke FBSDK 7.21.2, proyek ini memiliki FBSDK 7.19.0 dan permainan bekerja tanpa crash.

Saya mencoba:

project.SetBuildProperty(targetId, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARY", "YA");
project.AddBuildProperty(targetGuid, "LD_RUNPATH_SEARCH_PATHS", "$(diwariskan) @executable_path/Frameworks");

tetapi mendapat kesalahan ini saat mengunggah:

GALAT ITMS-90206: "Paket Tidak Valid. Bundel di 'xxxxx.app/Frameworks/UnityFramework.framework' berisi file 'Frameworks' yang tidak diizinkan."
Status pengembalian iTunes Transporter adalah 1: ERROR ITMS-90206: "Bundle Tidak Valid. Bundel di 'xxxxx.app/Frameworks/UnityFramework.framework' berisi file 'Frameworks' yang tidak diizinkan."

Saya kira ALWAYS_EMBED_SWIFT_STANDARD_LIBRARY menyebabkan kesalahan ini untuk Unity 2019.4.9f1 karena ketika saya menghapus baris kedua (LD_RUNPATH_SEARCH_PATHS) dan membangun kembali saya masih mendapatkan kesalahan Bundel Tidak Valid yang sama.

Saat ini saya harus kembali ke FBSDK 7.19.0 dan tidak ada lagi crash.

saya juga punya
Return status of iTunes Transporter was 1: ERROR ITMS-90206: "Invalid Bundle. The bundle at 'xxxxx.app/Frameworks/UnityFramework.framework' contains disallowed file 'Frameworks'."

untuk mengatasinya saya baru saja menghapus Arsip saya saat ini dan Mengarsipkannya kembali, lalu diterima

Saya menemukan formulir yang berfungsi, silakan periksa tautan ini:
https://github.com/facebook/facebook-sdk-for-unity/issues/193#issuecomment -754953304

Apakah halaman ini membantu?
0 / 5 - 0 peringkat