Flickr 사이트에 내 iPhone 응용 프로그램을 통해 이미지를 업로드하기 위해 flickr API를 통합하고 싶습니다. 코드 스냅 & Rundown github을 다운로드했습니다. 내 프로젝트에 동일한 SDK 코드를 통합했다. 그러나 ARC로 변환하는 동안 오류가 표시된다. 나는 회선 문제를 읽었습니다. 이러한 오류는 위의 방법에서Flickr SDK가 ARC로 변환되지 않았습니다.
static NSData *OFSha1(NSData *inData)
{
NSMutableData *result = [NSMutableData dataWithLength:CC_SHA1_DIGEST_LENGTH];
CC_SHA1_CTX context;
CC_SHA1_Init(&context);
CC_SHA1_Update(&context, [inData bytes], (CC_LONG)[inData length]);
CC_SHA1_Final([result mutableBytes], &context);
return result;
}
내가이 오류 내가 오류가 발생하는 것은 "입니다했다 여기
NSString *OFHMACSha1Base64(NSString *inKey, NSString *inMessage)
{
NSData *keyData = [inKey dataUsingEncoding:NSUTF8StringEncoding];
if ([keyData length] > CC_SHA1_BLOCK_BYTES) {
keyData = OFSha1(keyData);
}
if ([keyData length] < CC_SHA1_BLOCK_BYTES) {
NSUInteger padSize = CC_SHA1_BLOCK_BYTES - [keyData length];
NSMutableData *paddedData = [NSMutableData dataWithData:keyData];
[paddedData appendData:[NSMutableData dataWithLength:padSize]];
keyData = paddedData;
}
NSMutableData *oKeyPad = [NSMutableData dataWithLength:CC_SHA1_BLOCK_BYTES];
NSMutableData *iKeyPad = [NSMutableData dataWithLength:CC_SHA1_BLOCK_BYTES];
const uint8_t *kdPtr = [keyData bytes];
uint8_t *okpPtr = [oKeyPad mutableBytes];
uint8_t *ikpPtr = [iKeyPad mutableBytes];
memset(okpPtr, 0x5c, CC_SHA1_BLOCK_BYTES);
memset(ikpPtr, 0x36, CC_SHA1_BLOCK_BYTES);
NSUInteger i;
for (i = 0; i < CC_SHA1_BLOCK_BYTES; i++) {
okpPtr[i] = okpPtr[i]^kdPtr[i];
ikpPtr[i] = ikpPtr[i]^kdPtr[i];
}
NSData *msgData = [inMessage dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData *innerData = [NSMutableData dataWithData:iKeyPad];
[innerData appendData:msgData];
NSData *innerDataHashed = OFSha1(innerData);
NSMutableData *outerData = [NSMutableData dataWithData:oKeyPad];
[outerData appendData:innerDataHashed];
NSData *outerHashedData = OFSha1(outerData);
size_t outputLength;
char *outputBuffer = NewBase64Encode([outerHashedData bytes], [outerHashedData length], true, &outputLength);
NSString *result = [[[NSString alloc] initWithBytes:outputBuffer length:outputLength encoding:NSASCIIStringEncoding] autorelease];
free(outputBuffer);
return result;
}
"전화 CC_SHA1_Final 없음 매칭 기능 "을 받고있다 OFUtilities.m 파일에 const 타입의 r 값으로 'const uint8_t'타입의 변수를 초기화하십시오. "
도와주세요. 고맙습니다.
답장을 보내 주셔서 감사합니다. 그러나 여기 flickr 스냅을 통합하고 ARC로 변환하는 대신 다른 프로젝트에 코드를 실행하여 오류가 발생했습니다. – Vasu