【问题标题】:How to resolve the error of type- [NSURL initFileURLWithPath:]: nil string parameter'如何解决类型错误 - [NSURL initFileURLWithPath:]: nil string parameter'
【发布时间】:2013-04-29 11:59:08
【问题描述】:

我只是尝试将我的 xcode 项目与 box 帐户集成,以便按照“https://github.com/box/box-ios-sdk”中的步骤创建一个新文件夹。

通过链接“http://developers.box.com/authentication-in-your-ios-app/”初步完成了认证过程。

构建成功并获得盒子帐户身份验证过程并获得创建新文件夹所需的名称。然后我经历了以下

Error- {Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter'}

新建文件夹代码:

- (void)viewDidLoad  {
   [super viewDidLoad];
   self.title = @"Create Folder";
   [self.textView becomeFirstResponder];  
}



- (IBAction)gotobutton:(id)sender {  

    [Box createFolderWithName:self.textView.text parentFolderID:[BoxID numberWithInt:0] share:NO callbacks:^(id<BoxOperationCallbacks> on) 

   {
        on.after(^(BoxCallbackResponse response) 

      {
            if (response == BoxCallbackResponseSuccessful) 

           {
                UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Success"  
                message:@"Folder created." delegate:nil cancelButtonTitle:@"OK"       
                otherButtonTitles:nil] ;   
                [alertView show];
           } 

            else 

            {
                [BoxErrorHandler presentErrorAlertViewForResponse:response];
            }

        });

    }];
}

如何摆脱错误,有没有人遇到过这种情况? 请帮忙!!!

【问题讨论】:

  • 您可以在[Box createFolderWithName:... 之前添加一个断点(或NSLog)并确保self.textView.text 不是nil(可能他们的sdk 使用该字符串构建了一个NSURL作为路径)。
  • 设置异常断点并检查堆栈。
  • 我在必要的地方有断点,它工作正常,直到连接到盒子帐户的最后一步。添加了 NSLog 和 [self.textview.text] = "给定文件夹的名称",而它运行,并得到异常,上传[1114:3d0f]***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'***-[NSURL initFileURLWithPath:]:nil字符串参数'***第一次抛出调用堆栈:(0x1a90012 0x1585e7e 0x1a8fdeb 0xf9c9b1 0xf9c93b 0x5426E 0x1ca86 0x16f853f 0x170a014 0x16fa418 0x16f853f 0x170a014 0x16fa418 0x16fa2a6 0x16fb280 0x16fb450 0x9a4b4e12 0x9a49ccca)libc ++ abi.dylib:终止称为抛出异常 span>
  • 没有这样的说法,[NSURL initFileURLWithPath:]: 在我的文件中,那么出现这种错误的原因是什么???而且我在创建新文件夹和将文件上传到我的盒子帐户时都遇到了同样的错误......为什么会这样???

标签: ios objective-c xcode box-api


【解决方案1】:

您很可能需要从 Box 框架中复制核心数据。 在 Xcode 中的目标下,然后转到“Build Phases”选项卡并在“Run Script”中添加如下内容: (只需将源目录更改为您在项目中放置框架的位置)

cp -fr ./Box.framework/Resources/BoxCoreDataStore.momd "${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/BoxCoreDataStore.momd"

【讨论】:

    猜你喜欢
    • 2011-07-01
    • 1970-01-01
    • 2022-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 2014-04-28
    • 1970-01-01
    相关资源
    最近更新 更多