I'm a Microsoft developer who has written a Web API (using .NET) for a multi-platform mobile project (native versions to be written for iPhone, Android, and Windows).
The backend is in SQL Server, and the idea is that the mobile apps will make calls to the API to retrieve/update data. I have tested the API and believe it is fit for purpose.
The iOS developer (located in India) is adamant that the API is slow, unstable and causing errors. We're currently in a bit of a deadlock about the issue and not making much progress.
He hasn't asked for anything specific to be changed, only general complaints about slowness/instability, which he says is causing the iPhone app to crash.
However after some time, he's sent through what he says is an xcode log file which contains errors. Is there any easy way I can view this log file on a Windows computer?
Screen capture in Notepad++
Related
We have an issue with releasing our mobile app as user data have been found with the iOS memory, which is odd as we have used secure data storage though out the mobile app. Before we send the mobile app for a re-test we would like to understand in-house to verify our changes have fixed the issue.
Data has been found in the following locations:
/Data/Library/Preferences/XXX.plist
/Data/Library/Cachces/XXX/Cache.db-wal
/Data/Library/Cachces/XXX
After a lot of research we are still unclear how we can download the iOS memory, we are not sure if it's a major test development tool investigate or we can do it with Frida? Our development platform is Xamarin and I would think it would be possible to view the memory using a debugger via the simulator?
Just looking for advise if this is something very simple using a simple commercial
software/mobile app etc Or highly complex with specialist development tool.
We have a fairly simple mobile application, completed for iPhone and Android that does the following:
queries a web service to verify the user's account information
display an animation to show that the user, in fact, has a valid account
We got the application working very quickly on a PlayBook by using the Android version.
Now the customer has asked us to explore getting it to work on other BlackBerry devices.
None of us know that much about BlackBerry, and the main source for our question returned from google searches (http://us.blackberry.com/developers/choosingtargetos.jsp) comes up as 404 page.
According to this chart there is still a wide variety of devices in use. Which ones does it make sense to target?
Thanks
I had posted an answer last year about this here on stackoverflow, but as you noted, that link has recently broken.
The only thing I've found that's similar is this BlackBerry developer page. It shows, for example, that paid apps are being purchased by devices that are about 97% on OS 5.0 and above.
From what you've told me, I don't know that your app is going to be that different on different devices, aside from maybe the obvious smartphone vs. Playbook difference. Different devices certainly have different screen sizes, so you'll need to make sure your UI is coded to handle that gracefully.
If you guys are new to BlackBerry, you might want to stay away from OS < 5.0. There are some things in prior OS versions (e.g. location services / maps, browser, and networking) that are a little tough to work with, and with such a small percentage of paying customers still on OS < 5.0, it probably isn't worth it to you.
So, I guess I'm recommending that you target specific OS levels (e.g. 5.0+). That will be a bigger driver for how you build your app, than a specific set of devices. This is because each OS version adds more and better APIs to use.
Once you've decided which OS to target, then you should download the SDK for each major OS. For example, if you use the Eclipse BlackBerry plug-in, you can install the 5.0 SDK (aka component pack), the 6.0 SDK, the 7.0 and 7.1 SDK.
Once you have those SDKs installed, you'll then have a bunch of simulators (each SDK has a simulator folder). Run your app on all those simulators, and that'll probably be a good start.
Of course, there's no substitute for running on real hardware, too, but if your app does mostly standard things (not interacting with hardware sensors, just displaying web pages, and making HTTP requests), the simulators should give you a pretty good test environment. They certainly will give you all the screen size configurations.
When running an app on an iPhone/iPad via Xcode, is there anyway to open files for writing on the Mac?
I have an app which requires the device to run, so using the simulator isn't an option. I do however need to analyze some of the app's output. Currently I have to write to files on the device, and then manually sync them to the Mac. I'm looking for a way to write my files to the Mac directly.
I recommend using NSLogger to stream your log data via Bonjour to the Mac. It has a Mac application that allows you view the data as it is coming in.
For more advanced logging you can also combine NSLogger with the CocoaLumberJack framework using this connector project.
Probably the best possible solution for your situation probably rests with leveraging the console and NSLog to redirect output to a file - that's an open channel between the device and the Mac you can leverage as long as your running the app from Xcode.
There are a number of questions and answers relating to how to do this - here's one:
Log XCode gdb output to file with .gdbinit
This solution assumes that you only need to be doing this when running the app through Xcode, which your question implies. If you need to write to the Mac when running the app directly on the device (not debugging) you would need to use some type of network file transfer, such as FTP or HTTP. You could probably whip up a simple HTTP-based logging app that would run on the Mac using:
https://github.com/robbiehanson/CocoaHTTPServer
Then you would just send the content line-by-line to the server. Many other possible approaches along those lines, and probably an existing Mac-based solution you could leverage.
I'm developing a site one of the targets of which is iPad.
What options do I have to debug client side (DOM inspector, style viewer/editor, javascript console, network analyzer - all thing every major desktop browser has) when viewing the site from iPad?
I'm not looking for some kind firebug lite, or anything that makes me to debug site from iPad itself. (This would be too tedious.) Instead, what I'm after is some sort of remote debugger for mobile Safary, allowing me to work with sites opened on iPad from a desktop machine, or an iPad emulator with same capabilities. I know there is the emulator that comes in bundle with official SDK, but does it have such means?
It's the first time I'm facing the problem, so not to blame!
This is what I'm aware of:
weinre (But does it really work?)
Check out BugSense and their HTML5 (javascript) installation
Installing by cable with 'javaloader -usb load app.cod' works fine, and the app runs on the device with no problems, as on the simulator. The cod is using restricted APIs, but it's signed. The alx is a trivial nearly-empty one generated by JDE 5.0.
Despite all this, trying to load it onto the device (BB 8900) in the applications section of the Blackberry Desktop Software says:
'There was an error importing files.
No additional applications can be found. Your file might contains applications that already exist in the application list, are not compatible for your device, or have errors'.
I quite need this to be installable with users' standard tools. What can I do about this? Is there any way I can get the desktop app to give me more information?
Not really enough information to answer but on potential cause is the version data in your ALX. If you have not removed the application (using javaloader) before trying to install with Desktop Manager, and the version information in the ALX is not higher than the module version data the software won't install.
There could be other problems, but without the acutal ALX, and the OS version information for the device it is difficult to say what they may be.