XCode 4: Conversion Problem

Did you try to build your project in XCode 4 for the first time and get an error that starts with “There is no SDK with the name or path”?

That happened to me recently.  And the path given in the message had nothing to do with SDK’s.  In fact it was an open-source sub-project I was using.

I Googled for the answer, but mostly just found references to posts on how to fix actual SDK path problems.

It turned out that the problem was how XCode 4 looked at the sub-project.  Somehow, XCode 4 had noticed a missing Base SDK, had a static library as the product, and assumed it was a Mac OS X project.

I closed the project and opened the sub-project directly.  I corrected the project settings back to iOS and it built correctly. Closing and going back to the first project, the build now built correctly (with some warnings that I did not recall from XCode 3.)

 

 

XCode 4 Column-Wise Copy-Paste Changed

One of the strangely useful features of XCode 3 and 4 is the column-wise copy-and-paste.  But a change in XCode 4 takes away column-pasting.

Not seen this before?  Just hold the option-key while you drag a selection in XCode 3 or 4.  The text cursor will be replaced with a “+” and you can select columns of text right out of the middle of a document. (It helps if the text has vertically-oriented columns.)  It made me chuckle the first time I used it to select a column of tabs and paste them into the middle of a bunch of declarations to move them over all at once.

Pasting in a column required adjustment in XCode 3.  It would paste in the same vertical fashion as the copy, so it was easy to write over quite a bit if you weren’t careful with giving yourself space.  But then that made it interesting too.  I copied a column of member variables and pasted them all at the ends of a series of @property directives in one shot.  The same for the series of @synthesize directives.

In XCode 4, while you can copy a column, pasting it is essentially the same as having copied from any other text. Pasting does not happen in columns.

Admittedly, I did convert my columns to regular text pasting with a quick paste and re-copy in an empty file once in a while because that is what was needed.

Still,  I think I’ll miss the ability to paste in a column.

Modal View appearing the wrong location?

Is calling presentModalViewController: while a keyboard is visible making your view appear in the wrong place on-screen?

Try sending the message to a different part of the view-controller hierarchy.

I had this problem recently and was getting ready to start hunting down the current first-responder when I lucked into a quicker answer:  change the receiver from the current view controller to the navigation controller. The navigation controller handles getting objects to resign first-repsonder status without any more code from me.

Getting the view dismissed when done is easy too.  Just send the dismiss message to the modal view’s navigationController.

Online Stores and Capped ISP’s; Conflict Looming?

One thing struck me when Apple announced that Mac OS X 10.7 (Lion) would be download-only:  its size.

When they said how many Gigabytes it was, it sounded like a huge chunk of, or more than, many ISP’s bandwidth caps.

And when you add automatic online backups, and uploads and downloads of synced files, I have to wonder how many people will begin getting upset about going over their caps without realizing it.

Update 6-19-11: David Pogue conjectures about the same thing:  http://nyti.ms/mHz4oW

Something about this struck me since I first wrote: many cable providers are now offering access to shows over the internet.  How are they now going to keep their own customers from breaking bandwidth caps with their own services?

If a cap-battle does loom, there is one thing that may be spotlighted they don’t want:  how do they even measure bandwidth in the first place?  Are re-transmitted packets counted twice?  How do customers even know how much they use? And for what?    If a virus starts eating up bandwidth will customers complain that they didn’t know and should not be charged?  What about bandwidth used by programs without customer knowledge?

If you have to know how much you use,  you are going to have to learn a lot about how the internet works.   How many of an ISP’s customers want to do that?

 

XCode 4 and Little Snitch and GitHub

Today was my first try using XCode 4 with GitHub.  When I tried to clone a repository,  Little Snitch dutifully reported it and asked me to approve the connection.  I gave it “forever” permission for GitHub and the git port number.

Just after I clicked it,  I saw that XCode was reporting that permission was denied.

Just pressing “Try Again” got it going, but I noticed that it had created the folder for the repository.  When I clicked the same outer folder, it asked about replacing it and I chose “Replace”.

After it spun for a while, it gave an error about a missing folder for the checksum.  When I looked, the entire repository folder did not exist.  So I tried yet again, choosing the same outer folder.

Finally it completed and my work can go forward.

XCode 4.0.2,  Build 4A2002a

Unsung benefit of App Store: Apple’s Lawyers

I’ve been telling people for a while that one of the unsung benefits of the iTunes App Store is having Apple’s lawyers on your side when a patent troll shows up. (Even the most staunch Microsoft-only shop seems to respect Apple’s lawyers.)

