I want to develop iPhone apps but i don't have a mac and money for that. I have an idea for that but i don't know if it will work?
I will rent a colocated mac mini from web and start developing from that. From a company like http://www.macminicolo.net/ I am a new bee so if there will be a problem, please warn me.
Experts, what will be the problems for me in that situation?
Thanks.
The biggest problem will be that you won't be able to debug on a device. And your workflow will be a bit cumbersome: after compiling, you will need to copy the compiled app to your local PC and get it onto your device (e.g. via the iPhone Configuration Utility for Windows). Then you can test and repeat, but you will only be able to do "printf debugging".
Those are the obvious problems I can see, there surely are more.
I suggest you get a used Mac Mini from eBay or something. They're really not expensive and will make your life a lot easier.
http://www.macincloud.com does not provide a dedicated or virtual instance. A username is provided without administrative rights. Especially, when it comes to CI , you can not even SSH to machine to trigger a build script.
To cut a long story short, macincloud is not a colocation like solution.
There are a few solutions ordered by price:
Hakintosh.com, you will have to partition your hd, but this is the cheapest method by far. (Legal grey area though). Price: FREE
Rent a mac remotely. Couple of issues there:
a. Testing on a physical device. Use this workaround TestFlightApp.com
b. Remote build access for tools like gamemaker. Macincloud.com has a cheap add on that let's you do this. they also have these installed already: http://www.macincloud.com/features/tools/tools. Price: ~$20/month
c. If you need Root access all the time, you'll wan to go with a dedicated plan. This will only make sense if you only plan to use for a couple months. macminicolo and macincloud have different pricing metrics based on what you need. Price: ~$50/month and up.
(macminicolo says $35, but couldn't find anything cheaper than $55). No evidence of pre-installed apps for the dedicated accounts either. But that doesn't matter if you have Root access.
Buy a refurbished Macmini! http://store.apple.com/us/browse/home/specialdeals/mac/mac_mini
Their stock changes daily, but this is a great option. You can pick one up for around $400 and they work great!
For any Mac Cloud service, be sure to choose a server location that is close to you geographically. This will eliminate latency issues.
you also cannot install applications without going through the admins. because you are logging in to an actual mac the install cannot affect other uses. i don't think this is a solution for developers.
DarkDust is right. You will be able to compile it remotely and run the app on the iPhone simulator. However, to have an actual mac is the best.
Regarding colo, a better alternative is to use macincloud at http://www.macincloud.com
Related
My company has a PWA and we recently received an interesting business opportunity: a certain organization wants to purchase a volume license and pre-install the app on a very large number of computers, some of which may never go online, because they're going to areas of rural poverty and lack of access to the Internet, for example.
In addition to avoiding the need for download, we want to do this via pre-image so that we can provide a standardized environment, and not have everyone installing the PWA to different locations or not knowing how to install, even if they were connected.
Of course, the normal PWA workflow is to install and load assets onto the machine via download, at least one time up front, but this would only work if you could guarantee some initial window of connectivity.
Is there any way to accomplish the pre-install as I'm describing?
I think you will need to check into Enterprise IT level tools for something like this. Those tools can normally pre-configure a device with an image.
The user would of course still need to authenticate in your application.
The real problem is the application will need to update every so often.
Honestly if it were me I would configure the image with a local, default home page, say in Edge for desktop, and have links to the targeted PWAs. From there they can install.
For me, most applications, even real large ones, can be completely rendered and installed in a couple of seconds on normal cellular connectivity.
I did this for a couple of conferences I went to last year:
https://love2dev.com/pwa/pubcon/
I will ping some folks about the preconfigured image and get back to you if they answer me.
I need to create and App that will run in the background and will monitor the user's behavior in term of applications installed, opened and deleted.
i.e Application will save the information in the database that at what time user has installed/opened/deleted an application in iphone.
I wonder if its possible and Apple will allow this??
I tried to google on it but did not get anything, i know if its possible then it would be possible by multiasking only??
Can any one please help me on the same.
Brn
Not possible. Your app can only run when the user chooses to (except for a limited sub-set of tasks like VoIP, etc).
Your app can know nothing about other apps.
iOS apps are sandboxed. I wouldn't say impossible but certainly not allowed. You'd have to find a security hole to give you root access first. Oh, and notify us when you do ;).
Edit:
Maybe it wasn't clear in my post but I was at least half joking. Not sure why you want to do what you want to do. I can imagine the following scenarios:
1) Your company wants to monitor everything their users do on their phones. In that case I would either
a) lock them down and only allow app installation through a company portal (enterprise distribution is possible in iOS) OR
b) forget about iOS alltogether. Blackberry would probably be closer to what you want, although I don't really have experience with that platform. Also, its future is not sure.
2) You're trying to do something illegitimate. Because of iOS's locked down nature it won't be easy. See how few successful attacks there have been in the last years - and that's for a highly successful platform where an attack could be high paying both in terms of money and reputation.
I would like to profile a running app without a computer attached. Pretty much what the sample command does on Mac OS X. Is it possible ?
I would like to do this without any computer attached because my app gets into an endless loop only at certain GPS locations. I tried reproducing the problem by faking GPS fixes but I couldn't. Yet the issue is 100% reproductible in the field…
You can try logging suspected method and loop entry/exits to a file, and recover the file later using iTunes Document sharing or Xcode.
No - I'm pretty sure it isn't, as Apple does not allow developers to use any iOS-development tools on the platform itself. You might be able to build analytical stuff into your own app (RAM monitor etc.), but not by using another app.
Anyway, your computer is much better suited to the task than a device - so sick with it.
Maybe some day Apple will let us test/write iPhone apps from iPads...
I was trying to compare the three above mentioned platforms and what considerations one needs to think about when programming in order to create some kind of code base that could run on all three.
This is what I have collected for the iPhone - it would be great if somebody else could write something similar for the other two.
Only one application can run at any
given time. i.e. that is why the
SQLLite database is loaded as a file
into the app instead of as
traditionally having some kind of
server to connect to.
Only one fixed size window 480x320
pixels
Runs in a sandbox, when the app is
deployed a sandbox is created
"around" the app, the app can only
read/write files from within that
area. Also low-level access to the
phone is restricted.
Since a program can be stopped at
any time (see point 1) this needs to
be considered when designing the
app, at any time must the app be
able to write its current state to
disk so that it can resume later. If
this takes longer than five seconds
the app will be aborted.
128MB RAM, about half of that 64MB
is available to the app. There is
typicall 4GB storage (depends on
model), no virtual memory, if memory
is running out the app may be
aborted.
Edit: just to be clear, I am not after which platform/os is best for the developer, I am just interested in spec. comparison to know what can be expected if one has three target platforms and using native language for each (not web apps), what the memory and other considerations are.
Edit: removed language as its assumed that native language for the platform will be used.
There is an excellent article on Codeproject which would be of benefit to your question. Head on over here to read it.
Hope this helps,
Best regards,
Tom.
For Windows Mobile I want to add:
Windows Mobile in comparison to iPhone allows multiple applications to run at same time.
It comes with variable screen sizes and has different sdks (
Windows Mobile Professional for 'Windows Phones' (smartphones) with touchscreens and
Windows Mobile Standard for 'Windows Phones' with regular screens)
The framework which is generally used is .Net Compact Framework besides some people also prefer open-net which is a open source framework.
Unlike in iPhone, Windows Mobile has no private api's which means it gives more power to developers.
The memory size allowed for a program is 32 mb
You do not need a developer license for developing and shipping applications on windows mobile although windows mobile itself prompts you to avoid installing apllications which are from unknown publishers.( which is more interesting unlike in iPhone you need to have a license while you only want to debug your applcation on your device(not for the jailbroken devices.))
And for some bad things about windows mobile, see this link.
Thanks,
Madhup
I feel like the final list will be of little use, as all data points collected will differ substantially in content apart from your last one. Some corrections to your iPhone list:
1) Local databases such as SQLLite are"not traditionally" implemented as a server on other mobile platforms either (they also use various file-oriented DB's).
2) Very soon that single fixed size assumption may well be inaccurate.
3) The App is in a sandbox but can write to some areas outside of the sandbox via API calls (for instance, photo library or address book).
5) That number varies between 3Gs and 3G/2G/Touch (the older models have half the memory)
6) Monotouch is available, but I'm not sure there's anything that far along for Java based iPhone development. There's also a Flash compiler from Adobe.
Basically if you are thinking cross platform, memory/screen size/system access/common databases will all differ - so the whole thing boils down to language AND LIBRARIES. And that is where you really have an issue with a cross-platform approach, because the libraries are very different per system... in the end you MIGHT be able to share data structures and some pure data processing code across the platform binaries, with very different GUI code for each system. But is it really worth it to constrain the development of each client?
On a side-note Blackberry is Java-based, so it presents yet another hurdle for such an attempt.
If you really want to see what cross platform ends up looking like, take a look at the codebase for Waze - a cross-platform open source navigation app:
http://www.waze.com/wiki/index.php/Source_code
Client source for iPhone and Windows Mobile lives there.
Can anyone recommend a good task management application for PC? I used to use Palm Desktop and loved it but now I use a Black Berry and Outlook at work, however I find Outlook's task functionality fairly painful to use. Going back to Palm Desktop could work but I really just need something that does tasks management very well and is not too heavyweight.
On my Mac at home I've been looking at OmniFocus which seems fairly decent but it is a Mac only application and I really need something for the PC I use at work.
Google Calendar supports tasks (new feature, very bare bones), or you can use the RememberTheMilk site/gmail add-on. It's has all the basic features you could ever want and it's simple to use. If you use an iPhone or the gPhone you can access the website in a 1st class experience from both your desktop and your pocket.
Here is a very simple and intuitive tree based task list.
http://www.codeproject.com/KB/applications/todolist2.aspx Comes free with source code and many plug-ins
I quite like Life Balance from Llamagraphics. I used to use it on my palm and then treo.
But it also works on Mac and PC (and IPhone). I don't think there is a blackberry version.
It can be used as a basic todo list, but it also has some nice outlining features and a nice way of setting priorities. The IPhone version is still a bit clunky compared to the Palm version, but it's usable. All the versions can synch with each other and on the Mac it has some synch capability with iCal.
I've actually started using Evernote and a Moleskin Journal for tracking what I work on from day to day. Although Evernote is a note taking application it is general enough and has tags which seems enough for general task management.