下面的链接
http://nshipster.com/nsurlcache/
提到NSURLRequestReloadRevalidatingCacheData尚未在iOS 7中实现。
这是在iOS 12中实现的吗?如果是,您能告诉我如何使用吗?
如果不是,在使用服务器之前针对服务器验证缓存的替代方法/最佳实践是什么?
谢谢!
我在Xcode 10(iOS 12 Beta)中捐赠自定义意图时遇到问题.
我创建了一个自定义框架,它在我的主应用程序目标和我的'OrderIntent'目标之间共享.
我创建了一个.intentdefinition文件,其目标成员资格设置为我的自定义框架(下面的屏幕截图).
我在主应用程序中嵌入了"Intents Extension"和"Intents UI Extension".
我还在添加了Intents扩展(下面的截图)时创建的两个info.plist文件中添加了'OrderIntent'到NSExtension-> NSExtensionAttributes-> IntentsSupported.
我正在尝试捐赠这样的意图:
INPreferences.requestSiriAuthorization { (status) in
if status != INSiriAuthorizationStatus.authorized {return}
let orderIntent = OrderIntent()
orderIntent.product = "Test product"
orderIntent.quantity = 2
let interaction = INInteraction(intent: customIntent, response: nil)
interaction.donate { (error) in
if error != nil {2
if let error = error as NSError? {
print(error)
}
} else {
print("success")
}
}
}
Run Code Online (Sandbox Code Playgroud)
当用户点击应用程序中的按钮时,上面的代码会运行.
我也设置了这样的intent处理程序:
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> Any …Run Code Online (Sandbox Code Playgroud) 我添加了3 UITextFields以通过以电子邮件地址格式输入用户名,新密码和密码确认来创建新帐户。如在文本输入视图中启用密码自动填充中所建议的。我已经像这样配置了用户名字段
userTextField.textContentType = .username
userTextField.keyboardType = .emailAddress
Run Code Online (Sandbox Code Playgroud)
以及像这样的新密码字段
newPasswordTextField.textContentType = .newPassword
confirmPasswordTextField.textContentType = .newPassword
Run Code Online (Sandbox Code Playgroud)
现在,当用户输入电子邮件地址作为用户名时,newPasswordTextField将预先输入一个强密码建议(如预期的那样),但confirmPasswordTextField不会使用相同的建议密码。当用户直接点击newPasswordTextField而不在两者之前输入用户名时newPasswordTextField,confirmPasswordTextField都预输入了相同的建议密码(也与建议相同)。
在用户输入用户名后,两个密码字段都将使用相同的密码预先填充,这两种情况我该如何结合?
简短摘要:
如果未在编译前清除项目,则我的应用程序无法在Xcode10中正确编译,但在Xcode9中可以正常工作。
详细说明:
我有一个链接到我的iOS应用程序的静态框架。这两个项目都在同一工作区中打开,并且该框架已在项目设置中添加到应用程序的“嵌入式二进制文件”中。但是,在Xcode10中更改框架中的代码不会触发编译(即使使用CMD + B也不会),因此在运行应用程序时不会出现更改。这不是Xcode9的问题。到目前为止,我发现的唯一解决方法是每次在编译之前都要清理项目,这会导致异常的编译时间和很多挫败感。
有没有人看过这个问题,并提出了解决建议?
在Fabric应用程序中,在配置文件中添加iPhone Xs Max或iPhone Xs设备后,设备无法在应用程序内部进行检测.它显示错误消息"我们无法在您的配置文件中找到以下设备:"
我最近注意到我的应用程序出现一些问题,导致在上传到Appstore时出现警告:
无效的文档配置 -基于文档的应用程序应支持文档浏览器(UISupportsDocumentBrowser = YES)或实现就地打开(LSSupportsOpeningDocumentsInPlace = YES / NO)。访问https://developer.apple.com/document-based-apps/了解更多信息。
我的应用程序响应其plist'Document Types'中的自定义扩展名集,并在iOS 12 / Xcode 10之前正常工作。
当在.plist中的“是”中添加“在现场支持打开文档”并且在“否”中将“支持文档浏览器”添加为否时,此消息崩溃:
“应用程序具有LSSupportsOpeningDocumentsInPlace键,但未在委托上实现application:openURL:options:”
我的应用程序支持iOS 8或更高版本,并且可以很好地响应:
(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
Run Code Online (Sandbox Code Playgroud)
在我的AppDelegate中。
当我添加新的
- (void)openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenExternalURLOptionsKey, id> *)options completionHandler:(void (^)(BOOL success))completion
Run Code Online (Sandbox Code Playgroud)
它仍然崩溃与上面的错误。
当UITextField/UITextView成为第一个响应者时,UITableView不会自动滚动.它曾经在iOS 9-11上运行得很好,但现在它在iOS 12上不再起作用了.
我应该设置或更改tableView以修复行为?
参考GIF
将我的iPhone 5更新为ios 12.1后,我在xcode中收到此错误:
找不到设备支持文件.此iPhone 5s(型号A1457,A1518,A1528,A1530)运行的是iOS 12.1(16B92),此版本的Xcode可能不支持此功能.
我该怎么办?
我有一个非常奇怪的问题,似乎是由最新的Xcode 10.2编译引起的。
我注意到我的应用启动时间变得非常糟糕(慢了3倍),这仅是由于使用Xcode 10.2(.x)构建并在iOS 12.2上运行而引起的。当在较旧的iOS(12.0)上运行或使用针对iOS 12.2的Xcode 10.1编译时,相同的代码修订版可以正常运行。
延迟甚至发生在main()被调用之前。从根本上说Bootstrapping com.myapp.something with intent foreground-interactive,控制台说出与main()被叫之间的延迟是所测量的时间开始增加的地方。
应用设置(快速):
这是发生了什么
旧代码修订版(Swift 4.2)-较旧的版本之一,可以正常工作,然后使用Xcode 10.1进行编译
该表显示了使用Xcode 10.2进行编译对应用启动时间(开始出现状态栏的第一帧的那一刻)的影响。
| | iOS 12.0 | iOS 12.2 |
|------------|----------|----------|
| Xcode 10.1 | 1x | 1.25x |
| Xcode 10.2 | 1x | 3x | <--
Run Code Online (Sandbox Code Playgroud)
上次OK发行版(iOS 12.0 / Xcode 10.1)的启动时间被认为是1倍,其余时间是相对于它的。我们在这里谈论秒(减去3s->接近9s)。
仅在全新安装时才会发生此重大延迟。随后的每次启动都很快。
最新代码(Swift 5) -所有代码均已迁移到Swift 5,所有CocoaPods已更新为最新的Swift 5兼容版本,项目已更新为Xcode 10.2设置
与Swift 5之前的情况非常相似。因此,Swift 5本身似乎不是问题。
编辑1:
时间分析器发现初始化时间大大变慢了。 …
将iPad更新到iOS 13后,我在应用程序内部使用后台任务,我的应用程序发出以下消息:
无法结束BackgroundTask:不存在标识符> 13(0xd)的后台任务,或者它可能已经结束。中断UIApplicationEndBackgroundTaskError()进行调试。
我使用UIApplicationEndBackgroundTaskError()进行了调试,但是没有得到任何结果,并且我已经在iOS 12和其他以前的版本上对其进行了测试,它运行良好。
ios12 ×10
ios ×5
swift ×3
iphone ×2
xcode ×2
xcode10 ×2
afnetworking ×1
caching ×1
crash ×1
ios13 ×1
nsurlcache ×1
objective-c ×1
openurl ×1
sirikit ×1
swift5 ×1
uikit ×1
uitableview ×1
xcode10.2 ×1
xcode9 ×1