dpa99c / cordova-diagnostic-plugin

Cordova/Phonegap plugin to manage device settings
538 stars 361 forks source link

missing UserNotifications.h in 3.2.0 build for iOS #138

Closed ppetree closed 8 years ago

ppetree commented 8 years ago

First, I'm using Intel XDK build 3619 configured for CLI 6.2.0.

3.1.7 builds fine and 3.2.0 builds fine on Adroid but on iOS I get this in my error log:

`CompileC build/mycoolapp.build/Release-iphoneos/mycoolapp.build/Objects-normal/armv7/Diagnostic.o mycoolapp/Plugins/cordova.plugins.diagnostic/Diagnostic.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler cd .../cordova_project/platforms/ios export LANG=en_US.US-ASCII export PATH="/Applications/Xcode.app/Contents.../Platforms/iPhoneOS.platform.../usr/bin:/Applications/Xcode.app/Contents.../usr/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tools:/platform-tools" /Applications/Xcode.app/Contents.../Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch armv7 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=c99 -fobjc-arc -fmodules -gmodules -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/var/folders/m7/5jt5pgr16nn584gyc3mh09rh0000gp/C/org.llvm.clang/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -isysroot /Applications/Xcode.app/Contents.../Platforms/iPhoneOS.platform.../SDKs/iPhoneOS9.1.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -miphoneos-version-min=9.0 -g -fvisibility=hidden -Wno-sign-conversion -iquote .../cordova_project/platforms/ios/build/mycoolapp.build/Release-iphoneos/mycoolapp.build/mycoolapp-generated-files.hmap -I.../cordova_project/platforms/ios/build/mycoolapp.build/Release-iphoneos/mycoolapp.build/mycoolapp-own-target-headers.hmap -I.../cordova_project/platforms/ios/build/mycoolapp.build/Release-iphoneos/mycoolapp.build/mycoolapp-all-target-headers.hmap -iquote .../cordova_project/platforms/ios/build/mycoolapp.build/Release-iphoneos/mycoolapp.build/mycoolapp-project-headers.hmap -I.../cordova_project/platforms/ios/build/device/include -I.../cordova_project/platforms/ios/build/device/usr/local/lib/include -I.../cordova_project/platforms/ios/build/UninstalledProducts/include -I.../cordova_project/platforms/ios/build/UninstalledProducts/iphoneos/include -I.../cordova_project/platforms/ios/build/device -I.../cordova_project/platforms/ios/build/mycoolapp.build/Release-iphoneos/mycoolapp.build/DerivedSources/armv7 -I.../cordova_project/platforms/ios/build/mycoolapp.build/Release-iphoneos/mycoolapp.build/DerivedSources -F.../cordova_project/platforms/ios/build/device -include .../cordova_project/platforms/ios/build/sharedpch/mycoolapp-Prefix-eoxavozygdwhkcbdinimrxaflzly/mycoolapp-Prefix.pch -MMD -MT dependencies -MF .../cordova_project/platforms/ios/build/mycoolapp.build/Release-iphoneos/mycoolapp.build/Objects-normal/armv7/Diagnostic.d --serialize-diagnostics .../cordova_project/platforms/ios/build/mycoolapp.build/Release-iphoneos/mycoolapp.build/Objects-normal/armv7/Diagnostic.dia -c .../cordova_project/platforms/ios/mycoolapp/Plugins/cordova.plugins.diagnostic/Diagnostic.m -o .../cordova_project/platforms/ios/build/mycoolapp.build/Release-iphoneos/mycoolapp.build/Objects-normal/armv7/Diagnostic.o .../cordova_project/platforms/ios/mycoolapp/Plugins/cordova.plugins.diagnostic/Diagnostic.m:13:9: fatal error: 'UserNotifications/UserNotifications.h' file not found

import <UserNotifications/UserNotifications.h>

    ^

1 error generated.`

dpa99c commented 8 years ago

As documented:

cordova.plugins.diagnostic@3.2.0 adds support for the new UserNotifications framework added in iOS 10. To build using v3.2.0, you will need to use XCode 8+ because there's no way to conditionally include a framework using the <framework> tag in the plugin.xml.

Currently (25 Sep 2016) cloud-based build platforms such as Phonegap Build, Ionic Cloud and Intel XDK are still using an XCode 7 build environment, so building with cordova.plugins.diagnostic@3.2 results in a fatal build error framework not found UserNotifications.

Therefore, users of these cloud platforms should specify cordova.plugins.diagnostic@3.1 in their config.xml until such time as their cloud platform is updated to use XCode 8+.

ppetree commented 8 years ago

Thanks for the reply! I'd searched for the build error and didn't find it... maybe when google picks this up it will save others the battle.