I'm trying to get BNRPersistence running in an iPhone app, but I'm having a problem that I have no idea how to solve. Keep in mind I'm relatively new to iPhone dev.
The problem is that BNRStoreDocument subclasses NSDocument, which exists in the Cocoa framework and thus isn't available on the iPhone. So obviously I'm getting compile errors that it can't find NSDocument. The developer of BNRPersistence states that it works on the iPhone, so I'm sure there a solution, I just don't what it is.
Any help would be greatly appreciated!
The iphone Demo project does not have BNRStoreDocument in it but just BNRStore. I think is reasonable to assume that BNRStoreDocument is only available when running under Cocoa on a Mac OS X.
The BNRStore is an analog of NSPersistantStore. I'm pretty sure that's what you should be using on the iPhone.
Related
With Xcode, we get a simulator (not an emulator), which is good for various level of testing, but in the end you need device for actual testing. I am interested in creating emulator for various iPhone, iPad, and then different iOS versions.
My question is, can we create an emulator for iOS, if so what could be the approach. I am new to the emulator field, i am an iOS developer, so very much familiar with objective c and iOS sdk. I need to know what skill sets are required for this, and how to proceed. Any ebook, website, most welcome. I am not looking for a perfect answer, a good guideline will work.
I don't know how to do this, but I think if you need to do this you need to compile the source code for armv7 or armv7s processors.
Please check these links, I found during my searching iOS Emulator, iOS Emulators
Today i was going through an website and found something over this iphone and ipad development projects. I had a question whether a developer requires an iphone to actually work with or is there any other simulator type device where we can test it out too.
It would be also great if you can share some docs on getting started.
Thanks.
We have applications that run without a problem on the simulator and crash on the device, so I'd say yes. You might delay it for a bit, and work on the main aspects and buy the device later, but you should have it.
You should start at the iPhone Dev center and depending on your knowledge of Objective C, try some tutorials for it. One of the first tutorials I read about Objective C, and which helped me a lot, is here
You can simulate certain gestures and actions while running the simulator: the developer.apple article is here
You can test many aspects without having an iPad.
There are, however, some that you cannot.
Touch
Acceleration sensor
3G internet
much more
I strongly recommend buying an iPad / iPhone to test the user interface. A PC and the iPad have very different user interaction models, it's hard to create a native feeling app without having an actual device.
You can develop with the iPhone SDK which include an emulator. http://developer.apple.com/iphone/index.action but you would probably be better off having one of the devices if your developing a complex application. For working with Camera's or sensors it's best to have a real device to test you code on.
I dont think there are any devices that run the iPhone system. If there are they are probably illegal.
There is emulator build in XCode.
You dont need a device to run your code etc, but try to test the touch and other sensors in the emulator.
So basically if you are planning on shipping something bigger than helloworld you probably should get the Apple device.
There must be an emulator (I'm not sure, that's a guess), but as with any other development you better have a real device as well so that you have better chances of reproducing problems customers will report.
For iPad development you must have Mac OS X 10.6 Snow Leopard
I recently inherited an iPhone app. The original developer did not understand memory management and well the app works in simlulator but not in on old iPhone (lots of crashses). Do you have any thoughts on the process by which I can save the app?
Can I utilize or create any unittest to find memory leaks and make the process 'scientific'?
Thanks
Yes! Use Clang! Here is a good tutorial showing the benefits: http://iphonedevelopment.blogspot.com/2009/02/clang-static-analyzer.html
However, it should be installed if you have a newer SDK.
Since the Clang Static Analyzer is now built-in to Xcode on Snow Leopard, it's trivial to use it. Select Build -> Build & Analyze to see any memory problems Clang detects (hint: it will find pretty much all of them).
Want to write a site for the iphone, but I don't have one and I don't know anyone who has one.
Is there a way to develop for it without having access to one, maybe apple has some sort of sim for this or something.
Anyone know of anything?
An iPhone simulator is included with the iPhone SDK, which can be downloaded for free from here:
http://developer.apple.com/iphone/program/start/register/
Or, if you have the Safari web browser, you can use this for a fairly accurate result:
http://www.testiphone.com/ or http://iphonetester.com/
There's a iPhone simulator for Aptana (should work on any system) and an emulator Apple provides (if you have a Mac). I've not tested the Aptana one. The Apple one is pretty good, but it runs most web stuff much faster than the actual device.
Try buying an iPod Touch. It has most of what you need to test your code to make sure it's iPhone ready.
The simulator is available for convenience but you won't be able to check proper HIG such as buttons or text being too small.
For a quick test, try regular Safari zoomed until the dimensions of viewport are similar to those of iPhone. Safari exists for Windows too :) Moreover, you can ask it to present itself as iPhone (in the Develop menu) and try a couple of sites.
For a serious development you definitely need iPod Touch. You'll need to have a familiarity with how interface, both native and mobile web, works. The SDK won't be able to give you that.
I wonder though what kind of application you are developing. I don't think web-based applications are that useful or bring revenue at this moment.
I'd suggest running VM ware booting up Mac OS...
You'll need an intel CPU though but still, worth it.
See here:
How to load Mac OS Lion in a VM
I know there is no official SDK for Windows, which is very annoying. Is there any way to develop applications on a Windows computer, other than somehow running a Mac OS in VMware? I know you can do it with Xcode, but that is also only for Mac OS X. Google searches have revealed absolutely nothing.
If I cannot use the SDK or Xcode, is there any way I can just check syntax or something and just make my code in Notepad and save it with the proper extension? I have no idea whether or not I would be able to do that, probably because I have never even tried the SDK and probably never will without buying a Mac.
I looked into this before buying a Mac Mini. The answer is, essentially, no. You pretty much have to buy a Leopard Mac to do iPhone SDK development for apps that run on non-jailbroken iPhones.
Not that it's 100% impossible, but it's 99.99% unreasonable. Like changing light bulbs with your feet.
Not only do you have to be in Xcode, but you have to get certificates into the Keychain manager to be able to have Xcode and the iPhone communicate. And you have to set all kinds of setting in Xcode just right.
You could easily build an app using PhoneGap or Appcelerators Titanium Mobile.
Both of these essentially act as a WebKit wrapper, so you can build your application with HTML/CSS/JavaScript. It's a pretty portable solution, too, but you are somewhat limited in what you can make - i.e, no intensive rendering or anything. It really all depends on what you're looking to do.
You could do what saurik of Cydia does, and write your code on a PC then build it on the iPhone itself (it is a Mac, technically!) after you jailbreak it. However, you don't get Interface Builder, so you're basically creating UIs in code by hand. It'd also be pretty tough to actually submit your app without a Mac.
No, you must have an Intel Mac of some sort. I went to Best Buy and got a 24" iMac with 4G RAM for $1499 using their 18 month no interest promotion. I pay a minimum payment of something like $16 a month. As long as I pay the entire thing off within 18 months - no interest. That was the only way I was getting into iPhone development.
There is another solution if you want to develop in C/C++. http://www.DragonFireSDK.com will allow you to build iPhone applications in Visual Studio on Windows. It's worth a look-see for sure.
Technically you can write code in a .NET language and use the Mono Framework (http://www.mono-project.com/) to run it on the iPhone. I haven't ever seen someone do this from scratch, but the folks that write the Unity Game Development platform (http://unity3d.com/) use it to make their games iPhone-compatible. The game itself is written in .NET, and then they provide an iPhone shell with the Mono frameworks that allows everything to run on the iPhone. I don't know whether they've contributed all of their modifications to Mono back to the open-source repository, but if you're serious about writing iPhone apps outside the Mac environment, it might be possible.
That said, I think you could dump weeks into getting that to work, and it might be best to invest in a Mac instead :-)
This really comes down to how much you value your time. As the other posters have mentioned, there are a couple of ways you can build iPhone apps without a Mac. However, you are jumping through serious hoops, and it'll be much more difficult and take longer than it would with the proper development chain.
You can buy a second-hand Mac Mini for a couple of hundred bucks on eBay. If you're serious about doing iPhone development you'll make this back in saved time very quickly.
No one has brought up the hackintosh. If you have supported hardware it might be the best option.
There are two ways:
If you are patient (requires Ubuntu corral pc and Android SDK and some heavy terminal work to get it all set up). See Using the 3.0 SDK without paying for the priviledge.
If you are immoral (requires Mac OS X Leopard and virtualization, both only obtainable through great expense or pirating) - remove space from the following link.
htt p://iphonewo rld. codinghut.com /2009/07/using-the-3-0-sdk-without-paying-for-the-priviledge/
I use the Ubuntu method myself.
http://maniacdev.com/2010/01/iphone-development-windows-options-available/
check this website they have shown many solutions .
Phonegap
Titanium etc.