我在iOS 6的iOS应用程序中使用Facebook SDK 3.1.1.我在设置应用程序中从用户帐户测试Facebook注销时遇到了这个问题.
一旦应用程序通过Facebook的设置应用程序授权Facebook使用,用户THEN进入并删除设置应用程序内的Facebook连接(不仅仅是这个应用程序,但删除用户名),其中存在问题.
当我返回应用程序时,它显示我仍然登录.但是当我尝试访问Facebook时,我得到错误:HTTP状态代码:400.我试图关闭并清除FBSession的令牌信息,但这没有用.我希望有人可以指出我正确的方向与这个问题.
是否可以从Xcode 5的搜索中排除注释行(个人或组)?如果是这样,该怎么办?如果没有,为什么?似乎这将是一个巨大的疏忽。
本文档:防止敏感信息出现在任务切换器中,它描述了一种在applicationDidEnterBackground中显示视图控制器的方法,以便在任务切换器中隐藏关键信息:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Your application can present a full screen modal view controller to
// cover its contents when it moves into the background. If your
// application requires a password unlock when it retuns to the
// foreground, present your lock screen or authentication view controller here.
UIViewController *blankViewController = [UIViewController new];
blankViewController.view.backgroundColor = [UIColor blackColor];
// Pass NO for the animated parameter. Any animation will not complete
// before the snapshot is taken. …Run Code Online (Sandbox Code Playgroud) 以下方法从UITextField获取输入并将其格式化以供显示.这段代码多年来一直运行良好,但是使用iOS 8.1在iPhone 6 Plus上报告了一个问题.它每次都发生在用户身上,但我无法重现它.我相信它与iOS 8上的NSNumber/NSDecimalNumber转换和格式有关,可能对于64位应用程序/设备.
用于输入的键盘是数字键盘,因此可输入文本字段的唯一文本是数字0-9和"删除".
根据用户的说法,这就是发生的事情:
我想输入250美元的预算金额.当我把它拉起来时,最初是显示0.00.然后,一旦我输入2,它然后显示220.02然后当我输入5它说2,200.25然后当我输入0时它会出现22,002.50如果我试图删除任何数字它出现了一个非常大的数字.
根据我的测试,下面的代码在iOS 8.1中与模拟器中的每个设备(包括iPhone 6 Plus)完美配合.它也适用于iOS 8.1的iPhone 5S设备(64位).我没有iPhone 6 Plus设备.
我错过了某人看到可能导致此错误的内容吗?
编辑:这可能是因为decimalNumberWithMantissa参数应该是unsigned long long我使用NSInteger?这会导致问题,如果是这样,为什么它会在iPhone 6 Plus上的iOS 8.1之前有效?如果可以的话,我会亲自检查一下......
entryField UITextField初始化如下:
entryField.text = [NSString stringWithFormat:@"%@", [[[ObjectsHelper sharedManager] currencyFullFormatter] stringFromNumber:[NSDecimalNumber zero]]];
Run Code Online (Sandbox Code Playgroud)
这是相关代码的其余部分:
#define MAX__NUMBER_LENGTH 10
- (BOOL)textField:(UITextField *)textFieldHere shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
__ENTERING_METHOD__
NSMutableString *mstring = [[NSMutableString alloc] initWithString:[entryField text]];
if([string length] > 0){
//add case
[mstring insertString:string atIndex:range.location];
}
else {
//delete case - the length of replacement string is zero for a delete
[mstring deleteCharactersInRange:range]; …Run Code Online (Sandbox Code Playgroud) 在iOS 8之前,可以在UIViewController被解除的同时从模式呈现的UIViewController中显示UIAlertView.我发现当用户需要提醒他们按下模态控制器上的"保存"按钮时发生的某些变化时,这一点特别有用.从iOS 8开始,如果UIAlertController在被取消时从模态呈现的视图控制器中显示,则UIAlertController也被解除.UIAlertController在用户可以阅读或自行解雇之前被解雇.我知道,一旦控制器被解除,我可以为模态控制器显示警报视图,但是这种情况会产生大量的额外工作,因为这个控制器在许多地方使用,并且必须向UIAlertController提供某些条件,要求在每种情况下将参数传递回控制器代表.有没有办法在控制器被解除的同时从模态呈现的控制器(或至少从控制器内的代码)显示UIAlertController,并让UIAlertController保持不变直到它被解除?
modal-dialog objective-c uiviewcontroller ios8 uialertcontroller
我之前没有看过这个错误,我搜索了为什么它可能发生但找不到任何信息:
CoreData:错误:严重的应用程序错误.在调用-controllerDidChangeContent:期间,从NSFetchedResultsController的委托中捕获到异常.UITableView内部错误:无法生成具有旧节数的新节映射:1和新节数:0与userInfo(null)
有谁知道这里会发生什么?我不确定"内部错误"部分 - 此错误是否表示我的代码存在问题或UITableView中存在错误?
iCloud Drive 和 CloudKit 有什么区别?哪个更适合存储手动、定期的应用程序文档备份?我确实看到了这个问题:
iCloud 与 iCloud Drive 与 CloudKit
但它是关于成本而不是实际服务之间的差异。
这是我在 iOS 11 之前用于隐藏单个 UITableViewCell 的分隔符的代码:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == 0) {
// Remove separator inset
if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
[cell setSeparatorInset:UIEdgeInsetsMake(0, tableView.frame.size.width, 0, 0)];
}
// Prevent the cell from inheriting the Table View's margin settings
if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {
[cell setPreservesSuperviewLayoutMargins:NO];
}
// Explictly set your cell's layout margins
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsMake(0, tableView.frame.size.width, 0, 0)];
}
}
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,每个部分的第一行的分隔符都隐藏。我不想完全摆脱分隔符 - 仅适用于某些行。
在 iOS 11 中,上述代码不起作用。单元格的内容被完全推到右边。
有没有办法完成在 iOS 11 …
我知道如何设置颜色并更改iOS 11中大标题的字体,但我很难找到大标题的默认字体和字体大小.我想在应用程序的其他地方重现该字体.我尝试了以下但是它们没有给出字体或字体大小的结果.不确定我应该在哪里寻找这个.
NSLog(@"self.navigationController.navigationBar.largeTitleTextAttributes:%@",self.navigationController.navigationBar.largeTitleTextAttributes);
NSDictionary *dict = self.navigationController.navigationBar.largeTitleTextAttributes;
UIFont *font = [dict objectForKey:@"NSFontAttributeName"];
NSLog(@"font is.. %@, %@, %@",font,font.fontName,font.fontDescriptor);
Run Code Online (Sandbox Code Playgroud) ios ×4
ios8 ×3
uitableview ×3
ios11 ×2
objective-c ×2
64-bit ×1
background ×1
backup ×1
cloudkit ×1
core-data ×1
debugging ×1
facebook ×1
fonts ×1
icloud-drive ×1
ios5 ×1
ios6 ×1
iphone ×1
large-title ×1
login ×1
logout ×1
modal-dialog ×1
nsnumber ×1
xcode ×1
xcode5 ×1