Newbie question about C coding and SDK for iPhone app

Hello,
I am interested in trying to create an app. However, I have NO experience writing code I already have downloaded and installed the latest version of the SDK.
I know I have to learn: C, Objective C, and Cocoa.
I just picked up "C for Dummies" as a starting point. I figured the K&R might be a bit overwhelming to start with. Thing is, "C for Dummies" suggests doing some exercises in Text Edit and then using GCC to compile and test. But, then again, it has a copyright of 2004--long before Snow Leopard.
My question is, do I really need to do the exercises in Text Edit? Can I just use Xcode for entering the code and testing it? And, any suggestions for learning C and Xcode tutorials are greatly appreciated.
Thanks!!

But, I really want to learn coding and not just take the easy route by using Xcode.
The simplification of using Xcode may have been a bit exaggerated throughout this thread. You will still learn how to program full-on by using Xcode -- it's not like you're taking a shortcut or anything. Well, technically speaking, you are, but Xcode is the expected way to develop on a Mac nowadays -- it's how Apple expects you to develop and how most people are doing so. Should you choose, you can taking a deeper dive into the inner workings of compiling and whatnot by using a text editor and the Terminal, but keep in mind that the extra complexities here could complicate the more important overall goal of learning the basics of how to program. There is absolutely nothing wrong with simply using Xcode for the novice part of your programming days. In fact, it's probably the path I would recommend. Some here might suggest that it is beneficial to learn the intricacies of compiling through the Terminal and whatnot early on, and they are right -- it is beneficial, but the benefits of taking a route (at least for the time being) that allows you to focus on the more pressing issues of learning how to program without having to delve too deeply can be just as beneficial. After all, it's not like you can't go back and learn how to compile via Terminal later on -- that's what I've done (or, rather, am in the process of doing).
I always thought Terminal was something not to mess with.
Not so much. Like most things in programming (or life, for that matter), the Terminal is something not to mess with +if you don't know what you're doing+. Basically, it breaks down like this. The GUI that Apple has created for you in Mac OS X (by GUI I mean "graphical user interface" -- the icons and windows and buttons and so forth that you use to perform tasks on your Mac -- in other words, everything outside the Terminal) is geared toward the common user who does not need to access advance aspects of the system's functionality. Consequently, it makes common tasks much simpler to perform, but in the process it hides some of the deeper levels of the system's functionality from the user. This is a good thing, since most people wouldn't know what to do with this functionality and would create problems for themselves if they did have easy access to it. However, for some users who know more about the inner workings of the operating system, there needs to be a way for them to access this functionality, so that they can do certain things (like accessing certain files and performing certain tasks) that they would not be able to do using the Mac OS X GUI -- that's what the Terminal is for. It allows the user to operate the system on a lower level. In other words, it allows you to get closer to the operating system. This is good in a way, because it allows you to perform tasks that you wouldn't otherwise be able to perform by giving you more control over the operating system, but it is also bad in a way, because it can allow you to mess up some of the deeper aspects of your system if you don't know what you are doing. Most people leave the Terminal alone for this reason, and because they have no need of it, but if you want to be a good developer, you're going to have to work with it sooner or later.
Now, with all that being said, it's not that easy to mess things up using the Terminal. It's not like your system's going to crash if you misspell a command. All in all, the Terminal is very forgiving, but it will do what you tell it to do, even if you tell it to kill itself, and it is for that reason that you need to know what you are telling it before you try to tell it something. If you understand what you are telling the system, than operating on a lower level and being closer to the operating system is completely safe.
The Mac OS X operating system is based around Unix, so when you are communicating more directly with the operating system by using the Terminal, you are interacting with its Unix core. For this reason, using the Terminal goes hand in hand with understanding Unix. So, if you're going to want to use the Terminal, then I recommend you get a good book on Unix to teach you the basics of Unix commands and shell programming and whatnot. Any book on Unix will do, since more or less everything you learn will be applicable to the Mac OS X's Terminal, but there are a few that are specifically directed to Mac OS X users, and that always makes things easier. Most of these books aren't updated to cover past Tiger, but this really doesn't matter (someone correct me if I'm wrong). A few examples are O'Reilly's "Learning Unix for Mac OS X Tiger" by Dave Taylor or Peachpit Press's "Unix for Mac OS X Tiger" by Matisse Enzer. Also, the book "Unix Programming Environment" by Kernighan and Pike is an excellent book on Unix, although fairly outdated, so I would highly recommend it, although I would recommend it as a supplement to another, more recent, Mac-based Unix book and not as your primary source for learning Unix. The skills you will acquire from these books will help you later if not sooner, so I recommend giving one of them a read at some point, whether you are planning on compiling using the Terminal right now or not.
Anyways, I hope this helped to clear some of this up for you, and please let us know if you have any further questions.

Similar Messages

  • OS and SDK for iPhone same as iPod touch?

    Just curious. It looks like the bundled applications are the same. Just wondering if they share the same OS and SDK.

    For the most part, yes.
    Obviously, the Touch does not use a cell network, and it has no camera or BlueTooth, so some things are going to differ.
    But I believe that the kit is the same.
    Scott

  • Newbie Question about FM 8 and Acrobat Pro 9

    Hello:
    I have some dcouments that I've written in FM v8.0p277. I print them to PDF so that I can have a copy to include on a CD and I also print some hard copies.
    My newbie question is whether there is a way to create a  PDF for hard copy where I mainitain the colors in photos and figures but that the text that is hyperlinked doesn't appear as blue. I want to keep the links live within the soft copy. Is there something I can change within Frame or with Acrobat?
    TIA,
    Kimberly

    Kimberly,
    How comes the text is blue in the first place? I guess the cross-reference formats use some character format which makes them blue? There are many options:
    Temporarily change the color definition for the color used in the cross-reference format to black.
    Temporarily change the character format to not use that color.
    Temporarily change the cross-reference definition to not used that character format.
    Whichever method you choose, I would create a separate document with the changed format setting and import those format into your book, create the PDF and then import the same format from the official template.
    - Michael

  • Where do I store and download for IPhone Apps and Computer Apps?

    I'm feeling like a dinosaur in not understanding how to download and store apps for my iphone and those that I may DEMO or buy for my computer.
    For instance I have started syncing the iPhone to the MacBookPro so that this is easy when I am traveling. Now the MacBookPro is in the shop and I'd like to d/l an app for the iPhone. Can I do this on the MacPro which I am using now? If so, do I go directly to the Mac App Store do I open some App program on my MacPro? Do I have to d/l this app from my phone or MacBookPro only? I don't get this.
    Also, I called in for Aperture support the other day and didn't have any info on this software that I bought. I guess I downloaded a demo from some Mac Computer App store and then paid for the App after running the Demo? Then this information is stored somewhere different from having downloaded the Software directly without a demo or from another site or from some app on my MacPro?
    Something of a newbie here so any straightening out on how this works now and (perhaps) how it may work differently in IOS 5 or Lion would be really wonderful.
    Thanks.

    The iphone will sync with one computer at a time.  If you sync to another, then the current contetn will be erased and reaplaqced with content from the new computer.
    "If so, do I go directly to the Mac App Store do I open some App program on my MacPro? "
    The Mac app  store has NOTHING at all to do with iphone.  it is for buyong apps for your computer ONLY, NOT iphone.
    You can download apps from the itunes app store on your iphone or on your computer.  Your choice.
    iPhone User Guide (For iOS 5.0 Software)

  • Newbie question about using vectors and arrays

    I'm fairly new to JME development and java in general. I need some help in regards to Vectors and 1 dimensional arrays. I'm developing a blackberry midlet and am saving the queried info i pull back from my server side application with each record saved into the array and subsequently each array saved as an element in the vector, thereby creating a 2D "array".
    However I'm having a problem accessing the elements in the array. Here is a sample of what I mean and where I get stuck:
    Vector _dataTable = new Vector(1, 1);
    String[] r1 = {"a", "b", "c", "d"};
    String[] r2 = {"1", "2", "3", "4"};
    _dataTable.addElement(r1);
    _dataTable.addElement(r2);
    Object temp = _dataTable.elementAt(0); //Save the element as an new object for useNow how do I access the particular indexes of the element of the temp object? Do i need to caste it to an array? Is there another more efficient/easier way I should be storing my data? Any help would be great!
    Edited by: Sotnem2k1 on Apr 1, 2008 7:50 AM
    Edited by: Sotnem2k1 on Apr 1, 2008 7:51 AM

    Thanks for the feedback newark. I have this scenario below:
    // Class for my 1D array
    public class OneRecord {
        private String[] elementData = new String[4];
        public OneRecord() {   
            elementData[0] = null;
            elementData[1] = null;
            elementData[2] = null;
            elementData[3] = null;
        public OneRecord(String v1, String v2, String v3, String v4) {   
            elementData[0] = v1;
            elementData[1] = v2;
            elementData[2] = v3;
            elementData[3] = v4;
        public void setElement(int index, String Data) {
            elementData[index] = Data;
        public String getElement(int index) {
            return elementData[index];
    } Then in my main app I have:
    Vector _dataTable = new Vector(1, 1);
    OneRecord currRecord = new OneRecord("a", "b", "c", "d");
    _dataTable.addElement(currRecord);
    OneRecord temp = (OneRecord)_dataTable.elementAt(1);
    System.out.println(temp.getElement(0)); Are there more efficient data structures out there to save queried data from a server side app? Like I said, i'm still trying to learn the most efficient techniques of coding...esp for the Blackberry. Any suggestions would be great!

  • Newbie question about JMS topic and OSB

    So here is what I want to achieve:
    I want to "front" a JMS topic on WLS using OSB 10g. I want the users (producers and subscribers) to be access the topic via proxy services. The way I picture this is that a producer will invoke a proxy to publish a message. The subscriber will (asynchronously) invoke another proxy to pickup the message.
    Is this possible and how do I go about doing this?
    thanks
    Edited by: user10341230 on Apr 28, 2010 8:49 AM

    Hi there,
    user10341230 wrote:
    I want to "front" a JMS topic on WLS using OSB 10g. I want the users (producers and subscribers) to be access the topic via proxy services. > it's not really clear what you want to achieve here.
    you say
    user10341230 wrote:
    The way I picture this is that a producer will invoke a proxy to publish a message.you need a proxy with whatever inbound protocol you like (http, file, mail...), which through a jms business service push the message to the Topic.
    you say
    user10341230 wrote:
    The subscriber will (asynchronously) invoke another proxy to pickup the messagethe subscriber can be either asyncrhnous, in which case you need a proxy service with inbound protocol jms. or as you probably need a synchronous one
    in which case you need another proxy with whatever inbound protocol you like whch once called in its pipeline calls some pojo class to read from this topic synchrnously (you need a durable subsciber).
    Regards,
    Tony
    ps: have a look http://download-llnw.oracle.com/docs/cd/E11035_01/wls100/jms/design_best_practices.html#wp1058694

  • Newbie question about UML books and tools used in industry

    Hello,
    I'm learning OO topics and the UML at home, and began to wonder what books and/or software tools were used by professional software designers/engineers within the industry. I'd be grateful for your reply if you are a professional (or know one!). Thanks very much.

    1.
    Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (2nd Edition)
    http://www.amazon.com/exec/obidos/ASIN/0130925691/qid=1057291436/sr=2-2/ref=sr_2_2/104-7174831-4835950
    2. Hope it helps.

  • A question about video game and drivers for Nvidia

    I have recently bought the parallels program and installed Win 7 on my Mac. So far so good. Then I installed a game called Champions Online (PC based). The problem is that when I load the game, it crashes with an error message saying basically that my drivers are not working properly (that's the interpretation from the support team at Champions). They suggested that I delete and reload my drivers for the Nvidia card. How do I do that? If that doesn't work, does anyone have any suggestions as to the solution to my problem?

    Parallels and other virtual environments are not meant for games and 3D intensive applications. Run Windows through Boot Camp if you want to play games.

  • Question about google search and icons on iphone interface icons.

    Hey everyone. I noticed that I can look up images on google but nothing comes up when I do a web search on anything I got what I needed from yahoo but the page just stays blank on Google. I restarted my iphone with no luck. Has anybody else noticed this issue or is it a preferences setting? My second question is, can I get rid of things I don't want on my iphone interface like the weather or stocks programs (icons). Thanks for the help.
    -Mike

    Thanks for getting back to me. What I meant by my first question is, when I go into Safari and then select google in the bookmarks I can't get a result when I enter a key word in the search field on the Google page. I touch the search window and the keyboard pops up. I put in something I want to search for and nothing happens. Any ideas would be great.
    Thanks.
    -Mike

  • Question about openning files using SDK 10.

    I have written a Plug-In for SDK 9 that works wonderfully. One of the functions is for the user to be able to page (Next/Previous) between PDF files on our server. This functionality now longer works without crashing Acrobat 10. All I am doing is creating the URL path to the next/previous PDF, creating a CustomFileSys with the path and calling AVDocOpenFromFile.
    Does this no longer work with Acrobat 10 SDK?
    Thanks!

    Should work fine, AFAIK.
    For this level of issue, I would open a formal support request with developer support.
    From: Adobe Forums <[email protected]<mailto:[email protected]>>
    Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>>
    Date: Mon, 10 Oct 2011 08:51:08 -0700
    To: Leonard Rosenthol <[email protected]<mailto:[email protected]>>
    Subject: Question about openning files using SDK 10.
    Question about openning files using SDK 10.
    created by Greggars<http://forums.adobe.com/people/Greggars> in Acrobat SDK - View the full discussion<http://forums.adobe.com/message/3963065#3963065

  • Question About Color's and Gradients

    Hi all,
    I have a question about color swatches and gradients.
    I am curious to know, if I have 2 color swatches that I make into a gradient color, is it posible to change the tint of each indivdual color in that gradient and have that applied to the gradient without having to adjust the gradients opacity.
    The reason that I'm asking this is because in creating a project I found that the colors that I chose for to make my gradient from my swatches were to dark, and while I can adjust each one's tint to my liking (if the object they were applied to was going to be a solid color) but that doesn't seem to apply to the overall gradient.
    I hope that makes sense, I know that this was something that was able to be accomplished in quark and was wondering if I can do something similar.

    If you double click your gradient swatch (after adding it to the swatches)
    Then click a colour stop in the gradient, and then change the drop down menu to CMYK (or rgb)
    And you can alter the percentages there. It's not much use for spot colours but it's a start.
    But making tint swatches would be a good start anyway.
    At least then when you double click the gradient (in the swatches) to edit it you can choose from CMYK, RGB, LAB, or Swatches and adjust each colour stop to your liking.

  • Question about clear page and reset pagination

    Hi,
    I have a question about clear pages and the reset pagination in an URL. What is the reason why a clear page doesn't also trigger a reset pagination on the pages which are cleared?
    I can't really imagine a business case where it makes sense to clear all data of page items on a page and don't reset the pagination of reports on that page which probably use a page item in there where clause...
    The drawback of this behavior is that a developer always has to set the reset pagination checkbox when he clears the target page and the even bigger drawback is that if you specify other pages to clear, you can't reset pagination for them, because reset pagination only works for the target page.
    Thanks for your input.
    Patrick
    *** New *** Oracle APEX Essentials *** http://essentials.oracleapex.info/
    My Blog, APEX Builder Plugin, ApexLib Framework: http://www.oracleapex.info/

    Enhancement request filed, thanks,
    Scott

  • Utilities and SDK for Subsystem for UNIX-based Applications in Windows 8 doesn't install

    Trying to install the package and well into the process I get an error message saying that my processor isn't supported and to contact my vendor..  I have a Lenovo U 410 LT with Win 8 Pro.  It has an Intel Core i7 processor.   I also tried the AMD version thinking they may have been swapped but it also does not install.  How to get it installed?  I really need the NFS in it.

    Hi stewartmcadoo,
    Welcome back to Lenovo Community Forums!
    I’m sorry to hear that there is an error message displayed in your U410 Laptop while installing “Utilities and SDK for Subsystem for UNIX-based Applications in Windows 8”, make sure you are installing this application as an Administrator User, if the issue is same even in this user account, I suggest you to download the package again and right click in the downloaded file select “Run as administrator” to get it installed in administrator mode, below is the link to download the SDK package:
    Utilities and SDK for Subsystem for UNIX-based Applications in Windows 8
    Hope this helps!!!
    Do post us back if the issue still persists.
    Best Regards
    Shiva Kumar
    Did someone help you today? Press the star on the left to thank them with a Kudo!
    If you find a post helpful and it answers your question, please mark it as an "Accepted Solution"! This will help the rest of the Community with similar issues identify the verified solution and benefit from it.
    Follow @LenovoForums on Twitter!

  • A question about item "type and release" of  source system creation

    Hello expert,
    I have a question about item "type and release" of  source system creation.
    As we know,when we create a web servie source system,there will display a pop-up which includes three items as "logical system","source system"and "type and release".
    About the item "type and release",when we push "F4" button,there will be three default selections as below:
    "ORA 115     Oracle Applications 11i
    TLF 205     Tealeaf 2.05B
    XPD 020     SAP xPD".
    Who can tell me when and how should I use the three selections.
    And also I attempted to input the item by some optional letters except the default three selections and it seems that I can input it freely.
    Thank you and Best Regards,
    Maggie

    Hello DMK,
    Thank you very much for your answer.It is very helpful for me.
    Can I ask you further about it?
    I got that it is a semantic description item.
    You said the default selections are set by our basis people.Would you like to tell me how should we creat a new value except the default ones for item "type and release"?Only by inputing the value in the item directly?But you see we canot see the new value item we created by ourself when we push "F4" button next time ,is that ok?Or do we have to ask basis people to define one new value item just like the default seletions before we use it.
    Also if possible would you like to describe detail about "This becomes important when you are troubleshooting certain issues especially when RFC connection problems."
    Thank you and Best Regards,
    Maggie
    Message was edited by: Maggie

  • A few questions about the ka790gx and dka790gx

    i have a few questions about the ka790gx and dka790gx , how much better is the dka790gx compaired to the ka790gx ? . how much difference does the ACC function make to overclocking etc , i plan on getting a phenom II 940BE or 720BE . i already have the ka790gx so would it be worth building another system using the dka790gx mobo , or should i keep what i already have and just change the cpu ?

    It's largely irrelevant what other boards had VRM issues other than the KA790GX - the fact is it died at stock settings. Since there is little cost difference between the more robust DKA790GX (or Platinum if you really need 1394) why bother with the proven weakling? There are other examples around of the KA not having a robust power section.  There's no way I would use even a 95W TDP CPU in the KA and absolutely not O/C.....!
    As for the credentials of Custom PC, I have generally found their reviews accurate and balanced, and echo my own findings where applicable. If a little too infrequent.
    The fact that the KA has such a huge VRM heatsink leads me to my other comments on the Forum, particularly regarding the "fudge" aspect:
    """Henry is spot on - the notion that adding a heatsink to the top of the D2PAK or whatever MOSFETS is effective is virtually worthless. The device's die thermal junction is the tab on the device back - which is always against the PCB pad. The majority of heat is therefore dissipated in to the board, and the fact that the epoxy plastic encapsulation gets hot is simply due to the inability of the heat to be conducted away from the device die via the tab. Not sure when Epoxy become an effective conductor of heat.... Good practice is to increase the size of the PCB pad (or "land" in American) such that the enlarged PCB copper area acts as an adequate heatsink. This is still not as effective as clamping a power device tab to an actual piece of ali or copper, but since the devices used are SMD devices, this is not possible. However, the surface area required to provide sufficient PCB copper area to act as a heatsink for several devices isn't available in the current motherboard layouts. Where industrial SBC designs differ in this respect is to place the VRM MOSFETs on the back of the PCB on very enlarged PCB pads - where real estate for components is not an issue.
    Gigabyte's UD3 2oz copper mainboards sound like a good idea, on the face of it. However, without knowing how they have connected the device tabs to where and what remains a mystery. I suspect it is more hype than solution, although there will be some positive effect. From an electrical perspective, having lower resistance connecting whatever to whatever (probably just a 0V plane) is no bad thing.
    The way the likes of ASUS sort of get round the problem is to increase the sheer number of MOSFET devices and effectively spread the heat dissipation over a larger physical area. This works to a degree, there is the same amount of heat being dissipated, but over several more square inches. The other advantage of this is that each leg of the VRM circuit passes less current and therefore localised heat is reduced. Remember that as well as absolute peak operating temperature causing reduced component life, thermal cycling stresses the mechanical aspects of components (die wire bonds for example) as well as the solder joints on the board. Keeping components at a relatively constant temperature, even if this is high (but within operating temperature limits), is a means of promoting longevity.
    For myself, the first thing I do with a seperate VRM heatsink is take it off and use a quiet fan to blow air on to the VRM area of the PCB - this is where the heat is. This has the added benefit of actively cooling the inductors and capacitors too....
    Cooling the epoxy component body is a fudge. If the epoxy (and thus any heatsink plonked on top of it) is running at 60C, the component die is way above that.....
    It's better than nothing, but only just."""

Maybe you are looking for

  • Numbers and pages are not working.. need help

    hello i been chatting with Genius Bar team today earlier on, we heve got to the stage when we created Test User profile and figured that Numbers andPages are running in it, it suppose to mean that the is a way to fix those applications settings in or

  • (Solved) How to chance Multi touch gesture (swipe) to nex/prev tab(it is orginally forward/back)?

    i've multi touch trackpad. and if i swipe with 3 fingers it behaves forward/back. but i want it to be nex/prev tab. i've changed some values in about:config and still it does not affected. i'm uploading a screen shoot of about config filtered by "ges

  • Combo Select in Matrix

    Hi to all, I have a problem in combo Select in Matrix. I have a form with A matrix and One Column as a combobox. This Column is bind to one of the field of Table. I have loaded the combo with valid values, but when i select the combo item, it is not

  • No data comes when extracting data for 2LIS_06_INV

    Hi, I am trying to extract data from 2LIS_06_INV into my BI system.I see the invoice numbers in RSEG table as created from SRM 5.0 into my R/3 system but unfortunately no data gets extracted.Please provide some pointers if some setting needs to be do

  • Printing records that count more than 1 based of 3 fields.

    Hi: I have this table below. I want to print list of USERIDs that have different USERID, SHORTNAME and COMPANY combination. One of the USERID I want to print below is jkova since there are two records for jkova that have different COMPANY and SHORTNA