どうやら,2007/10/31現在,配布されている開発ツール群にバグがある模様.
それは,

double objc_msgSend_fpret(id self, SEL op, ...)

が実装されておらず,リンク時にエラーが出る.これは,Tigerかつtoolchainv05のときはでなかったので,XCode3.0で変わったフレームワークや,sdk10.4とかの兼ね合いでそうなっていると考えられる.
MobileFinderや,MobileChatでは,すでに認知されており,対策がなされている.
っていうか,無茶な対策だと思いますが・・.ムリクリ実装しています.
対策は,以下のようにmain文に無理矢理実装してしまう.

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "MyApp.h"
#import </usr/local/arm-apple-darwin/include/objc/objc-class.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int ret = UIApplicationMain(argc, argv, [MyApp class]);
[pool release];
return ret;
}
double objc_msgSend_fpret(id self, SEL op, ...) {
Method method = class_getInstanceMethod(self->isa, op);
int numArgs = method_getNumberOfArguments(method);
if(numArgs == 2) {
double (*imp)(id, SEL);
imp = (double (*)(id, SEL))method->method_imp;
return imp(self, op);
} else if(numArgs == 3) {
// FIXME: this code assumes the 3rd arg is 4 bytes
va_list ap;
va_start(ap, op);
double (*imp)(id, SEL, void *);
imp = (double (*)(id, SEL, void *))method->method_imp;
return imp(self, op, va_arg(ap, void *));
}
//FIXME: need to work with multiple arguments/types
fprintf(stderr,
"ERROR: objc_msgSend_fpret, called on <%s %p> with selector %s, had to return 0.0\n",
object_getClassName(self), self, sel_getName(op));
return 0.0;
}