Software Archive
Read-only legacy content
17061 Discussions

IOS build failed with cordova local notification

Christian_K_
New Contributor I
1,577 Views

I use the Intell XDK Framework and the local Notifikation Plugin 0.8.4. When i compile the iOS app, than i see following message. The android compile works fine. The problem is the cordova-plugin-app-event. 

What mean this error?

CompileC build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/Objects-normal/armv7/AppDelegate+APPAppEvent.o MyFoodDB/Plugins/cordova-plugin-app-event/AppDelegate+APPAppEvent.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
cd .../mobile2/platforms/ios
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Developer/android-sdk-macosx/tools:/usr/local/ant/bin"
/Applications/Xcode.app/Contents/Developer/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 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wno-receiver-is-weak -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/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -fvisibility=hidden -Wno-sign-conversion -miphoneos-version-min=8.0 -iquote .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/MyFoodDB-generated-files.hmap -I.../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/MyFoodDB-own-target-headers.hmap -I.../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/MyFoodDB-all-target-headers.hmap -iquote .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/MyFoodDB-project-headers.hmap -I.../mobile2/platforms/ios/build/device/include -I.../mobile2/platforms/ios/build/device/usr/local/lib/include -I.../mobile2/platforms/ios/build/UninstalledProducts/include -I.../mobile2/platforms/ios/build/device -I.../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/DerivedSources/armv7 -I.../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/DerivedSources -F.../mobile2/platforms/ios/build/device -include .../mobile2/platforms/ios/build/sharedpch/MyFoodDB-Prefix-adnximjampipriatljpcmowmenem/MyFoodDB-Prefix.pch -MMD -MT dependencies -MF .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/Objects-normal/armv7/AppDelegate+APPAppEvent.d --serialize-diagnostics .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/Objects-normal/armv7/AppDelegate+APPAppEvent.dia -c .../mobile2/platforms/ios/MyFoodDB/Plugins/cordova-plugin-app-event/AppDelegate+APPAppEvent.m -o .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/Objects-normal/armv7/AppDelegate+APPAppEvent.o
.../mobile2/platforms/ios/MyFoodDB/Plugins/cordova-plugin-app-event/AppDelegate+APPAppEvent.m:109:56: error: expected a type

  • (void) postNotificationName:(NSString*)aName object:(nullable id)anObject ^ 1 error generated.

CompileC build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/Objects-normal/armv7/CDVDevice.o MyFoodDB/Plugins/cordova-plugin-device/CDVDevice.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
cd .../mobile2/platforms/ios
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Developer/android-sdk-macosx/tools:/usr/local/ant/bin"
/Applications/Xcode.app/Contents/Developer/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 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wno-receiver-is-weak -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/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -fvisibility=hidden -Wno-sign-conversion -miphoneos-version-min=8.0 -iquote .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/MyFoodDB-generated-files.hmap -I.../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/MyFoodDB-own-target-headers.hmap -I.../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/MyFoodDB-all-target-headers.hmap -iquote .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/MyFoodDB-project-headers.hmap -I.../mobile2/platforms/ios/build/device/include -I.../mobile2/platforms/ios/build/device/usr/local/lib/include -I.../mobile2/platforms/ios/build/UninstalledProducts/include -I.../mobile2/platforms/ios/build/device -I.../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/DerivedSources/armv7 -I.../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/DerivedSources -F.../mobile2/platforms/ios/build/device -include .../mobile2/platforms/ios/build/sharedpch/MyFoodDB-Prefix-adnximjampipriatljpcmowmenem/MyFoodDB-Prefix.pch -MMD -MT dependencies -MF .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/Objects-normal/armv7/CDVDevice.d --serialize-diagnostics .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/Objects-normal/armv7/CDVDevice.dia -c .../mobile2/platforms/ios/MyFoodDB/Plugins/cordova-plugin-device/CDVDevice.m -o .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/Objects-normal/armv7/CDVDevice.o

