Dashcode: How to add custom inspector panel for custom Dashcode Parts? - dashcode

I like using Dashcode for making quick little web apps, but it specifically targets the iphone version of mobile safari, which is not acceptable for cross-platform development. I've developed a number of laundry-list hacks that I tend semi-manually add to my scripts to facilitate cross platform development (like, say, to the Android or Palm) and to perform useful iPhone tricks, like stopping the 'bounce' associated with web apps on the iphone and I'm turning these into custom Dashcode Parts so that I can drag & drop them into my project. This is mostly working so far, but here my dilemma:
How can I create a custom Inspector component to go along with my custom Dashcode Part? Is it possible? Ever heard of being done? What are the minimum steps?
I see some compiled .nib files, and an existin Dashcode Part's Info.plist has a key CYPartInspectorClass that maps to CYPushButtonInspectorPane and like CYPushButtonInspectorPane and that apparently corresponds to English.lproj/CYPushButtonInspectorPane.nib which is a compile .nib. Does this imply that everything here is semi-hardcoded, and thus impossible to add my Inspector changes?
Any pointers to the above would be helpful.

After a lot of digging, I don't think this is possible, but I'd still be happy to eventually be proven wrong.

Related

How to create a tweak for jailbroken iPhone

My question is... Can we use Xcode to create a tweak for jailbreaked iPhone? Foe example if I want to add some button in the lock screen how can I do? How can I mod the GUI of the default iPhone applications?
This is a really old question, but David is actually incorrect on most counts.
You can add custom UI to jailbroken devices, create tweaks without Xcode, hook into anything you wish, and more, without even having the source code for SpringBoard or wishing for it to be extensible.
MobileSubstrate is a code replacement platform that literally allows you to do anything. You don't even need to be an expert, but admittedly, having at least a moderate grasp on programming and Objective-C concepts helps a lot.
What you're talking about cannot be done. You're assuming 1) that you will have the source code for Springboard (lock screen), and 2) that those programs are extendable.
Without having the source code (it's proprietary), you cannot make "Tweaks" to the lock screen. You have nothing to compile into the lockscreen.
While you can mod them by editing the internal plists (simple things like show title bar or disable rotation), you will not be able to add functionality using XCode.
To create "tweaks" you would have to rewrite the lock screen entirely, or insert very low-level hooks into the Springboard/iOS. This is not possible via Xcode alone, since Xcode is not capable of even installing iOS-level apps (all installed apps are user-level).
You need expert knowledge of the private framework calls, and possibly be capable of disassembling and reverse engineering the specific program you're trying to extend.

Developing Cross Platform Mobile application in latest frameworks (Rhodes, PhoneGap, jQTouch)

We have recently developed an iPhone, iPad, Android application with the Rhodes framework and have found it to be painful to say the least. As we are approaching the finishing stages and now testing the app in mobile devices we find more bugs than were apparent in iPhone simulator and would like to change the development direction as it seems most of the Apps even showcased on the Rhodes site are super buggy and not as smooth as they should be.
Can anyone lend any insight on how we may take already developed front-end files with prepped JSON data to apply it to another framework to produce the application. We have learned how the jQTouch framework operates and feel comfortable developing but need to package this into an application.
Rapid development is a key concern as we are approaching a deadline on this project. Note our proficiencies are Ruby, ROR3, JQuery, Modern front-end (HTML5/CSS3)
I'm not familiar with Rhodes, but it seems like Phonegap might be a good solution for you. I'm not sure what your app needs to do, but your skills (HTML/CSS and jQuery in particular) would translate well.
Phonegap lets you create an app for both iPhone/Android, while using the same code. There's some tweaking when setting up your files... but the overall intent is that you're working with the same code (as opposed to having to create two separate apps).
For both iPhone/Android apps developed with Phonegap, you're basically working with files within a folder (much like you would work with files inside a folder on a server). It's a basic group of file types - image, javascript, css, etc. You build like you would for a browser.
jQTouch provides more of a look and feel, in terms of the buttons, UI and animation/transition between sections. Phonegap more or less wraps up all the code, and lets you bundle it as an app for iPhone/Android.
Additionally, if you need to access device-specific functionality like GPS, camera, etc... Phonegap has a nice library you can tap into. Again - same code for both iPhone/Android.
A quick reference to review (to see if Phonegap + jQTouch is a good fit for you) is Jonathan Stark's book: Building iPhone Apps with HTML, CSS, and JavaScript. You may also want to refer to the example files referenced in his chapters, here.
Final note: jQtouch is meant for smaller handhelds. Not sure how well it translates over to iPad, but just an FYI. I know less about Sencha Touch, but it's made by the same folks and might be another approach for larger screens.

Dashcode project opening in xcode problem

If we make our Dashcode application open in Xcode then are we making a native app....
Dashcode is an IDE, a tool or set of tools for developing Mac Widgets, web based iPxxx applications and Webkit based Web applications. In Dashcode JavaScript, CSS and HTML are used to develop these applications.
XCode is an IDE for developing native Mac applications and iPxxx applications usually but not exclusively with Objective-c and an interface builder for the graphical elements.
A Dashcode project is in reality a set of file in a folder, but the Mac Finder makes it look like a bundle. If you right click the project and click on open project you will just see all the files in the project.
Opening the Dashcode project in XCode doesn't do anything, i just tried it, but even if you did XCode will not perform an magical transformation and turn JS/CSS/HTML into Objective-C and therefore it will not turn it into what i think you mean by native app. To do that you will need to learn Objexctive-C cocoa and the XCode programming tools and interface.
In answer to oyur added comment not it will not change any code.
If I am not mistaken a little more input towards this may be nice. If you use PhoneGap in Xcode then you can make your web app a native app with very little effort. I found that porting my skills from mobile web development to Xcode was something I didn't have the time to put out upfront so to get my app out there right away, PhoneGap was my answer.
I hope this helps, but do know that it is not going to be as efficient of an app built this way.
I think you want to know: can we treat a DashCode app as native app, and run on simulator and/or real iOS devices.
From my point of view, the answer is: YES
I think what you asked can be answered using here.

develop iphone application - is the GUI HTML?

I want to start developing IPhone application.
I need to understand something about it - I am working with a graphic designer.
If she supplies the GUI in HTML - will it be easy for me to develop with it?
How does it work? like regular web development?
Apple uses Objective C and Cocoa for iPhone applications. Neither uses HTML; you'll instead be using interactive controls like you'd find in a desktop application. Whether it's easy for you to develop using an HTML mockup will depend entirely on your skills with Cocoa. (In the same way I encourage designers to give me mockups in Photoshop knowing that I can easily build HTML versions of them.)
You might want to start with some of Apple's documentation on iPhone development: http://developer.apple.com/devcenter/ios/index.action
For GUI development of your own apps you have several options:
Code: UIKit framework in Objective-C
Interface Builder: Tool to click
your GUI together, but the logic
will be coded like in 1 in C, Obj-C
or C++
You can build a HTML gui and
present it in a web view, but for
native apps, this will only bring
you so far.
Oh, and no native Flash on iOS. :-)
You could write an app that uses HTML for its UI - in essence you'd simply be wrapping a webkit widget and driving your app from events generated by that UI. However, that's not going to give you a UI that really takes advantage of the phone.
For that, you need to get down and dirty with Objective C and the Cocoa Touch API for iOS. Another option is using Flash CS5, which is ActionScript based.
Strictly speaking, the answer is no, your HTML skills are not transferrable.
That said, there are two projects that deserve looking into, both of which are about producing native (or "native-ish") apps from HTML and JavaScript. The first is PhoneGap, and the second (which I think is more robust and promising) is called Appcellerator.
Neither of them give you really-and-truly full access to to the iPhone API, but they do allow a significant flattening of the learning curve for people who already have well developed web app skillz.
If you go the native route, bear this in mind: it took me about a month to go from being a web developer to being a slightly competent iOS developer, and six months or so to feel solid and reliable and productive with iOS.

