Hello,
I have been happily building iOS packages with my little build automation system for a while, now. When I added a plugin that required CocoaPods, everything seems to have fallen apart.
I have a build system that works like this:
-
On a Windows agent with Unity:
-
Do the Unity build to export an XCode Project
-
Upload to a file share
-
On a Mac hosted agent (without Unity):
-
Download XCode project
-
Build it
-
Pack up the result and send it down the pipeline
There’s more but that’s what is relevant to this question.
Like I said, everything was working fine until I started trying to use CocoaPods (as a result of trying to use Firebase).
I figured out how to get the pod install working - that wasn’t too hard, really, but it does not produce a .xcworkspace folder that is functional.
When I try to build and package the resulting .xcworkspace folder, it compiles for a while and then fails to sign.
When I try to build with the original .xcworkspace, it (of course) blows up because it can’t find any libraries at link time.
When I try hacking the podfile to make it update the existing workspace, the pods fail to compile because they can’t find some of the headers.
I can post my xcodebuild lines here and the corresponding logs (or relevant subsets thereof, really) but I feel like the problem is that I am missing some critical piece of understanding. I’m used to an environment where the package manager just works.
You build your project and the dependencies are automatically restored and used to build. I think I’m making assumptions about CocoaPods based on that acclimation that are not accurate.
Can someone tell me what the story leading from “pod install” to “xcodebuild” is supposed to be?
Thanks,
Max