小编Rya*_*ner的帖子

偶发无法读取文件错误 - 文件不存在

我偶尔会收到一个错误

***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'无法读取文件:///var/mobile/Applications/D743821C-6F34-4E97-8FBA-D7EAD6738E38/Documents/contacts.zip

***第一掷调用堆栈:(0x2ef1ef83 0x39799ccf 0x2eb5f7c3 0x2eb5f2dd 0x39c8181f 0x39c87677 0x2eb5f289 0x2eb9897f 0x172cb9 0x17bac3 0x5b769 0x160d99 0x69f2d 0x698cb 0x1709c7 0x17a9a3 0x39c81833 0x39c88ad7 0x39c88d29 0x39dc3bd3 0x39dc3a98)的libc ++ abi.dylib:与类型NSException的未捕获的异常终止

该计划在线

Info.uploadTask = [self.session uploadTaskWithRequest:request fromFile:url];
Run Code Online (Sandbox Code Playgroud)

当我在设备容器中查看时,我看到文件不在那里.

我不明白

  1. 如果文件不存在,为什么路径检查中存在
  2. 为什么程序失败,即使它在try catch块中

    NSString *path = file.myPath;
    if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
        @try {
            NSURL *url = [NSURL fileURLWithPath:path];
            Info.uploadTask = [self.session uploadTaskWithRequest:request fromFile:url];
        }
        @catch (NSException *exception) {
            BLog("error Reading file:%@",path);
            return;
        }
    } else {
        BLog(@"file not found:%@",path);
        return;
    }
    
    Run Code Online (Sandbox Code Playgroud)

objective-c ios

5
推荐指数
1
解决办法
682
查看次数

正则表达式 NSRegularExpression 与 NSPredicate

到目前为止,我一直在使用一个函数来验证电子邮件格式和密码

func isRegexValid(string:String,regex:String) -> Bool {
   return NSPredicate(format: "SELF MATCHES %@", regex).evaluate(with: string)
}
Run Code Online (Sandbox Code Playgroud)

我试图检查某个模式并遇到了问题。我正在寻找一个带有 4 个逗号分隔符后跟“ext”的字符串

^(.*,){4}ext 
Run Code Online (Sandbox Code Playgroud)

上面的函数不能按预期处理这个,所以我尝试了一个效果很好的替代方法

func isRegexValid2(string:String,pattern:String) -> Bool {
  let regex = try! NSRegularExpression(pattern: pattern, options: [])
  return regex.firstMatch(in: string, options: [], range: NSMakeRange(0, string.utf16.count)) != nil
}
Run Code Online (Sandbox Code Playgroud)

我想了解两个正则表达式调用之间的区别,以及我们是否应该避免其中一个。

regex ios swift3

5
推荐指数
1
解决办法
722
查看次数

Java Mail API:通过企业outlook acount发送电子邮件

我希望我的程序能够从我的企业Outlook帐户发送电子邮件.我看了很多JMA的例子,似乎不是我想要的.

  1. 我在哪里可以找到通过outlook发送邮件的简单示例?
  2. 我应该将邮件系统移动到单独的服务应用程序吗?如果是这样,为什么?

java jakarta-mail

3
推荐指数
2
解决办法
8万
查看次数

如何在 Xcode 15 中获取 ipa 文件

在 Xcode 版本上,Xcode 15 之前我们有一个选项 Export

导出,然后保存副本并使用 Transporter 上传到应用程序商店

这已经消失了,我需要在上传之前获取 IPA 的副本,因为出于各种原因这是我公司的政策。

在此输入图像描述

xcode ios xcode15

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

App Transport Security Exceptions IOS9

我正在写一个使用flickr的IOS9应用程序.

Flicker使用网址格式 https:// farm {farm-id} .staticflickr.com /

农场ID是一个数字

在我的info.plist中,我定义了列入白名单的域NSAppTransportSecurity - NSExceptionDomains

如何将农场ID定义为外卡?

目前我刚刚做了farm1.staticflickr.com farm2.staticflickr.com ......直到9,但我不确定flickr到底有多远.

flickr ios ios9

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

在Swift中将NSLog重定向到File无法正常工作

我试图将NSLog发送到在模拟器,IOS 10.2上运行的Swift 3中的文件,并且没有生成任何内容

如何将NSLog转换为文件

