Software Archive
Read-only legacy content
17061 Discussions

"Invalid Bundle Structure" error when loading IPA file into iTunes Connect

Daniel_B_9
Beginner
1,219 Views

I am developing a cross platform app in China. The issue is that Android's GCM push notifications are blocked here so we could not use any of the big Cordova push plugins. Instead, we opted to use JPush.

https://github.com/jpush/jpush-phonegap-plugin

The plugin was downloaded and added locally to the project through XDK. The plugin works great on Android, but when my coworker loaded the .ipa file into iTunes Connect, we got the following error.

 

屏幕快照 2015-06-23 下午2.11.34_0.png

Basically iTunes connect doesn't seem to like JPush. Is there a solution? How is implementing JPush any different from implementing another Cordova push plugin?

Thank you for your time.

0 Kudos
6 Replies
John_H_Intel2
Employee
1,219 Views

Did you include the plugin locally, or directly from the git repo?
It might not like the .java or the .jar files contained in the plugin, but thats just a guess. 

0 Kudos
Daniel_B_9
Beginner
1,219 Views

JOHN H. (Intel) wrote:

Did you include the plugin locally, or directly from the git repo?
It might not like the .java or the .jar files contained in the plugin, but thats just a guess. 

Hi John, thank you for your reply.

As I mentioned in the original post, the plugin was added locally. I needed to include my unique JPush App Key in the plugin.xml file, so as I understand it, adding it from the git repo is not an option.

Are we SOL?

Will other push plugins cause the same problem?

0 Kudos
John_H_Intel2
Employee
1,219 Views

I have not used this push plugin previously. One that I have tested before is call PushWoosh. It works great for iOS and android. We are not affiliated or work with them in any way, but their stuff works with our stuff :)

As far as the one you are using, have you tried removing that android code from the folder before you upload and build for iOS?

0 Kudos
Daniel_B_9
Beginner
1,219 Views

JOHN H. (Intel) wrote:

I have not used this push plugin previously. One that I have tested before is call PushWoosh. It works great for iOS and android. We are not affiliated or work with them in any way, but their stuff works with our stuff :)

As far as the one you are using, have you tried removing that android code from the folder before you upload and build for iOS?

Thank you for the recommendation. Unfortunately PushWoosh does not work in China as it uses GCM to send notifications to Android devices.

The problem does not seem to lie in the android code, but rather the iOS code. If you read the path of the file in the error, it says

.../www/jpush/src/ios/lib/libPushSDK-1.8.2.a

 So it seems that the error is in required iOS file.

I read about this error on stackoverflow, and one of the things that stuck is that external libraries need to be "linked" instead of "included". This solution was suggested in the context of native iOS apps being developed on XCode, so this does not directly translate to XDK and Cordova.

Is this a possible solution? Are there different ways a plugin can be included in a Cordova app?

Thank you for your time

0 Kudos
PaulF_IntelCorp
Employee
1,219 Views

If you're using CLI to build your apps you have more latitude with modifying the plugins and changing the build system, since the build system is local to your machine.

Try working with the EA release (see the Early Access forum at the top of this forum), it changes the way we are handling plugins. Make a copy of any working project and work with that copy, the projects are not compatible with the current release. When you use the EA version the plugins are pulled into your local project and from there you can make customizations to them, but the build system is still remote.

0 Kudos
Rafael_F_1
Beginner
1,219 Views

Fix for this problem: just remove any plugin folders inside cordova's plugin folder. 
[your project]/plugins/     <-- remove all folders inside this one.

0 Kudos
Reply