I have a mac pro. I installed xamarin studio and everything I needed for android development on mac. The first time I created a project I ran it and everything works. I was able to click on a button which counted my number of clicks kind of like a default.
I decided to follow the Android quick start tutorial on Xamarin and when I got done creating the project and ran it nothing showed in my emulator. The controls I created did not show up. All I got on top of the screen was "Deployment Completed" . No error messages either. How do I trouble shoot this? I want to be able to see the screen I created in the Emulator and click on various buttons.
Now I just got an error message and it can be found below.
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: Warning: No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (2047-01-01) or after any future revocation date. (Phoneword)
My guess is that your Android project did not actually get built either because you have selected the wrong configuration and platform pair or because the settings for the configuration and platform pair are not correct.
When building and running on Android, you want to make sure you change your Platform to AnyCPU and then either choose Debug or Release for your Configuration depending on what environment you are targeting. For building and running on iOS, you would just change the Platform to iPhone Simulator or iPhone.
See image below for how to access these settings (just click where the red boxes are circled):
In Xamarin Studio, with your project open:
Click Project -> Solution Options
Choose the Configurations tab
Choose the Configuration Mappings tab
Now change the Configuration dropdown to Debug and the Platform to AnyCPU
Make sure that the Build checkbox is checked next to your shared project (most likely the one at the top) and that the Build checkbox is checked next to your Android project
Now click OK, make sure you have the correct Configuration and Platform are selected
Rebuild the solution and try to run it again
*Edit: After talk in the comments, the emulator must be unlocked to actually view the running app. To unlock the emulator:
Click and hold down on the lock icon at the bottom of your emulator screen
Drag the mouse up to the top of the screen and release the click
Related
I was trying to build an Android APK on Monaca IDE and after selecting the type (Debug/Release) a new window appears exactly with the same content (selection of build type).
After selecting (again) the build, nothing happens, only a blank screen and the build doesn’t start. The problem appears in release and debug builds.
This appear in full screen after selecting the build type on the IDE:
http://i.imgur.com/uEc7y77.png
Then, after selecting the build type again, only a blank screen:
http://i.imgur.com/bJQASjN.png
My best guess is that's a bug in the IDE and has got nothing to do with the project but for what it's worth I’m using Onsen UI V2, plain JS w/o a framework.
After a few tries and some frustation, I finally solved the problem:
exit Monaca
clear cookies (using a new Chrome user should also work)
login to Monaca
I want to create an app icon, splash screen, edit the app name, and set some cordova / app settings.
meteor run ios opens up the simulator but doesn't open or the project. Where is that project and does this Xcode project ever get overwritten? I don't want to lose any settings I make.
For example I want to set the app url scheme so I can implement a redirect to the app. I also want to set cordova preferences to disallow over scroll. Typically I would do these things from within the .xcodeproj but where is it and when does it get overwritten / reset?
From what i have seen from the docs and my experience so far
meteor run ios only runs the iOS emulator with your code in it. The code related to this build is in .meteor/local/cordova-build but is temporary and will get overwritten all the time
meteor run ios-device -p yourlocalip:yourlocalport will launch XCode with the cordova-built .xcodeproject, and a local server on your computer. It is intended to make you able to run and debug your code from an actual iPhone device, with the changes you make on your computer to the code repercuted instantly on the iPhone screen. You need your computer and your phone to be on the same Wifi to enable this feature. The code related to this build is in .meteor/local/cordova-build but is temporary and will get overwritten all the time
meteor build /Path/To/Builds/Directory/NewBuild -p yourserverhost:yourserverip will actually create the cordova-built .xcodeproject pointing to your real server at the path you specified. From this project you can customize as much as you want BUT you will indeed loose these settings with a new build...
Except if you use the yourproject/cordova-build-override/ folder !
As described in the offical cordova meteor docs under "Advanced build configuration" everything you put in this folder will overwrite the files created by meteor during its build. So you can configure everything in the Cordova/Phonegap way there. If you were able to configure your features through Cordova usually, you will be able to do it there.
Bonus that I have learned the hard way :
Always destroy the .meteor/local folder before building one of those three things, i got stuck in a state where XCode remembered some of my changes to the .xcodeproject and everything was messed up. After destroying this folder, everything went back to normal :)
hope i helped
Mickael
If you are looking for the path to the Xcode project in your filesystem, it is located at:
/path/to/project/.meteor/local/cordova-build/platforms/ios/<project>.xcodeproj
You'll have to navigate to your project directory and open .meteor because it is a hidden file.
Note: If you want to be able to see hidden files in finder on a mac, then type into your terminal defaults write com.apple.finder AppleShowAllFiles TRUE, and then restart finder. Change TRUE to FALSE to only see visible files.
I am trying to run an automation on an iOS App using UIAutomation with Instruments.
It had worked well when I had tried it out a few weeks back. However, I tried out another automation testing framework (KIF from Square) in the meantime, and now when I try and run Automation with Instruments, it refuses to work.
When it had worked, I had carried out the following steps:
Open my app in Xcode
Run the app
Quit the iOS simulator
Open Instruments (not necessarily through Xcode, but just by searching for Instruments in Spotlight), choose Automation
Instruments opens, and when I click on Choose target, I do not need to browse for the target. I can see the name of my app in the list (description: the app name is without the .app extension and has an icon before the name like the icon which appears at the top of the output window in Xcode - a black and white icon with a gradient) even though I haven’t opened it before i.e even when I had opened Instruments for the first time.
I choose this target from the list, choose a javascript file for the automation to run, and then click ‘Record’. The automation used to run and I could see it run in the simulator which used to open up.
However, opening Instruments no longer shows me the target in the list of targets anymore.
I have tried choosing a target from my filesystem (from the Derived Data folder) as well as from the iPhone Simulator applications folder; but no luck. The target does not appear as it used to before (in the description above), but appears with a .app extension and with the typical application icon. The automation does start and open up the simulator, but gives the following message: (although the page or the script haven't changed at all)
Cannot perform action on invalid element: UIAElementNil from target.frontMostApp().mainWindow().elements()[2]
(Would have liked to post images, but can't, since I am a new user and do not have the required permissions yet - hope the description makes up for it)
Have been stuck on this issue for long and any help would be appreciated! Thanks so much!
I just profiled the app using Product -> Profile in Xcode, and that opened up Instruments with the target. The target was the Unix executable under Derived Data -> MyApp -> Build Products -> Release-iphonesimulator -> MyApp.app -> MyApp unix executable.
Also, while using KIF, I had enabled accessibility labels for some views in the storyboard. While running the automation tests in Instruments, the app seemed to somehow consider the views which had the accessibility labels set as one single element and could not access sub-elements on this view. In order to run with Instruments, I just disabled the accessibility labels for the views and it worked like a charm again!
We are seeing a strange behavior in our iOS part of the App:
We are using a Jenkins Build Server with an XCode plugin to compile the app on the command line
At first we had an SVN ignore on the iPhone "native" folder in our SVN. So all was taken from common and the whole native project was generated by the worklight Ant scripts on the Jenkins server. This was then compiled by the xcode on jenkins and the App worked fine with Direct Update - the Dialog had a "UPDATE" and a "EXIT" button, both buttons worked as intended.
Then we added a CustomWebView to our project and had to include the native folder into the SVN. We tried to SVN.ignore all generated files and the build processes in Worklight Studio and on the Jenkins xcode server work both fine.
We did not change any of the generated code except we added two classes:
WebViewOverlayPlugin.h
WebViewOverlayPlugin.m
and added the plugin to the config.xml:
<plugin name="WebViewOverlayPlugin" value="WebViewOverlayPlugin"/>
BUT:
when we compile the same SVN code in the Worklight Studio, we have an iPhone app that has a Direct Update dialog with only the "UPDATE" button across the whole dialog. There is no "EXIT" button anymore at all.
when we compile the same SVN on the Jenkins Xcode server, we have an iPhone app that has a Direct Update dialog with an "UPDATE" and an "EXIT" button but the "EXIT" button does not work as intended - when pressing it, the app stays open and the dialog closes, so the user can continue to use the old version of the app without updating. The "UPDATE" button works and updates the App.
So my question is, what build setting, generated files or configuration etc. could have any influence on the behavior of the Direct Update dialog. Since we use the exact same SVN source it has to have something to do with something generated, or with some configuration.
Is anything around such a strange behavior known?
Is it known that one can "configure" the Direct Update dialog to have only an "UPDATE" button with no "EXIT"?
Thank you all for any help or hint where we could look to further investigate.
You didn't mention your Worklight version, but starting with Worklight 5.0.6.x:
The Direct Update dialog will feature only 1 button - Update. The Exit button was removed.
This was done in order to be inline with Apple's App Store submission guidelines.
And more in general, the WL.App.close API method was rendered "non functional", because as per Apple's guidelines, it is the user that should be given the control on exiting the application and not the application to do so. Think of it as an "OK" button instead of "Exit".
That said, you are not supposed to see an Exit button to begin with. But again, I do not know what is your Worklight version and what exactly is your build setup to understand what is going on there that does this sort of mixing.
You are not supposed to be able to "configure" anything in Direct Update. It is non-configurable in this respect.
As for why you have 2 buttons when building with Worklight Studio, but 1 button after adding the WebOverlayPlugin, it is interesting. Is there a chance the app is of a lower Worklight version and you are now building it with a newer version of Worklight, containing the changes made, as described above?
How to Run two instance of BlackBerry simulator in windows eclipse?
The documentation regarding developing with BlackBerry Messenger indicates that you can run two simulators at once, at least with the simulators that come bundled with the BBM SDK.
You cannot. If you try, you will get an error message saying only one simulator can run at a time.
What you need to do is:
Install the blackberry eclipse plugins twice and make two
workspace of each eclipse.
Run the two simulators in each eclipse and error like "could not
open port 19780 and it is use by another program....." will pop
out in one of your simulator.
So made the changes in pin,
data-port values in .bat files, rimpublic.property files inside
MDS and fledge-settings.conf in one of your simulator... but this
changes will not be reflected on your eclipse.
So what you need to do is, when you click the debug configuration from your
eclipse, you will see the simulator option there. So, click the simulator and change the PIN value, whatever you have made the changes in .bat files.. and just after that in the simulator you will again find the option of network, there unselect the disable registration button...once all this changes is made click apply and restart your eclipse... this will surely solved your problem