iPhone UI controls for WinForms

Does anybody know where I could find WinForms controls that mimic those on the iPhone? I am interested in doing some iPhone prototyping using Visual Studio and it would be handy if I could make the controls look like the native iPhone controls.
I know that I could just use Interface Builder on a Mac, but I do not want to do this. I just want to play around with various ideas and I will be much faster in Visual Studio.
Balsamiq Mockups has some iPhone-like controls, and you get a mock up done faster than in Visual Studio.
I've had a look around for windows forms iPhone controls for mocking and positioning items and couldn't find any. However it's quite easy to do yourself with a few screenshots from the iPhone Simulator. Below is what I've done - I'll update with a download link to the project a bit later.
As mentioned Apple probably won't like, nor let you release a product using their UI style. However for mocking there is nothing to stop you doing it in Visual Studio - they still get their $99 and appstore cut.
I use Visual Studio as I do XIB-less Monotouch development in it, and want to avoid switching back and forth. For XIB-less apps, designing with interface Builder isn't much faster in my view - but that's a Monotouch-centric viewpoint.
As I pointed out here, an alternative to doing this in WinForms might be to mock up your interface using the Briefs framework. Briefs lets you use images of any kind to represent screens of your application, and assign interaction behaviors to areas of the images. You can generate a fully functional iPhone application from this for quick testing of your user interface.
There are a number of iPhone UI wireframe elements for Photoshop and other illustration applications out there, so it's pretty easy to draw up your prototype interfaces.
Since the iPhone's UIKit controls are very likely highly protected by Apple's trademark and copyrights, I wouldn't expect to find alternative implementations. Since any iPhone development will eventually require using Interface Builder, it's worth repeating what many others have said: use the right tool for the job. Learn Interface Builder (it won't take long) and quit trying to shoehorn iPhone development into the Windows tooling.
If you are interested in doing iPhone apps in C#/VB.NET, MonoTouch is the way to go
http://monotouch.net/
To me it is weird to emulate iPhone UI in WinForms as they are two worlds apart.
You can take help of this new tool Xamarin, which helps you to create the native application by using c#.