I have a Unity project, built and released for both iPhone and Android, but the project got too large for my tiny laptop (that I probably shouldn't have used, but was all I had) - so I upgraded to a 'new to me' (but still older) laptop with more RAM, but now the project won't build. I've been beating this dead horse off and on for months, and now I'm at my wits end. This is a summary as best I can give:
Old Specs:
- MacOS Catalina 10.15.7
- Unity 2019.4.23f1,
- Cocoapods 1.10.1,
- Google Admob v5.3.0.unitypackage,
- Xcode 12.1 (12A7403)
New Specs: All the same except
- MacOS Big Sur 11.6.6
- Xcode 13.0 (13A233)
The Error:
Showing All Errors Only Ld /Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/UnityFramework.build/Objects-normal/armv7/Binary/UnityFramework normal armv7 (in target 'UnityFramework' from project 'Unity-iPhone') cd /Users/projectioncomputer/Documents/Anderson-Unity/CrazyGoopJumper/Builds/TestAdMobv5.3.0 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -target armv7-apple-ios10.0 -dynamiclib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk -L/Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Products/ReleaseForRunning-iphoneos -L/Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Products/ReleaseForRunning-iphoneos/GoogleUtilities -L/Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Products/ReleaseForRunning-iphoneos/PromisesObjC -L/Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Products/ReleaseForRunning-iphoneos/nanopb -L/Users/projectioncomputer/Documents/Anderson-Unity/CrazyGoopJumper/Builds/TestAdMobv5.3.0/Libraries -L/Users/projectioncomputer/Documents/Anderson-Unity/CrazyGoopJumper/Builds/TestAdMobv5.3.0/Libraries/Plugins/iOS -F/Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Products/ReleaseForRunning-iphoneos -F/Users/projectioncomputer/Documents/Anderson-Unity/CrazyGoopJumper/Builds/TestAdMobv5.3.0/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current -F/Users/projectioncomputer/Documents/Anderson-Unity/CrazyGoopJumper/Builds/TestAdMobv5.3.0/Pods/GoogleAppMeasurement/Frameworks -F/Users/projectioncomputer/Documents/Anderson-Unity/CrazyGoopJumper/Builds/TestAdMobv5.3.0/Pods/GoogleUserMessagingPlatform/Frameworks/Release -F/Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Products/ReleaseForRunning-iphoneos/XCFrameworkIntermediates/GoogleAppMeasurement -F/Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Products/ReleaseForRunning-iphoneos/XCFrameworkIntermediates/GoogleMobileAds -F/Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Products/ReleaseForRunning-iphoneos/XCFrameworkIntermediates/UserMessagingPlatform -filelist /Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/UnityFramework.build/Objects-normal/armv7/UnityFramework.LinkFileList -install_name @rpath/UnityFramework.framework/UnityFramework -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -Xlinker -map -Xlinker /Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/UnityFramework.build/UnityFramework-LinkMap-normal-armv7.txt -dead_strip -Xlinker -object_path_lto -Xlinker /Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/UnityFramework.build/Objects-normal/armv7/UnityFramework_lto.o -fembed-bitcode-marker -stdlib\=libc++ -fobjc-arc -fobjc-link-runtime -ObjC -lGoogleUtilities -lPromisesObjC -lc++ -lnanopb -lsqlite3 -lz -framework AVFoundation -framework AudioToolbox -framework CFNetwork -framework CoreGraphics -framework CoreMedia -framework CoreTelephony -framework CoreVideo -framework GoogleAppMeasurement -framework GoogleMobileAds -framework MediaPlayer -framework MessageUI -framework MobileCoreServices -framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -framework UserMessagingPlatform -framework WebKit -weak_framework AdSupport -weak_framework JavaScriptCore -weak_framework SafariServices -weak_framework WebKit -weak_framework CoreMotion -weak-lSystem -liPhone-lib -framework Security -framework MediaToolbox -framework CoreText -framework AudioToolbox -weak_framework AVFoundation -framework AVKit -framework CFNetwork -framework CoreGraphics -framework CoreMedia -weak_framework CoreMotion -framework CoreVideo -framework Foundation -framework OpenAL -framework OpenGLES -framework QuartzCore -framework SystemConfiguration -framework UIKit -liconv.2 -lil2cpp /Users/projectioncomputer/Documents/Anderson-Unity/CrazyGoopJumper/Builds/TestAdMobv5.3.0/Libraries/Plugins/iOS/unity-plugin-library.a -weak_framework Metal -weak_framework GameController -lPods-UnityFramework -Xlinker -dependency_info -Xlinker /Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/UnityFramework.build/Objects-normal/armv7/UnityFramework_dependency_info.dat -o /Users/projectioncomputer/Library/Developer/Xcode/DerivedData/Unity-iPhone-fbsnxzmoplpoqfgxfiqacoktspfs/Build/Intermediates.noindex/Unity-iPhone.build/ReleaseForRunning-iphoneos/UnityFramework.build/Objects-normal/armv7/Binary/UnityFramework Undefined symbols for architecture armv7: "_OBJC_CLASS_$_GADInterstitialAd", referenced from: objc-class-ref in unity-plugin-library.a(GADUInterstitial.o) (maybe you meant: _OBJC_CLASS_$_GADInterstitialAdBeta) ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)
I feel like there is an issue with Cocoapods communicating with Xcode through the xcworkspace file, but I cannot figure out what is going on to the point of actually solving it. I've tried so many things and everything has failed, but here is what I can remember trying.
What I've Tried:
Solutions On This Older Question:
- Setting Other Linker Flags to $(inherited), and even tried @(inherited)
- Remove arm64 from Architectures
- Setting Build Active Architecture to all be Yes (only Release was No)
- Setting Build Active Architecture to all be No
-
- Link Binary With Libraries: hitting + and adding all under the 'Workspace' header
- Which includes these:
- Pods_UnityFramework.framework
- GoogleMobileAds.xcframework
- Pods_Unity_iPhone.framework
- GoogleUtilities.framework
- GoogleAppMeasurement.xcframework
- FBLPromises.framework
- nanopb.framework
- UserMessagingPlatform.xcframework
Install new cocoapods v1.11.3
- Build new Unity project into new folder and run the workspace file in Xcode
In Unity - check 'Symlink Unity libraries' (from some answer to a similar question I can no longer find)
Tried a newer version of Google Admob - but I start to hit software limitations: I don't have the new fancy machines to run an Xcode version higher than 13, which the newest Admob is stating it requires.
Cleaned the build folder every time I tried something different
No, I did not mean to use 'OBJC_CLASS$_GADInterstitialAdBeta', as Xcode is trying to tell me, and any attempts to change the files just error out on the next Google AdMob symbol (RewardedVideoAd, BannerAd, and on and on) - but I shouldn't need to touch that anyways.
Removed Admob and Cocoapods from my project, and tried again multiple times with no dice.
I would like to state: My older machine can still build the game in its current state (just barely), but I can't keep working on the project on that because I use all the RAM.
I would also like to state: I didn't jump through any of these hoops on my other machine so I clearly have missed something. I can feel this might be a facepalm moment.