小编Bas*_*sel的帖子

适用于iOS的Podofo; 编写PDF文件后"找不到目录对象"

我已经为iOS构建了Podofo 0.9.3以及支持amrv7,arm64和模拟器的所有其他所需的库.我的项目运行正常,但我的问题是第二次加载文档.我总是在Podofo中收到错误"找不到目录对象".如果我使用Mac上的预览应用程序打开文档并保存,Podofo可以再次打开它.

这是我用来打开文档并保存它的代码:

self.doc = new PoDoFo::PdfMemDocument([path UTF8String]);

NSString *tmpPath = [self createCopyForFile:self.pdfPath];

self.doc->Write([tmpPath UTF8String]);

NSData *myFile = [NSData dataWithContentsOfFile:tmpPath];
[myFile writeToFile:tmpPath atomically:YES];

NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;

if ([fileManager fileExistsAtPath:self.pdfPath] == YES) {
     [fileManager removeItemAtPath:self.pdfPath error:&error];
}
[fileManager copyItemAtPath:tmpPath toPath:self.pdfPath error:&error];
Run Code Online (Sandbox Code Playgroud)

错误在这里:

void PdfMemDocument::InitFromParser( PdfParser* pParser )
{
...
PdfObject* pCatalog = pTrailer->GetIndirectKey( "Root" );
if( !pCatalog )
{
      PODOFO_RAISE_ERROR_INFO( ePdfError_NoObject, "Catalog object not found!" );
...
}
Run Code Online (Sandbox Code Playgroud)

你们最近为iOS构建了Podofo吗?知道为什么会这样吗?

pdf objective-c objective-c++ ios

10
推荐指数
1
解决办法
274
查看次数

分享Kitit twitter 403(未知错误)

我正在使用ShareKit通过FB和Twitter分享.我正在使用此代码与twitter分享:

- (IBAction)twitterShare:(id)sender {
    // Create the item to share (in this example, a url)
    NSURL *url = [NSURL URLWithString:[flexViewController shareURL]];
    SHKItem *item = [SHKItem URL:url title:[flexViewController shareText]];

    [SHK setRootViewController:self];
    // Share the item
    [SHKTwitter shareItem:item];
}
Run Code Online (Sandbox Code Playgroud)

我得到"403 Forbidden:服务器理解了请求,但拒绝履行它".如果提示登录视图,则总会发生这种情况.如果用户已从先前的会话登录(应用程序已关闭并重新打开),则它可以正常工作.

在这个页面中,它声明403表示我已达到限制,我不认为这是我的情况. https://dev.twitter.com/docs/error-codes-responses

上面的代码上周工作正常,但现在我收到了这个错误.

twitter ios sharekit

3
推荐指数
1
解决办法
2071
查看次数

使用EKEventStore从iPhone日历中删除事件

我正在尝试删除我从iPhone日历创建的事件.

我试过这个,但它总是返回NO:

  [eventStore removeEvent:event span:EKSpanThisEvent error:&err];
Run Code Online (Sandbox Code Playgroud)

我创建了如下事件,它的工作原理如下:

eventStore = [[EKEventStore alloc] init];

event = [EKEvent eventWithEventStore:eventStore];

event.title = @"EVENT TITLE";
NSDateFormatter *   dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd:HH:mm"];


NSDate * date = [[NSDate alloc] init];
date = [dateFormatter dateFromString:@"2010-8-15:12:30"];
[date retain];

event.startDate = date;
event.endDate = [[NSDate alloc] initWithTimeInterval:600 sinceDate:event.startDate];

[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err]; 
Run Code Online (Sandbox Code Playgroud)

有没有办法删除此事件?或者,如果我再次尝试编写此事件,它只会修改它而不是创建一个新事件会更好.

谢谢,

iphone events calendar

2
推荐指数
1
解决办法
8607
查看次数

一段时间后显示UIAlertView

我想在一段时间后显示一个UIAlertView(比如在应用程序中做一些事情后的5分钟).我已经在应用程序关闭或在后台通知用户.但我希望在应用程序运行时显示UIAlertView.

我尝试dispatch_async如下,但警报永远弹出:

[NSThread sleepForTimeInterval:minutes];
 dispatch_async(dispatch_get_main_queue(),
       ^{
        UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"title!" message:@"message!" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil];
        [alert show];
        [alert release];
       }
       );
Run Code Online (Sandbox Code Playgroud)

另外,我读到线程在30到60分钟后死亡.我想能够在超过60分钟后显示警报.

iphone cocoa-touch uialertview grand-central-dispatch ios

2
推荐指数
1
解决办法
6136
查看次数