Taptopia Blog

Information and thoughts on mobile technologies focusing on smartphones and an occasional cool technology or two... 
Filed under

developer

 

Apple App Store, Changing?

Apple started it all.  The outrageous popularity of their app store has spawned app stores for almost every mobile platform available today.  Heck, there is even an app store for Media Center PCs.  With popularity comes control.  So much so that the company that started the whole craze had started to draw some serious fire over the latter part of 2009.  Apple was being questioned in the public blogs and even in the mainstream press for some questionable practices when it came to approval of various apps.

We have only been in the game a relatively short time and have begun to see dramatic changes.  Our first app submitted in late August 2009, Tap Groups (iTunes link), was approved in exactly the published average at the time, 14 days.  Our second app focused on the event services vertical , IAEE (iTunes link), was submitted in mid November 2009 and took 11 days for approval.  We recently landed two new accounts for our event services offering to cover the International Poultry Expo, IPE2010 (iTunes link) and the International Feed Expo, IFE2010 (iTunes link), taking place in Atlanta from January 24 - 29, 2010.  Both apps were submitted in early January 2010 and were approved in less than 48 hours...no kidding.  Others have also noted faster app approvals and less scrutiny on particular app constructs which were almost always a recipe for a rejection.  

It is refreshing to see that Apple is responding to the developer community and changing their process.

Loading mentions Retweet
Filed under  //   app store   developer   events   iphone  
Posted by Matt Glover 

Comments [2]

iPhone Static Library Targets, XCode and Linking Errors

Organizing code within XCode is fairly straightforward when working on simple iPhone Apps. However, as you scale up the Apps (or what you're doing with core framework code) you will need to start diving into iPhone Static Libraries under XCode. Unfortunately this is an area that's not well documented but the process is very straight forward if you follow the XCode documentation on the XCode Build System - specifically how to use Targets within a project (or cross-project references) to link static libraries together.

The process of creating and setting up an iPhone static library took about 15 minutes following the XCode documentation. However, after creating my static library target and putting some files into it, I ran into a very cryptic error:

/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/libtool failed with exit code 1

Ya, wonderful. Very helpful. I was able to troubleshoot the problem by resorting to the xcodebuild command line to build my library target:

xcodebuild -target <LibraryTargetName>

The resulting error messages made it obvious what the problem was:

/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/libtool: can't locate file for: -licucore
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/libtool: file: -licucore is not an object file (not allowed in a library)
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/libtool failed with exit code 1
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/libtool failed with exit code 1
** BUILD FAILED **

Yup, the default target setup linker options for an -licucore - which won't work (at least for iPhone 3.0 SDK). Fixing the issue is a cakewalk now that the cause is known. Select the static library target in the main project window, right click and select "Get Info" (or hit Cmd-I), select the "Build" tab, and in the search box at top, type "Other Linker". You'll see the Other Linker Flags setting with the -licucore flag set. Simply delete the flag and the project will link and build without problems.

Note: a second gotcha is Apps that you link your iPhone static library to should include the "-ObjC" Other Linker Flag option if your static library contains Objective C code (see Technical Q&A QA1490). If you use Categories you may also need the -all_load flag (try compiling without it, and if it fails, add and recompile... it creates fatter Apps but is a workaround if you can't link otherwise).

Loading mentions Retweet
Filed under  //   code   developer   iphone   xcode  
Posted by Iain Shigeoka 

Comments [0]



Privacy Policy

™ & © 2008 - 2009 Taptopia. All Rights Reserved. Taptopia is a subsidiary of Metiscan Inc.