I just pointing out my own supposition based on things like Apple getting the one-click patent rights with Amazon and the endless articles out there that detail the patent troll strategy of getting lots of small companies to settle before taking on bigger companies.

Now, this ZDNet article talks about Apple stepping up to protect its developers from just such patent suits:
http://news.cnet.com/8301-27076_3-20065399-248.html?part=rss&subj=news&tag=2547-1_3-0-20

Of course,  Apple (and any other app store) may have to work harder to get those kinds of broad licenses in the future.

Maybe one day,  Apple, Microsoft, Google and the rest of us will ban together to just buy out patent trolls in bulk and put the patents into a non-profit that charges a reasonable yearly fee to cover the costs of the buyouts and licenses.   (The publicly traded trolls sometimes have a lower market cap than a single lawsuit.)  Somehow that seems more likely than our government doing something about it.

 

iOS Developers of Orlando Meetup

Meet fellow iOS developers.  April 26th, 2011 at 7:00 pm.

See the Meetup site for details. http://www.meetup.com/Orlando-iOS-Developer-Group/events/17295761/

Pro iPhone Developer Meetup in Orlando

March 8, 2011

7:00 pm

Panera’s by Lake Eola in Downtown Orlando

Details on nscodernightorlando.org

This one is for professional and/or advanced iOS developers rather than for beginning developers, hobbyists, users or enthusiasts.  I look forward to deep discussions of XCode, Interface Builder, iPad-2, and the Apple App Store.

So if you are such a developer and in central Florida that night, drop by.

Cheap Graphics Editing for iOS Apps: icons

Rather than focus on totally free, this time I’m talking a paid, but totally worth the money application.

Art Text by BeLight Software is a cheap application that can give you the glossy, 3D icons and text you expect in an iPhone app with fairly little effort. (Apple Mac App Store link: id404180306)

There is no replacement for a graphic artist, but sometimes you need to make things yourself for practical reasons. And this little app can build some nice little icons that you can use (without embarrassment.)

I’m sorry that I don’t have much time to finish this post, so I’m resorting to some shorthand to list the things I like about this app for iPhone development:

  • You can make your graphics a specific size and fit things to that size.
  • It maintains layers and transparencies nicely.
  • Text and shapes can be filled with color, 3D effects, or images.
  • 3D effects can have multiple light sources. Light sources can be rotated in each item.
  • Shadows and strokes are easy.
  • Can save to PDF for full vector size changes.

Most of all,  with this little app, I can make an icon that looks decent in a few minutes.  If I tried the same thing in Photoshop or Pixelmator, I’d be working for hours to get the same look.

Free Graphics Editing for iOS Apps: Text

How much of graphics need can I solve with the free apps that come with the Macintosh?  A challenge I had to take up recently when I did not have my trusty laptop and software.

There are of course free downloadable apps out there, but it should still be worthwhile to find a way.

I needed some text on a clear background.  If needed text on a colored background, it would be easy to make it in TextEdit and just take a screen shot.  An application that can do text and  can save as a PNG file can handle this, but what in the standard Mac apps will do it?  Preview. Apple’s free application for viewing images and PDF files. (Surprised? I was.)

Preview’s menus won’t just make a new file, except to paste what was copied into the clipboard. But you can make files of any size easily.  Just start with a bigger file and crop it down (or resize it).  Or, take a screen shot of something with the Mac’s screen capture and use that.  Command-shift-3 is good, but Command-Shift-4 will let you select any part of the monitor while showing you the resulting size.  It can be helpful to capture and image of the layout you want to put the text into. Then you can fit it right the first time.

If you don’t want to accidentally change your base file, make a copy of it in Finder first. Or use Preview’s “Save As” to set the new file and its location.

To get a clear background in Preview, select all or part of the image and hit the delete key.  Poof! Transparent background.

To get text into your file, start by showing the annotations toolbar. You can:

  • Click the “Annotate” button.
  • Use the menu View -> “Show Annotations Toolbar”
  • Use Tools -> Annotate -> “Add Text”

Drag out a text box and layout your text. You can’t set a shadow on the text, but you can do most other kinds of simple text editing.

CAUTION: when you save, all annotation item become images. Preview doesn’t really do layers even though it will keep separate items until you save (none of the formats saved layer information for me. If it does, please tell me.)

If you need layering in the originals to make changes easier, you’ll need a different program. For Preview, you can make new images by pasting original text from another source.

Opening the Inspector will tell you many things about your file. The right-most tab (pencil icon) will let you set colors and other attributes of the annotation items. There’s more, but perhaps that’s for another post.

Enjoy