So, I'm getting this error when trying to run the app. "Build succeeds" but the app won't run and Xcode spits out an error:
Could not install at this time.
Failed to load Info.plist from bundle at path
And the path points to a 3rd party framework I use, pointing to its Info.plist: Extra info about plist: ACL=<not found>.
If I choose "Do Not Embed" in the "Frameworks, Libraries, and Embedded Content" section of Xcode, the app build & runs. But if I choose "Link and Embed" the app, I get this error and the app won't run.
Obviously, if I'm shipping the app to the App Store I need to embed the 3rd party framework in the application...
Upon further inspection, if I look inside the .framework of the third party library it does not include an Info.plist file. Never had an issue related to this third party framework before. It's the GoogleMobileAds.framework...
Okay, reached out to Apple via Feedback and got a response. They brought to my attention that the binaries aren't .dylibs and framework binaries need to be dylibs.
So even though Google distributes their Admob SDK as frameworks (GoogleMobileAds.framework, GoogleUtilities.framework, ect), the binaries apparently can't be embedded in the app like a 'dynamic framework'. I guess in Google's Xcode project they changed the Mach-O type to "Static"? I didn't even realize that was supported. Wonder why they don't ship these as static libraries instead of .frameworks? Is there any advantage to using a .framework over a static library in this case?
If I just link to the framework (and not embed) the app will run on my device. I was thinking I needed to embed them, because GoogleMobileAds.framework is obviously not included in iOS and didn't realize the 'framework' wasn't meant to be embedded in the app like frameworks usually are.