func redirectConsoleLogToDocumentFolder() {
    let file = "file.txt"
    if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {

        let logPath = dir.appendingPathComponent(file).absoluteString
        print("log:\(logPath)")
        freopen(logPath, "a+", stderr)
    }
    NSLog("print nslog")
}
Run Code Online (Sandbox Code Playgroud)

产量

~/Library/Developer/CoreSimulator/Devices/A7B717-3ED8-493A-9778-C594AF9FF446/data/Containers/Data/Application/B0386-64BB-46EB-9BF2-65209FC748CD/Documents/file.txt
Run Code Online (Sandbox Code Playgroud)

唯一的影响是输出不再打印到控制台.

我试过了

freopen(logPath.cString(using: .utf8), "a+", stderr)
Run Code Online (Sandbox Code Playgroud)

以及其他各种组合

使用我收到的路径写入文件没有问题,所以没有任何问题

我希望在路径中看到一个名为file.txt的文件,并且该文件包含"print nslog".我尝试先创建文件但没有成功.

ios swift swift3

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

有两个参数的Swift过滤器是否有更优雅的语法

是否有更优雅的方式来过滤附加参数(或map,reduce).

当我使用单个参数进行过滤时,我们可以获得一个简单易用的语法

let numbers = Array(1...10)

func isGreaterThan5(number:Int) -> Bool {
    return number > 5
}

numbers.filter(isGreaterThan5)
Run Code Online (Sandbox Code Playgroud)

但是,如果我需要将一个额外的参数传递给我的函数,那么结果很难看

func isGreaterThanX(number:Int,x:Int) -> Bool {
    return number > x
}

numbers.filter { (number) -> Bool in
    isGreaterThanX(number: number, x: 8)
}
Run Code Online (Sandbox Code Playgroud)

我想用类似的东西

numbers.filter(isGreaterThanX(number: $0, x: 3))
Run Code Online (Sandbox Code Playgroud)

但是这给出了一个未包含在闭包中的编译错误匿名闭包参数

swift

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

“名称”不可用:在 iOS 上不可用 - XCode11

从 XCode 10.0 升级到 11 后

我收到错误“名称”不可用:在 iOS 上不可用

这是在XCode 11.0 和 11.1 上的Build for Swift 4.2期间,我仍然可以使用 XCode 10 进行构建

这发生在我们一直通过 Cocopods 使用的Objective C外部库之一的代码中。

return [(NSNumber *)[table[state] objectForKey:[rule name]] unsignedIntegerValue];
Run Code Online (Sandbox Code Playgroud)

我可以通过将变量名称重命名为ruleName来解决这个问题,但我宁愿不这样做。

为什么 Xcode 反对 name 的变量名?这是一个Xcode,还是我可以在构建设置中修复的东西

编辑

具体的pod是NUI 0.5.5

在模块 NUIPShiftReduceGotoTable.m 中

- (NSUInteger)gotoForState:(NSUInteger)state rule:(NUIPRule *)rule
{
    return [(NSNumber *)[table[state] objectForKey:[rule name]] unsignedIntegerValue];
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios xcode11

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

Flutter 告诉哪个小部件触发了 ScrollNotification?

我有一个 SingleChildScrollView,它包含一个可滚动的 TabBar,并且我有一个监听通知的 NotificationListener。

我的问题是我从两个小部件都收到 ScrollNotification,但我不知道如何判断两个小部件中的哪一个触发了通知。

ScrollNotification 包含 BuildContext?上面的评论表明这可以用来确定源,但我不明白如何使用构建上下文来确定我的哪个对象触发了通知。

/// The build context of the widget that fired this notification.
///
/// This can be used to find the scrollable's render objects to determine the
/// size of the viewport, for instance.
final BuildContext? context;
Run Code Online (Sandbox Code Playgroud)

flutter

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

Swift Playground停止评估

当它停止显示变量评估时,我正在玩Swift GuidedTour.playground.我该如何重新开启?

它在我创建一个新游乐场时起作用.我必须按下一些按钮才能将其关闭,但无法将其重新打开

在此输入图像描述

这是与评估的新操场上相同的代码

在此输入图像描述

swift xcode6

0
推荐指数
1
解决办法
2267
查看次数

标签 统计

ios ×6

swift ×3

objective-c ×2

swift3 ×2

flickr ×1

flutter ×1

ios9 ×1

jakarta-mail ×1

java ×1

regex ×1

xcode ×1

xcode11 ×1

xcode15 ×1

xcode6 ×1