Invalid Bundle. The bundle at '<BlaBla>.app/Frameworks/UnityFramework.framework' contains disallowed file 'Frameworks'.
Go to Build Settings
Select UnityFramework from the Targets panel
Under "Build Options" Set "Always Embed Swift Standard Libraries" to "No"
Or just add this script(XcodeSwiftVersionPostProcess.cs) to your project and during build it will be automatically changed
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
public static class XcodeSwiftVersionPostProcess
{
[PostProcessBuild(999)]
public static void OnPostProcessBuild(BuildTarget buildTarget, string path)
{
if (buildTarget == BuildTarget.iOS)
{
ModifyFrameworks(path);
}
}
private static void ModifyFrameworks(string path)
{
string projPath = PBXProject.GetPBXProjectPath(path);
var project = new PBXProject();
project.ReadFromFile(projPath);
string mainTargetGuid = project.GetUnityMainTargetGuid();
foreach (var targetGuid in new[] { mainTargetGuid, project.GetUnityFrameworkTargetGuid() })
{
project.SetBuildProperty(targetGuid, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "NO");
}
project.SetBuildProperty(mainTargetGuid, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");
project.WriteToFile(projPath);
}
}
Invalid SWIFT_VERSION: Could not parse version component from: '1 5'
Select UnityFramework Target and go to Build Settings.
Change Swift Language Version from "Swift 5" to "Swift 5" (no mistake here).
Try deploying it again.
GoogleAppMeasurement requires CocoaPods version `>= 1.10.2, which is not satisfied by your current version, 1.10.1
First double-check cocopods version with
pod --version
you will realize it has cocopods 1.10.1 version as is mentioned in the error. To fix this do the following
sudo gem uninstall cocoapods
sudo gem install cocoapods -v 1.10.2
Note: don't run sudo gem install cocoapods because it will get the latest cocopods which is probably not what you want.
Source: https://forum.unity.com/threads/cocoapods-installation-failure-when-building-for-ios.1167700/
Missing RegisterMonoModule.h
With Unity 2019.3 or above if you use Facebook SDK you will get this error Missing RegisterMonoModule.h while building in XCode.
To fix this you can use this - https://gist.github.com/ntratcliff/3942abd1eed9d704713a27616f09628b
Exception: Calling TargetGuidByName with name='Unity-iPhone' is deprecated.
In my case, I am using Unity 2019.4.17f1 and integrating MoPub for monetization. Then, I see this error when I try to build for iOS.
To fix this have to use GetUnityMainTargetGuid instead of TargetGuidByName.
So replace following
var target = project.TargetGuidByName("Unity-iPhone");
with
var target =
#if UNITY_2019_3_OR_NEWER
project.GetUnityMainTargetGuid();
#else
project.TargetGuidByName("Unity-iPhone");
#endif
'MoPub.h' file not found
When I integrated MoPub's Facebook Audience Network(FAN) mediation network, I saw this error. This is because FAN uses use_frameworks! and iOS won't build with use_frameworks! in Podfile.
Workaround:
Remove <iosPod name="MoPub-SDK-Plugin" minTargetSdk="10.0" path="Assets/MoPub/Plugins/iOS"/> from Assets/MoPub/Scripts/Editor/MoPubDependencies.xml
Delete Assets/MoPub/Plugins/iOS/MoPub-SDK-Plugin.podspec
Check iOS as platform for plugin for all files inside Assets/MoPub/Plugins/iOS
Comments