55 Replies Latest reply on Jan 2, 2014 5:26 PM by Rob Roberts

    iOS 7 / Xcode 5 support

    DecisionPoint Keith Gable

      Have you guys tried Rhodes/RhoElements on iOS 7 / Xcode 5? How well does it work?

        • Re: iOS 7 / Xcode 5 support
          Rob Richard

          No answer for over 3 months...  Hmmm

            • Re: iOS 7 / Xcode 5 support

              Thread must have gotten buried, ios 7 is definitely supported in Rhodes/RhoElements 4.0 (the latest beta has it as well as the very soon to be released final version).

                • Re: iOS 7 / Xcode 5 support
                  Rob Richard

                  Thanks Lars.  I noticed the annotations in github.  I ran into the curl errors when compiling my app for iOS7 today, so was looking for the resolution.  I'm trying to figure out how to get 4.0.0 from github onto my Mac right now, so hopefully that will fix that issue.

                    • Re: iOS 7 / Xcode 5 support
                      Jon Tara

                      I am having problem compiling Curl, as well. 4.0 is not an option, since it is still in Beta, and we have a large app that almost certainly will require significant updating for 4.0.

                       

                      We can build/run for 7.0 simulator, and previous builds done with older Xcode seem to run fine on iOS 7.

                      ----

                       

                      In file included from /Users/jon/.rvm/gems/ruby-1.9.3-p448@rhodes-3.5.1.13/gems/rhodes-3.5.1.13/platform/shared/curl/lib/easy.c:34:

                      /Users/jon/.rvm/gems/ruby-1.9.3-p448@rhodes-3.5.1.13/gems/rhodes-3.5.1.13/platform/shared/curl/lib/strequal.h:34:8: error: expected parameter declarator

                      size_t strlcat(char *dst, const char *src, size_t siz);

                       

                      In file included from /Users/jon/.rvm/gems/ruby-1.9.3-p448@rhodes-3.5.1.13/gems/rhodes-3.5.1.13/platform/shared/curl/lib/easy.c:34:

                      /Users/jon/.rvm/gems/ruby-1.9.3-p448@rhodes-3.5.1.13/gems/rhodes-3.5.1.13/platform/shared/curl/lib/strequal.h:34:8: error: expected ')'

                       

                      In file included from /Users/jon/.rvm/gems/ruby-1.9.3-p448@rhodes-3.5.1.13/gems/rhodes-3.5.1.13/platform/shared/curl/lib/easy.c:34:

                      /Users/jon/.rvm/gems/ruby-1.9.3-p448@rhodes-3.5.1.13/gems/rhodes-3.5.1.13/platform/shared/curl/lib/strequal.h:34:8: error: conflicting types for '__builtin___strlcat_chk'

                • Re: iOS 7 / Xcode 5 support
                  Jon Tara

                  Well, amazed… Great job of maintaining pre-4.0 compatibility XXXXXXXXX (never mind!)!

                   

                  I tried building our large app with Rhodes 4.0 pulled from current gitHub, and it builds and runs on simulator. Haven't tried hardware yet. There are some issues with a native extension we wrote to handle iScroll issue when using keyboard, but that looks easy to fix - they (iOS 7.0) now resize the UIWebView viewport when the keyboard shows. This was never done in the past, and we had to write a native extension to get keyboard notifications and then do scroller height modification based on keyboard height from the notifications.

                   

                  Edit: I've tried the app on hardware now, and done more testing on the Apple simulator. Needs work - definitely some things that no longer work, but happy that at least it starts up. But I was initially overly-impressed by the fact that I was able to get a large app to run - kind of.

                   

                  I built a different large project, and had less success. The application starts and runs to the point where it asks for permission to use Location Services, the message briefly displays, and then the app quits, with absolutely no indication in the log as to what happened.

                   

                  This app uses a Native Tabbar, which seems to have changed a bit. Unclear if @tabs/@@toolbar are still supported in application.rb? Documentation is clear as mud, and the "unified" Ruby/Javascript API does not help a bit. It is *not* unified, as many methods have different names, now some Ruby methods violate common Ruby naming conventions (camelCase now, when almost everyone uses snake_case, why does Rhodes have to be different?).

                   

                  Apparently, many old API method/class names can still be used, but the documentation doesn't state this at all. It just says they have been changed. So, unclear if we can continue to use, say, WebView.execute_js, or have to change to WebView.executeJavascript.

                   

                  Looks like Log parameters got swapped. Minor annoyance, but, why?

                   

                  This update is death-by-1000-cuts for existing apps, and insufficient documentation for transition.

                   

                  Update: disabled location services code. The last logging i see is on exit from on_activate_app (I added logging) and then it just exits with no message.

                   

                  This is going to be rather painful. The only way I see is to simply start a new app and port stuff over a bit at a time. Here we are stuck again. Reviewing alternatives to Rhodes, as the emphasis seems to be on Javascript. If I wanted Javascript, I would use PhoneGap.

                   

                  From what I can see (I am running the current 4.0 from gitHub, though I see there is work on 4.1, but haven't tried that) no way is this ready for release next week. If there is a "release" it's just a name without meaning, IMO.

                   

                  Edit: Native Tabbar seems to just plain not work in 4.0. Removed native tab bar, and at least I can start the app. Documentation is ambiguous. From docs on on_ui_created:

                   

                  # NativeBar.create(Rho::RhoApplication::TABBAR_TYPE, tabs)

                   

                  What the heck is this? Not documented any where else. Never seen tab bar initialized this way before, and inconsistent with API documentation.

                   

                  Parsing of JSON responses in Network API broken.

                   

                  Apparently, documentation is erroneous on some module name changes. I changed a call to Rho::AsyncHttp.get to Rho::Network.get. Only the former works. Apparently one of those Javascript/Ruby discontinuities where the documentation is either incorrect or ambiguous.

                    • Re: iOS 7 / Xcode 5 support
                      Kutir Mobility

                      Hi Jon,

                       

                      Let me try to address some of your concerns:


                      the "unified" Ruby/Javascript API does not help a bit. It is *not* unified, as many methods have different names, now some Ruby methods violate common Ruby naming conventions (camelCase now, when almost everyone uses snake_case, why does Rhodes have to be different?).

                       

                      Many APIs have been renamed in the transition to 4.0. They have new names compared to 2.x, but the new names are consistent between Javascript and Ruby. That is what "unified API" refers to.

                       

                      Apparently, many old API method/class names can still be used, but the documentation doesn't state this at all. It just says they have been changed. So, unclear if we can continue to use, say, WebView.execute_js, or have to change to WebView.executeJavascript.

                       

                       

                      Old API classes (anything not migrated to the new unified API) are still there. For the most part, you should be able to convert an existing application piece by piece but I don't think you can just change the gem and rebuild. The recommendation is to start migrating to the new API at soon as you reasonably can.

                       

                      I changed a call to Rho::AsyncHttp.get to Rho::Network.get. Only the former works

                       

                      Not only did the method get their name changed, in many cases their parameters have changed too. You can see some code samples with the new APIs in a demo app (in beta) here: https://github.com/rhomobile/rho-samples/tree/master/kitchensink

                       

                      I built a different large project, and had less success. The application starts and runs to the point where it asks for permission to use Location Services, the message briefly displays, and then the app quits, with absolutely no indication in the log as to what happened.

                       

                      Of course, nothing in a Rhodes app should cause the app to just exit so this has to be a bug in the beta.

                       

                      Thanks,

                      Javier

                      Kutir Mobility

                        • Re: iOS 7 / Xcode 5 support
                          Jon Tara

                          Thanks for explaining that the old APIs are still there. Would be nice if the documentation would at least mention it.

                           

                          There is insufficient documentation for new APIs. Will have to examine source code to determine parameters. For example, this is all that is provided documenting Rho::Network.get:

                           

                              propertyMap : HASH

                           

                           

                              Properties map.

                              callback : CallBackHandler Optional

                           

                          Oh, great! I know that I should pass a hash. Would be helpful to tell us what is in the hash.

                           

                          As well, it appears that (in the new API methods) there is no longer any way to set a callback parameter?

                            • Re: iOS 7 / Xcode 5 support
                              Kutir Mobility

                              the last parameter, "CallBackHandler", is the callback. The way it works now is: if you pass a callback, it will be used (and the call will be asynchronous), if you don't, the call will be synchronous.

                               

                              The list of acceptable keys / values in the hash is in http://edgedocs.rhomobile.com/api/Network#Properties

                               

                              Once you spend a while looking at the new API docs, you get the way they are structured and end up finding the stuff you need most of the time.

                               

                              Let me know what other hurdles you encounter in your transition to 4.0 and I'll try to help as much as possible.

                               

                              Thanks,

                              Javier

                              Kutir Mobility

                                • Re: iOS 7 / Xcode 5 support
                                  Jon Tara
                                  the last parameter, "CallBackHandler", is the callback

                                  No, that's not what I was referring to.

                                   

                                  AsyncHttp.get has an option to allow you to pass some data (e.g. context) to the callback. That option doesn't work in 4.0.

                                   

                                  A bit of code for 3.5.1. This code requests some venues from Foursquare. The code might request different "sets" of venues, where "set" is a concept local to the app. A "set" might be "search", "nearby", or "favorites". The callback needs to know which set was requested, so that it knows what to do with it. The app can't possibly intuit from the returned data what set it is, so in 3.5.1 it is included as a :callback_param.

                                   

                                  http_response = Rho::AsyncHttp.get(

                                      :callback => '/app/Place/foursquare_places_callback',

                                      :callback_param => "set=#{set}",

                                      :url =>

                                        "#{Foursquare_url}?v=#{Foursquare_version}&ll=#{loc.latitude},#{loc.longitude}&llAcc=#{loc.accuracy}&intent=checkin&limit=30#{radius_param}#{query_param}&client_id=#{Foursquare_client_id}&client_secret=#{Foursquare_client_secret}"

                                      )

                                   

                                  I modified this to use Network.get instead, and so I added a second parameter with the callback URL. But the callback_param data is not sent in the callback. In 3.5.1 it is.

                                    • Re: Re: iOS 7 / Xcode 5 support
                                      Kutir Mobility

                                      I see what you mean; you can get the same behavior by building the values of what would have been "callback_param" directly into the callback url:

                                       

                                      Rho::Network.get({
                                      :url =>
                                            "#{Foursquare_url}?v=#{Foursquare_version}&ll=#{loc.latitude},#{loc.longitude}&llAcc=#{loc.accuracy}&intent=checkin&limit=30#{radius_param}#{query_param}&client_id=#{Foursquare_client_id}&client_secret=#{Foursquare_client_secret}"
                                      },
                                      url_for(:controller => :Place, :action => :foursquare_places_callback, :query => {:set => set})
                                      )
                                      
                                      

                                      in foursquare_places_callback, you can access @params["set"] and get the value you passed initially.

                                        • Re: iOS 7 / Xcode 5 support

                                          hey I am using Rho::RhoConnectClient.login where it is going to the login_callback method but when I am checking the logs in the server it seems the login request is not reaching the rhosync server.

                                           

                                          any suggestions

                                          • Re: iOS 7 / Xcode 5 support
                                            Jon Tara
                                            I see what you mean; you can get the same behavior by building the values of what would have been "callback_param" directly into the callback url

                                            That's an interesting idea. It will only work, though, if Foursquare (or other API provider) will tolerate the extra parameter without giving an error. So, it is not a general solution.

                                             

                                            I reviewed the documentation on parameters, and it appears callback_param is not supported. So, we've lost an important feature.

                                             

                                            I'll add an Issue on GitHub.

                                             

                                            (And thanks for reminding me that you can add parameters from a hash using :query =>. I was constructing the parameters the hard way using string substitution.)

                                              • Re: Re: iOS 7 / Xcode 5 support
                                                Kutir Mobility

                                                That's an interesting idea. It will only work, though, if Foursquare (or other API provider) will tolerate the extra parameter without giving an error. So, it is not a general solution.


                                                Maybe I did not express this clearly enough: the url where you add the parameters is the callback url within your app that Rhodes will invoke after the request completes. What used to be


                                                Rho::AsyncHttp.get(
                                                    :callback => '/app/Place/foursquare_places_callback',
                                                    :callback_param => "set=#{set}",
                                                    :url => <foursquare url>
                                                )
                                                

                                                is now

                                                 

                                                Rho::Network.get({
                                                :url => <foursquare url> #exactly the same as before, no changes
                                                },
                                                "/app/Place/foursquare_places_callback?set=#{set}"      # <-- this is where you add what was previously :callback_param
                                                )
                                                


                                                Hopefully that will be clearer.

                                                  • Re: iOS 7 / Xcode 5 support
                                                    Jon Tara
                                                    Maybe I did not express this clearly enough: the url where you add the parameters is the callback url within your app that Rhodes will invoke after the request completes

                                                    Thanks - that makes sense.

                                                     

                                                    I'd thought of another alternative, though I haven't tried it yet. When you get the callback, you have access to @request, right? So, I'd imagine you could just stuff an extra key in @request, and one would hope that Network.get will not care. You could then retrieve it inside the callback. This would make it practical to pass quite complex data, then.

                                    • Re: iOS 7 / Xcode 5 support

                                      I am also having similar problem while generating iOS7 build with ruby1.8.7/ruby19.3 and rhodes3.5.1.12.

                                       

                                      The error seems to be a C compiler error (tried both building from Xcode and running  "rake run:iPhone")

                                       

                                      CompileC ../build/curl.build/Release-iphoneos/curl.build/Objects-normal/armv7/formdata.o /Users/akshar/.rvm/gems/ruby-1.8.7-p374/gems/rhodes-3.5.1.12/platform/shared/curl/lib/formdata.c normal armv7 c com.apple.compilers.llvm.clang.1_0.compiler

                                       

                                      would you suggest to use latest Xcode and/or rhodes-4.0.0beta59 (with iOS7 fixes) to use for a production app?

                                       

                                      This is critical and has to be submitted in 3 days. Please help

                                        • Re: iOS 7 / Xcode 5 support
                                          Jon Tara

                                          I don't think you can submit to the App Store if you build with Xcode 4.6.3. They will now require any newly-submitted apps to be compatible with iOS7, and that will require building with Xcode 5.

                                           

                                          But you cannot build using Xcode 5 currently if you use Rhodes 3.5.1. So, the only viable route right now for apps that have to be submitted to the app store is to build with a beta Rhodes 4.0 and Xcode 5.

                                           

                                          If you do use the beta, I'd suggest you pull the latest from gitHub and build the Gem from the 4.0.0 branch, as there seem to be quite a few critical fixes that are not in the latest beta release.

                                           

                                          Apps built with Rhodes 3.5.1/XCode 4.6.3/iOS 6.1 seem to work fine on iOS 7. But they won't be accepted on the App Store.

                                           

                                          I'm afraid this happens on every new iOS release. Rhodes developers unfortunately have to plan for a blackout period of perhaps several months after each iOS update. It's happened like this consistently.

                                           

                                          There doesn't seem to be a good understanding on the part of Motorola of the need for developers to support multiple and new OS releases, and overlap that development effort. The build environment and OS support model is fundamentally broken.

                                            • Re: iOS 7 / Xcode 5 support

                                              Thanks Jon.

                                               

                                              I have tried with the rhodes 4.0 from github and ruby 1.9.3, but the build is not generating.

                                              Screen Shot 2013-09-24 at 8.38.13 AM.png

                                              I ran these commands in my code dir

                                              1. rake switch_app
                                              2. rake build:iphone:setup_xcode_project
                                              3. from the Xcode opened the rhorunner project
                                              4. changed the build setting as per the screenshot
                                              5. Run the rhonnuer preoject with retines(iOS7 simulator)
                                              6. ERROR: Command /bin/sh failed with exit code 1
                                                • Re: iOS 7 / Xcode 5 support
                                                  Rob Richard

                                                  Glad to know I'm not the only one banging my head here.  What is the error message?

                                                    • Re: iOS 7 / Xcode 5 support

                                                      Good and Bad news, I am able to generate the build from cmd prompt from app dir, rake device:iPhone:production

                                                       

                                                      But the issue is, SyncEngine::logged_in is not supported now, so I am using Rho::RhoConnectClient::isLoggedin() instead, but adding the rhoconnect-client in the extension section in build.yml doesn't seems to work. Working on that.

                                                       

                                                      Regarding the error while generating the build from XCode5,

                                                      ERROR Log:

                                                       

                                                      common_bundle_start

                                                      rhoapi_js_folder: /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/platform/iphone/bin/RhoBundle/apps/public/api

                                                      init extensions

                                                      latest_update_time=Tue Sep 24 14:11:23 +0530 2013

                                                      cached_time : Tue Sep 24 14:22:50 +0530 2013

                                                      ext - coreapi

                                                      iter=/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi

                                                      extyml /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/ext.yml

                                                      add_extension - /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi - /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/platform/iphone/bin/RhoBundle/lib

                                                      chdir path=/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi

                                                      ext - json

                                                      iter=/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/json

                                                      extyml /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/json/ext.yml

                                                      add_extension - /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/json - /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/platform/iphone/bin/RhoBundle/lib

                                                      chdir path=/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/json

                                                      ext - fileutils

                                                      iter=/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/fileutils

                                                      extyml /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/fileutils/ext.yml

                                                      add_extension - /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/fileutils - /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/platform/iphone/bin/RhoBundle/lib

                                                      chdir path=/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/fileutils

                                                      ext - applePush

                                                      iter=/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/applePush

                                                      extyml /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/applePush/ext.yml

                                                      add_extension - /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/applePush - /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/platform/iphone/bin/RhoBundle/lib

                                                      chdir path=/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/applePush

                                                      exts /Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/platform/shared/ruby/ext/rho/extensions.c

                                                      extjsmodulefiles=/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/jquery-2.0.2-rho-custom.min.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/rhoapi.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/Rho.ORM.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/Rho.ORMHelper.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/Rho.Ruby.RunTime.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.Application.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.Database.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.Database.SQLite3.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.Log.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.NativeMenubar.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.NativeTabbar.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.NativeToolbar.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.Navbar.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.Network.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.Notification.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.Push.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.RhoFile.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.System.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.System.Process.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/generated/Rho.WebView.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/extensions/applePush/public/api/generated/Rho.ApplePush.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/Rho.Application.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/Rho.Database.js/Users/akshar/.rvm/gems/ruby-1.9.3-p448/gems/rhodes-4.0.0/lib/commonAPI/coreapi/public/api/rhoapi-native.iphone.js

                                                      ********* NOTE: You use sdk parameter in build.yml !****************

                                                      To use latest Rhodes gem, run migrate-rhodes-app in application folder or comment sdk in build.yml.

                                                      ************************************************************************

                                                      Command /bin/sh failed with exit code 1

                                                    • Re: iOS 7 / Xcode 5 support
                                                      Armen Malxasyan

                                                      For those who suffered from

                                                      1. ERROR: Command /bin/sh failed with exit code 1  ...

                                                      I had the same problem and suffered 2 days to find the problem and solution. The problem is that beside the bash script default ruby location, the building scripts of Xcode are using


                                                      ~/.profile , where you should manually set the ruby default value.  Then the build will work.

                                                • Re: iOS 7 / Xcode 5 support
                                                  Rob Richard

                                                  Has anyone successfully built an iOS7 app using 4.0 yet?

                                                  • Re: iOS 7 / Xcode 5 support
                                                    Fernando Coelho da Silva

                                                    I'm disappointed with the new Rhodes Mobile 4.0.0 has many problems, not run in xcode5 in IOS7. When you come out a new fix for this problem?  HELP US

                                                    • Re: iOS 7 / Xcode 5 support
                                                      Armen Malxasyan

                                                      Basically I had solved all Rhodes problems with building in Xocode 7. The only problem which stays and have to do manually are following.

                                                       

                                                       

                                                      1) Icons.

                                                       

                                                      Dear developer,

                                                      We have discovered one or more issues with your recent delivery for   XXXXXXXX. Your delivery was successful, but you may wish to correct the following issues in your next delivery:

                                                      Missing recommended icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format.

                                                      Missing recommended icon file - The bundle does not contain an app icon for iPad of exactly '76x76' pixels, in .png format.

                                                      Missing recommended icon file - The bundle does not contain an app icon for iPad of exactly '152x152' pixels, in .png format.

                                                      Version Mismatch - Neither CFBundleVersion ['2.4'] nor CFBundleShortVersionString [''] in the Info.plist match the version of the app set in iTunes Connect ['2.1'].

                                                      If you would like to update your binary for this app, you can reject this binary from the Binary Details page in iTunes Connect. Note that rejecting your binary will remove your app from the review queue and the review process will start over from the beginning when you resubmit your binary.

                                                      Regards,

                                                      The App Store team

                                                       

                                                       

                                                      Seems the rhodes is not putting all required icons into the project code .

                                                       

                                                      I have started a small modification of the rhodes part where icons are passed here

                                                       

                                                      Update iphone.rake by maridansoft · Pull Request #194 · rhomobile/rhodes · GitHub

                                                       

                                                      So as you see only

                                                      ICONS = [['icon', 'icon57'], ['icon57','icon57'], ['icon72','icon72'], ['icon114','icon114']]


                                                      57,72,and 114 are copied.




                                                      I have managed to add new icon sizes, but they are not added to the XCode's  resources. The problem is that I am already generating all needed icons, but have to manually add them to Xcode, which is a huge headache.


                                                      The same problem exists with the loading images!


                                                      Can somebody of you hint me on the rhodes iphone.rake what should be also edited, so that by switch_app and generating XCode project those icons would be automatically added to the right place in XCode ???



                                                      USER04294 please check this issue. I was speaking about this in skype.



                                                      Screenshot of problem



                                                      bGXOseRMEhEoWDsAvKg.jpg