2011-08-24 183 views
0

我試過接收圖像,解碼並保存在Documents文件中,但是在修改Uikit對不同版本的Iphone的限制之後,我遇到了與Core Services庫和Uikit兼容的問題。我還有其他問題:gcc-4.2退出代碼1失敗iphone

GCC-4.2失敗,退出代碼1個iphone

在錯誤行右擊後選擇「打開這些最新成果作爲記錄文本文件」:

Build WSStub of project WSStub with configuration Debug 

Ld build/Debug/WSStub normal i386 
cd /Users/********/Desktop/WSStub 
setenv MACOSX_DEPLOYMENT_TARGET 10.5 
/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk -L/Users/********/Desktop/WSStub/build/Debug -F/Users/********/Desktop/WSStub/build/Debug -F/Users/********/Desktop/WSStub -filelist /Users/********/Desktop/WSStub/build/WSStub.build/Debug/WSStub.build/Objects-normal/i386/WSStub.LinkFileList -mmacosx-version-min=10.5 -framework Foundation -framework CoreServices -framework UIKit -framework CoreGraphics -o /Users/********/Desktop/WSStub/build/Debug/WSStub 

ld: warning: in /Users/********/Desktop/WSStub/UIKit.framework/UIKit, missing required architecture i386 in file 
ld: warning: in /Users/********/Desktop/WSStub/CoreGraphics.framework/CoreGraphics, missing required architecture i386 in file 
ld: duplicate symbol _UIEdgeInsetsMake in /Users/********/Desktop/WSStub/build/WSStub.build/Debug/WSStub.build/Objects-normal/i386/main.o and /Users/********/Desktop/WSStub/build/WSStub.build/Debug/WSStub.build/Objects-normal/i386/EnvioImagen.o 
collect2: ld returned 1 exit status 
Command /Developer/usr/bin/gcc-4.2 failed with exit code 1 

我不能解決這個問題.....

的main.m

... 

Envio * envio = [[Envio alloc] init]; 


[envio setMethod:method]; 
NSDictionary * imagen = [[NSDictionary alloc] initWithDictionary:[envio resultValue]]; 
NSString *im = [[NSString alloc] initWithString: [imagen valueForKey:@"return"]]; 
NSData * imagenDecode = [envio base64DataFromString:im]; 
[envio save:imagenDecode]; 

... 

EnvioImagen.m

#import "EnvioImagen.h" 

@implementation Envio 


- (void) setMethod:(NSString*)myMethod 
{...} 

- (void) setInvocation:(NSString*)invoc 
{...} 

- (void) setSoap:(NSString*)mySoap 
{...} 

- (void) setNameSpace:(NSString*)myNamespace 
{...} 


- (NSDictionary*) resultValue 
{...} 

- (WSMethodInvocationRef) genCreateInvocationRef 
{...} 


+ (NSData *)base64DataFromString: (NSString *)string 
{.....} 

+ (void)save: (NSData *)data 
{ 

    UIImage *im = [[UIImage alloc]initWithData:data]; 
    NSData *datai = UIImagePNGRepresentation(im); 

    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,  NSUserDomainMask, YES); 
    NSString *directory = [paths objectAtIndex:0]; 
    NSString *fullPath = [directory stringByAppendingPathComponent:@"david.png"]; 
    [fileManager createFileAtPath:fullPath contents:datai attributes:nil]; 

} 

@end; 

@implementation EnvioImagen 

+ (id) Envio:(CFTypeRef) parameters 
{ 
    id result = NULL; 

    Envio* invocation = [[Envio alloc] init]; 

    result = [[invocation resultValue] retain]; 

    [invocation release];  

    return result;  
} 

@end 

回答

0

你已經設置你的SDK到Mac OS X軟件開發工具包,而不是iPhone SDK的一個。 Mac OS X沒有UIKit。

+0

好的,我該如何選擇Iphone SDK? – David

+0

@大衛:說實話,我不確定。 SDK有一個構建設置。改變這一點可能就足夠了。 – JeremyP

0

看起來像你一樣搞砸了架構。所以編譯器認爲它是爲Mac OS而不是iOS編譯的。檢查您的構建設置和/或重新生成方案(產品 - >管理方案 - >自動生成)。

相關問題