CompileC build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/Objects-normal/armv7/CDVPlugin+APPAppEvent.o MyFoodDB/Plugins/cordova-plugin-app-event/CDVPlugin+APPAppEvent.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
cd .../mobile2/platforms/ios
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Developer/android-sdk-macosx/tools:/usr/local/ant/bin"
/Applications/Xcode.app/Contents/Developer/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 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wno-receiver-is-weak -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/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -fvisibility=hidden -Wno-sign-conversion -miphoneos-version-min=8.0 -iquote .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/MyFoodDB-generated-files.hmap -I.../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/MyFoodDB-own-target-headers.hmap -I.../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/MyFoodDB-all-target-headers.hmap -iquote .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/MyFoodDB-project-headers.hmap -I.../mobile2/platforms/ios/build/device/include -I.../mobile2/platforms/ios/build/device/usr/local/lib/include -I.../mobile2/platforms/ios/build/UninstalledProducts/include -I.../mobile2/platforms/ios/build/device -I.../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/DerivedSources/armv7 -I.../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/DerivedSources -F.../mobile2/platforms/ios/build/device -include .../mobile2/platforms/ios/build/sharedpch/MyFoodDB-Prefix-adnximjampipriatljpcmowmenem/MyFoodDB-Prefix.pch -MMD -MT dependencies -MF .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/Objects-normal/armv7/CDVPlugin+APPAppEvent.d --serialize-diagnostics .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/Objects-normal/armv7/CDVPlugin+APPAppEvent.dia -c .../mobile2/platforms/ios/MyFoodDB/Plugins/cordova-plugin-app-event/CDVPlugin+APPAppEvent.m -o .../mobile2/platforms/ios/build/MyFoodDB.build/Release-iphoneos/MyFoodDB.build/Objects-normal/armv7/CDVPlugin+APPAppEvent.o
.../mobile2/platforms/ios/MyFoodDB/Plugins/cordova-plugin-app-event/CDVPlugin+APPAppEvent.m:93:23: error: expected a type
name:(nullable NSString*)event
^
.../mobile2/platforms/ios/MyFoodDB/Plugins/cordova-plugin-app-event/CDVPlugin+APPAppEvent.m:94:23: error: expected a type
object:(nullable id)object
^
2 errors generated.

0 Kudos
8 Replies
Pamela_H_Intel
Moderator
1,577 Views

Christian, I think there is a problem with the "nullable id" type in iOS. I will check with the build engineers.

0 Kudos
PaulF_IntelCorp
Employee
1,577 Views

My guess is that the plugin you are using needs to be compiled using Xcode 7, our current iOS build system uses Xcode 6. We are working on an upgrade, but not sure when that will be available.

To be absolutely sure it is the plugin causing the problem, you should remove it from your project and confirm that the build errors go away. If it is the plugin, you might check the github repo for that plugin to see if there are any issues related to iOS, or if there are some additional configuration options that need to be set that are specific to iOS. If it turns out that my guess (above) regarding the version of Xcode is correct, there's not much we can do about it until the build system is upgraded. If that is the case, one workaround is to try using an older version of the plugin.

0 Kudos
Christian_K_
New Contributor I
1,577 Views

Hello Paul, thanks for your fast answer. When i add the plugin, then used Intel XDK the version 0.8.1. This version used the device plugin 1.1.0.

The Problem is, i can't create a Android build and the IOS App crashed. I can only change the plugin to 0.8.2. This changed the device Plugin to 0.1. The Problem with the Android build is the same and i see no IOS notification. I can create a Android build with version 0.8.3. With version 0.8.3 i can't create a IOS build.

 

0 Kudos
PaulF_IntelCorp
Employee
1,577 Views

Sorry, but I'm not clear about which plugins you are referring to. The one you mention in your original post is the cordova-plugin-app-event, which is only supported on the iOS platform (see the docs and the plugin.xml file here > https://github.com/katzer/cordova-plugin-app-event). But that does not have a version 0.8.1, etc.

Please clarify.

0 Kudos
Christian_K_
New Contributor I
1,577 Views
No, i mean the cordova notification plugin. This plugin version 0.8.3 need the cordova plugin app event. I have contact with the developer. He means, that we need the newest IOS 9 SDK. The problem with the version 0.8.2 is the automatic change to cordova device 0.1. When we use the cordova device plugin 1.1.0, than we can compile for android and ios.
0 Kudos
PaulF_IntelCorp
Employee
1,577 Views

There should not be an "automatic change" to the Cordova Device plugin version 0.1. The plugin.xml file from that notification plugin for version 0.8.2 shows a single dependency:

    <!-- dependencies -->
    <dependency id="cordova-plugin-device" />

but does not specify a version.

If you install the cordova device plugin manually, first, then when you install the notification plugin it will not attempt to re-install the device plugin, it will use the version that is already installed. So you should install the device 1.1.0 version first, then install the notification 0.8.2 plugin.

Our iOS build system only supports Xcode 6. I don't know the details on the iOS SDKs, but I suspect you need Xcode 7 to get the the iOS 9 SDK, which means we won't be able to support that newest version until our build system is upgraded with Xcode 7. That is in process, but may take some time to be finished.

0 Kudos
Christian_K_
New Contributor I
1,577 Views

When you add the cordova-notification-plugin to your Intel XDK project, than you have the version 0.8.1 and cordova-device 1.1.0. Then change the plugin version to 0.8.2. Intel XDK change the cordoba-device to 0.1.

0 Kudos
PaulF_IntelCorp
Employee
1,577 Views

Hmm... That sounds like a problem with the plugin configuration problem, like it's specifying the old plugin name in the newer version, it's very odd behavior. We use standard Cordova under the hood to install and remove the plugins.

Does the cordova-device plugin show up as a locked plugin?

What happens if you remove the notification plugin and make sure the device plugin is also removed. Then add the device plugin first. Then add the notification 0.8.2 plugin?

0 Kudos
Reply