Skip to content

iOS Unity 2019.4 and UnityFramework pod target error #405

@Str4tos

Description

@Str4tos

[REQUIRED] Please fill in the following fields:

  • Unity editor version: 2019.4.11f1, 2020.1.7f1
  • External Dependency Manager version: v1.2.159
  • Source you installed EDM4U: Unity Package Manager
  • Features in External Dependency Manager in use: iOS Resolver
  • Plugins SDK in use: CleverAdsSolutions (Own iOS Framework)
  • Platform you are using the Unity editor on: Mac

[REQUIRED] Please describe the question here:

Hello.
I am using Cocaopods to integrate my own framework to Unity build.
Everything works well on older versions of Unity like 2018 or 2019.2.
However, in new versions of Unity, a new iOS Target Unity Framework was added. And at this moment problems appear.

EDM4U creates the following Podfile:

source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/cleveradssolutions/CAS-Specs.git'
platform :ios, '11.0'

target 'UnityFramework' do
  pod 'CleverAdsSolutions-Promo', '~> 1.6.1'
  pod 'CleverAdsSolutions-SDK', '~> 1.6.1'
end

The XCode project builds successfully, but an Fatal Error appears during application launch:

Error loading [path]/Test2020.app/Frameworks/UnityFramework.framework/UnityFramework:  
  dlopen([path]/Test2020.app/Frameworks/UnityFramework.framework/UnityFramework, 265): 
     Library not loaded: @rpath/CASPromo.framework/CASPromo
  Referenced from: [path]/Test2020.app/Frameworks/UnityFramework.framework/UnityFramework
  Reason: image not found

I see a solution how to fix this error: modify the Podfile as follows:

source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/cleveradssolutions/CAS-Specs.git'
platform :ios, '11.0'

target 'UnityFramework' do
  pod 'CleverAdsSolutions-Promo', '~> 1.6.1'
  pod 'CleverAdsSolutions-SDK', '~> 1.6.1'
end

target 'Unity-iPhone' do
  pod 'CleverAdsSolutions-Promo', '~> 1.6.1'
  pod 'CleverAdsSolutions-SDK', '~> 1.6.1'
end

In this case, all errors go away. And there are no warnings about duplicate code in the build.
I found a closed discussion after which it was decided to leave only one target in the podfile: #282.

Please tell me how to fix it better.
Perhaps I can somehow change the settings of my framework so that it always gets into the build. Or change the settings of Unity Project.

Thank you very much for your attention.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions