iphone - Flickr SDK 未转换为 ARC
<p><p>我想集成 flickr api 以通过我的 iphone 应用程序将图像上传到 flickr 站点。我已经从 github 下载了代码 snap&Run。我在我的项目中集成了相同的 SDK 代码。但它在转换为 ARC 时向我显示错误。我有读线问题。
这些错误在 OFUtilities.m 文件中</p>
<pre><code>static NSData *OFSha1(NSData *inData)
{
NSMutableData *result = ;
CC_SHA1_CTX context;
CC_SHA1_Init(&context);
CC_SHA1_Update(&context, , (CC_LONG));
CC_SHA1_Final(, &context);
return result;
}
</code></pre>
<p><strong>在上述方法中,我收到此错误“No Matching Function for call CC_SHA1_Final”</strong></p>
<pre><code>NSString *OFHMACSha1Base64(NSString *inKey, NSString *inMessage)
{
NSData *keyData = ;
if ( > CC_SHA1_BLOCK_BYTES) {
keyData = OFSha1(keyData);
}
if ( < CC_SHA1_BLOCK_BYTES) {
NSUInteger padSize = CC_SHA1_BLOCK_BYTES - ;
NSMutableData *paddedData = ;
];
keyData= paddedData;
}
NSMutableData *oKeyPad = ;
NSMutableData *iKeyPad = ;
const uint8_t *kdPtr = ;
uint8_t *okpPtr = ;
uint8_t *ikpPtr = ;
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 = okpPtr ^ kdPtr;
ikpPtr = ikpPtr ^ kdPtr;
}
NSData *msgData = ;
NSMutableData *innerData = ;
;
NSData *innerDataHashed = OFSha1(innerData);
NSMutableData *outerData = ;
;
NSData *outerHashedData = OFSha1(outerData);
size_t outputLength;
char *outputBuffer = NewBase64Encode(, , true, &outputLength);
NSString *result = [[ initWithBytes:outputBuffer length:outputLength encoding:NSASCIIStringEncoding] autorelease];
free(outputBuffer);
return result;
}
</code></pre>
<p><strong>这里我得到的错误是“无法使用 const 类型的 r 值初始化 'const uint8_t' 类型的变量”</strong></p>
<p>请帮助我。提前致谢。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>有时将<strong>非弧</strong>代码转换为<strong>弧</strong>不会成功。如果您的外部框架不支持 ARC,最好不要尝试转换。而是为该特定文件设置编译器标志 <strong>-fno-objc-arc</strong> 以在没有 ARC 的情况下进行编译。 </p></p>
<p style="font-size: 20px;">关于iphone - Flickr SDK 未转换为 ARC,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/16605525/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/16605525/
</a>
</p>
页:
[1]