ios - How to fix "couldn't find module: ti.cloudpush for architecture: armv7" (Appcelerator Titanium) -


i've upgraded appcelerator studio , updated project titanium sdk v5.0.2.ga 5.3.0.ga, works fine on android (although had remove color property progressbar rendered correctly), on ios showed red error screen following message...

couldn't find module: ti.cloudpush architecture: armv7

the console reports following...

[info] : app started [error] : script error couldn't find module: ti.cloudpush architecture: armv7

[error] : script error module "ui/common/loginwindow" failed leave valid exports object

[error] : script error module "common/services" failed leave valid exports object

[error] : errorcontroller up. aborting showing of modal controller

[error] : errorcontroller up. aborting showing of modal controller

a quick google search implied needed change manifest files , recompile module - it's not module wrote, it's provided appcelerator (titanium).

could please guide me what's required fix problem?

reverting 5.0.2.ga - blows up, perhaps in appcelerator studio has broken something, or applie/xcode has new requirements?

i'm deploying via usb - no appstore @ stage.

my project has following (note many of uirequireddevicecapabilities commented out, no changes here many months)...

<?xml version="1.0" encoding="utf-8"?> <ti:app xmlns:ti="http://ti.appcelerator.org">     <id>com.devology.****.app</id>     <name>****</name>     <version>1.37</version>     <publisher>*****</publisher>     <url>https://www.****.com</url>     <description>****</description>     <copyright>****</copyright>     <icon>appicon.png</icon>     <!-- android = appicon.png -->     <!--    <fullscreen>false</fullscreen><navbar-hidden>false</navbar-hidden>    -->     <analytics>true</analytics>     <guid>****</guid>     <property name="ti.ui.defaultunit" type="string">dp</property>     <ios>         <min-ios-ver>6.0</min-ios-ver>         <!-- 6.0 exclude ipad 1-->         <!-- 7.0 minimum version armv7s-->         <plist>             <dict>                 <key>nslocationalwaysusagedescription</key>                 <string>****</string>                 <key>nslocationwheninuseusagedescription</key>                 <string>****</string>                 <key>uisupportedinterfaceorientations~iphone</key>                 <array>                     <string>uiinterfaceorientationportrait</string>                     <string>uiinterfaceorientationportraitupsidedown</string>                 </array>                 <!--                 <key>uisupportedinterfaceorientations~ipad</key><array><string>uiinterfaceorientationportrait</string><string>uiinterfaceorientationportraitupsidedown</string><string>uiinterfaceorientationlandscapeleft</string><string>uiinterfaceorientationlandscaperight</string></array>                 -->                 <key>uirequirespersistentwifi</key>                 <!-- specifies whether app requires wi-fi connection. ios maintains active wi-fi connection open while app running. -->                 <false/>                 <key>uiprerenderedicon</key>                 <false/>                 <key>uistatusbarhidden</key>                 <true/>                 <key>beta-reports-active</key>                 <true/>                 <key>uistatusbarstyle</key>                 <string>uistatusbarstyledefault</string>                 <key>uibackgroundmodes</key>                 <array>                     <string>location</string>                     <!--                         causes rejection apple, shouldn't need backgrounded sound                         because use notifications                         <string>audio</string>                     -->                 </array>                 <key>uirequireddevicecapabilities</key>                 <array>                     <!--<string>armv7</string>-->                     <!--iphone 3gs, iphone 4, iphone 4s, ipod 3g/4g/5g, ipad, ipad 2, ipad 3, ipad mini -->                     <!--<string>armv7s</string>-->                     <!-- iphone 5, ipad 4 -->                     <string>gps</string>                     <!-- should require gps if app needs location data more accurate cellular or wi-fi radios might otherwise provide. -->                     <string>location-services</string>                     <!-- if include 'gps' key, should include location-services key -->                     <!--<string>sms</string> -->                     <!-- include key if app requires (or prohibits) presence of messages app. might require feature if app opens urls sms scheme. -->                     <!--<string>telephony</string> -->                     <!-- include key if app requires (or prohibits) presence of phone app. might require feature if app opens urls tel scheme. -->                     <!--<string>wifi</string>-->                     <!-- include key if app requires (or prohibits) access networking features of device. -->                 </array>             </dict>         </plist>     </ios>     <android xmlns:android="http://schemas.android.com/apk/res/android">         <manifest android:versioncode="37" android:versionname="1.37">             <uses-permission android:name="android.permission.internet"/>             <uses-permission android:name="android.permission.vibrate"/>             <uses-permission android:name="android.permission.sound"/>             <uses-permission android:name="android.permission.access_network_state"/>             <uses-permission android:name="android.permission.access_coarse_location"/>             <uses-permission android:name="android.permission.access_fine_location"/>             <uses-permission android:name="android.permission.access_mock_location"/>         </manifest>         <services>             <service type="interval" url="common/androidbackgroundservice.js"/>         </services>     </android>     <mobileweb>         <precache/>         <splash>             <enabled>true</enabled>             <inline-css-images>true</inline-css-images>         </splash>         <theme>default</theme>     </mobileweb>     <modules>         <module platform="android">ti.cloudpush</module>         <module platform="commonjs">ti.cloud</module>     </modules>     <deployment-targets>         <target device="blackberry">false</target>         <target device="android">true</target>         <target device="ipad">false</target>         <target device="iphone">true</target>         <target device="mobileweb">false</target>     </deployment-targets>     <sdk-version>5.0.2.ga</sdk-version> .... </ti:app> 

as mentioned "but on ios showed red error screen following message...",.....

the ti.cloudpush module android can see these lines in tiapp.xml:

<modules>     <module platform="android">ti.cloudpush</module>     <module platform="commonjs">ti.cloud</module> </modules> 

now, problem have not put check on os wherever requiring cloudpush module.

i suggest code calling :

var cloudpush = require('ti.cloudpush'); 

so, make work, use code:

var cloudpush;  if (os_android) {    cloudpush = require('ti.cloudpush'); } else {    cloudpush = null; } 

if not help, share code calling module.