I just discovered that my brother's iPhone connected to my wifi and the simulator connected to the wifi works, but my iPhone connected to the wifi still does not work. Here is what my console says on Xcode when I debugged with my iPhone with the Ad Events code as you linked me above:
17-06-23 11:22:23.887759-0400 Up[4460:930840] [DYMTLInitPlatform] platform initialization successful
2017-06-23 11:22:24.290883-0400 Up[4460:930672] Firebase automatic screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable automatic screen reporting, set the flag FirebaseAutomaticScreenReportingEnabled to NO in the Info.plist
2017-06-23 11:22:24.429866-0400 Up[4460:930816] <FIRAnalytics/INFO> Firebase Analytics v.3600000 started
2017-06-23 11:22:24.430 Up[4460:] <FIRAnalytics/INFO> Firebase Analytics v.3600000 started
2017-06-23 11:22:24.431876-0400 Up[4460:930816] <FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see
http://goo.gl/Y0Yjwu)
2017-06-23 11:22:24.432 Up[4460:] <FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see
http://goo.gl/Y0Yjwu)
2017-06-23 11:22:24.466: <FIRInstanceID/WARNING> FIRInstanceID AppDelegate proxy enabled, will swizzle app delegate remote notification handlers. To disable add "FirebaseAppDelegateProxyEnabled" to your Info.plist and set it to NO
2017-06-23 11:22:24.506366-0400 Up[4460:930815] <FIRAnalytics/INFO> Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist
2017-06-23 11:22:24.507 Up[4460:] <FIRAnalytics/INFO> Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist
2017-06-23 11:22:24.586442-0400 Up[4460:930672] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2017-06-23 11:22:24.588576-0400 Up[4460:930672] [MC] Reading from public effective user settings.
2017-06-23 11:22:25.097661-0400 Up[4460:930672] Metal GPU Frame Capture Enabled
2017-06-23 11:22:25.099737-0400 Up[4460:930672] Metal API Validation Enabled
2017-06-23 11:22:25.171762-0400 Up[4460:930672] libMobileGestalt MobileGestaltSupport.m:153: pid 4460 (Up) does not have sandbox access for frZQaeyWLUvLjeuEK43hmg and IS NOT appropriately entitled
2017-06-23 11:22:25.171887-0400 Up[4460:930672] libMobileGestalt MobileGestalt.c:550: no access to InverseDeviceID (see <rdar://problem/11744455>)
2017-06-23 11:22:25.268802-0400 Up[4460:930860] <Google> To get test ads on this device, call: request.testDevices = @[ @"d4b52fd8cee6929fec8fd303f6b8d213" ];
2017-06-23 11:22:25.553178-0400 Up[4460:930853] <FIRAnalytics/INFO> Firebase Analytics enabled
2017-06-23 11:22:25.553 Up[4460:] <FIRAnalytics/INFO> Firebase Analytics enabled
2017-06-23 11:22:27.011790-0400 Up[4460:930816] <Google:HTML> You are currently using version 7.16.0 of the SDK. Please consider updating your SDK to the most recent SDK version to get the latest features and bug fixes. The latest SDK can be downloaded from
http://goo.gl/iGzfsP. A full list of release notes is available at
https://developers.google.com/admob/ios/rel-notes.
I do not know what "libMobileGestalt MobileGestalt" means but I think it is irrelevant.
Thank you so much for your quick response!