UCB no parent for object

Hello, i’m having a problem with USB service. We moved form xcode 8.3 to 9 as we are requiring newer support. However, with xcode 9 we are now getting new errors.

Here is a snippet of the error.
40084: fastlane finished with errors
40085: /BUILD_PATH/.rvm/gems/ruby-2.1.1/gems/xcodeproj-1.5.1/lib/xcodeproj/project/object/helpers/groupable_helper.rb:18:in parent': [!] [Xcodeproj] Consistency issue: no parent for object MessageUI.framework: FrameworksBuildPhase, FrameworksBuildPhase` (RuntimeError)

I’m unsure exactly what the problem is. I’ve also included the full log.

3313573–257548–UCBErrorLog.txt (3.65 MB)

So doing a lot of tinkering in areas of not my expertise and I might be making some progress.

Some months ago I added a post build script file that links libraries. So I added an additional snippet of code I found here. PostBuildProcess.cs · GitHub

I added
pbxProject.AddFrameworkToProject(target, “MessageUI.framework”, false);
This seem sto fix the missing MessageUI error, but introduced. the same error but with a missing “libsqlite3.dylib”. so then I added
pbxProject.AddFrameworkToProject(target, “libsqlite3.dylib”, false);
This seem to move onto yet another with missing “AdSupport.framework”

So know I’m adding the below and pretty much hoping for the best. I’ll update if there is something new or if it’s working.
pbxProject.AddFrameworkToProject(target, “MessageUI.framework”, false);
pbxProject.AddFrameworkToProject(target, “libsqlite3.dylib”, false);
pbxProject.AddFrameworkToProject(target, “AddressBook.framework”, false);
pbxProject.AddFrameworkToProject(target, “AssetsLibrary.framework”, false);
pbxProject.AddFrameworkToProject(target, “CoreData.framework”, false);
pbxProject.AddFrameworkToProject(target, “CoreTelephony.framework”, false);
pbxProject.AddFrameworkToProject(target, “CoreText.framework”, false);
pbxProject.AddFrameworkToProject(target, “Security.framework”, false);
pbxProject.AddFrameworkToProject(target, “WebKit.framework”, false);
pbxProject.AddFrameworkToProject(target, “ImageIO.framework”, false);
pbxProject.AddFrameworkToProject(target, “EventKit.framework”, false);
pbxProject.AddFrameworkToProject(target, “EventKitUI.framework”, false);
pbxProject.AddFrameworkToProject(target, “AdSupport.framework”, false);
pbxProject.AddFrameworkToProject(target, “AudioToolbox.framework”, false);
pbxProject.AddFrameworkToProject(target, “AVFoundation.framework”, false);
pbxProject.AddFrameworkToProject(target, “CoreGraphics.framework”, false);
pbxProject.AddFrameworkToProject(target, “EventKit.framework”, false);
pbxProject.AddFrameworkToProject(target, “EventKitUI.framework”, false);
pbxProject.AddFrameworkToProject(target, “StoreKit.framework”, false);
pbxProject.AddFrameworkToProject(target, “SystemConfiguration.framework”, false);

Update:
Continue to add
CoreFoundation.framework

AddUsrLib(proj, target, “libc++.dylib”);
AddUsrLib(proj, target, “libz.dylib”);

private static void AddUsrLib(PBXProject proj, string targetGuid, string framework)
{
string fileGuid = proj.AddFile(“usr/lib/”+framework, “Frameworks/”+framework, PBXSourceTree.Sdk);
proj.AddFileToBuild(targetGuid, fileGuid);
}

Update:
After adding the AddUsrLib, “libsqlite3.dylib” this one came back. Doing some ordering changes. If anyone has any idea’s I’m listening.

Description of issue:
Unity Cloud build throws an error regarding no parent object for framework. However the framework reported seems to change.

Unity version:
2017.1.0p4

XCode version:
XCode 9 as we requires updated support from xCode 8. xcode 8.3 and below works

Source control:
Git

Local build platform:
Not available as this is on windows and we are using UCB and not a Mac for iOS. Local builds are done in Android.

Build target:
iOS

Relevant plugins being used (i.e. Google Play Game Services, other plugins that may perform automatic post-build behaviors)

  • Tapjoy
  • Heyzap
  • Everyplay
  • OneSignal
  • Easy Movie Texture
  • CocoaPods

Project name:
On UCB it is “Ga”

Build log (relevant chunk):
40084: fastlane finished with errors
40085: /BUILD_PATH/.rvm/gems/ruby-2.1.1/gems/xcodeproj-1.5.1/lib/xcodeproj/project/object/helpers/groupable_helper.rb:18:in parent': [!] [Xcodeproj] Consistency issue: no parent for object MessageUI.framework: FrameworksBuildPhase, FrameworksBuildPhase` (RuntimeError)

Finally found the problem. It seems another SDK(Heyzap-Fyber) was rebuilding the xcode project libraries. I disabled all the PostBuildProcess that referenced xproj. Did another run on the cloud build and the application build successfully. Interestingly enough the old library linking was removed and stilled worked. I guessing XCode 9 has some library reference improvements.

Hello! How did you actually disable PostBuildProcess? I’m having the same issue as you. I don’t think that removing these frameworks would not harm the fyber plugins.

2 Likes

Hi Jason, can you give more explanations about your solution? Anyone from Unity team maybe help us with this problem.

2 Likes