小编Dav*_*d H的帖子

Xcode Simulator:如何删除旧的不需要的设备?

我正在运行Xcode 4.3.1 iOS-Simulator,它最初只支持iOS 5.1.

我需要使用iOS 4.3测试我的代码,所以我使用Xcode的"安装"功能来安装它,如"使用iOS 4.3设备模拟器安装Xcode?"中所述.

现在我已完成测试但无法找到卸载4.3部分的方法("iPhone 4.3模拟器"和"iPad 4.3模拟器").我想减少Scheme菜单中的混乱.

Apple的Xcode listserv上没有人知道答案!

编辑:请注意,自Xcode 4.3以来已经发生了很多变化,所以建议所有人阅读这些内容来了解​​所有答案.史蒂夫·莫泽(Steve Moser)这样的最新产品对您来说可能更有用!

编辑10/2017:由Julio Carrettoni在Twitter上发布

如果您是iOS开发人员,请执行以下操作:
$ xcrun simctl delete unavailable
删除Xcode不再使用的旧模拟器.对我来说这是6Gb我自己没试过......

[另外,我刚才看到Russ Bishop在下面的评论中提到了这个...]

xcode ios ios-simulator

200
推荐指数
12
解决办法
11万
查看次数

MFMailComposeViewController抛出viewServiceDidTerminateWithError,然后在使用自定义标题字体时退出

我遇到了很长一段时间里遇到的最奇怪的问题......而且我的想法已经用完了.

所以我有一个MFMailComposeViewController,它是通过点击UIButton启动的,它正在启动邮件编辑器视图.你看到我分配的主题,但在to:或body字段填充之前,窗口会闪烁并消失.它抛出此错误:

viewServiceDidTerminateWithError:Error Domain = XPCObjectsErrorDomain Code = 2"无法完成操作.(XPCObjectsErrorDomain error 2.)"

现在这里是疯狂的部分.如果我切换到另一个也使用MFMailComposeViewController的应用程序并启动那个,然后切换回我的应用程序并再次启动邮件编辑器,它工作得很好.我无法解释.

这似乎只是运行iOS 6且不是 iPhone 5的手机的问题.

我四处搜寻,似乎找不到其他人遇到同样的问题.有人有什么建议吗?

我已经将MessageUI.framework链接起来了,我也发现这不能在模拟器或设备上工作,但是当我还链接Security.framework时它开始在模拟器中工作,但它仍然不起作用在设备上.

我的启动MFMailComposeViewController的代码如下:

在.h文件中

#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>
Run Code Online (Sandbox Code Playgroud)

在.m文件中

-(void)displayComposerSheet {
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;

[picker setSubject:@"Support Request"];

// Set up recipients
NSArray *toRecipients = [NSArray arrayWithObject:@"support@domain.com"];

[picker setToRecipients:toRecipients];

// Fill out the email body text
NSString *emailBody = @"\n\nEmail from iOS";
[picker setMessageBody:emailBody isHTML:NO];

[self presentModalViewController:picker animated:YES];
}


// Dismisses the email composition interface when users tap …
Run Code Online (Sandbox Code Playgroud)

objective-c ios ios6

36
推荐指数
4
解决办法
9880
查看次数

如何在不推荐使用CaptiveNetwork后在iOS9中获取Wifi SSID,并且已经阻止了对Wifi名称的调用

直到今天,我使用CaptiveNetwork接口显示当前连接的Wifi的名称.iOS 9 Prerelease参考已经说过,CaptiveNetwork方法现在被删除了,但它们仍然在开始时工作.

有了最新版本,Apple似乎已经阻止了这个电话(可能是出于隐私问题?).

有没有其他方法来获得当前Wifi的名称?

这就是我今天获得SSID的方式,但你现在只获得nil:

#import <SystemConfiguration/CaptiveNetwork.h>

NSString *wifiName = nil;  
NSArray *interFaceNames = (__bridge_transfer id)CNCopySupportedInterfaces(); 

for (NSString *name in interFaceNames) { 
    NSDictionary *info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)name); 

    if (info[@"SSID"]) { 
        wifiName = info[@"SSID"]; 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios ios9

35
推荐指数
4
解决办法
4万
查看次数

UITextField secureTextEntry - 从YES转到NO,但是返回YES无效

以上说明了一切 - 我将UITextField设置为安全,但希望为用户提供使其不安全的选项(这样他们就可以确定如果他们在私有区域中输入了什么).但是,假设他们错误地点击了切换,并希望将其更改回安全模式?这不起作用.我已经尝试了一切 - 使用-1而不是YES,删除文本然后将其放回去.我完全失去了其他想法.[输入rdar:// 9781908]

编辑:我认为这个问题从iOS5开始修复.

uitextfield

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

在UINavigationController的UINavigationBar内部或顶部显示UIProgressView

我想要一个UIProgressView来显示导航栏底部的进度(就像在iOS 7中发送iMessage或短信一样).但是我在导航控制器的每个表视图视图中都需要这一点.所以对我来说很清楚:我必须将它添加到UINavigationController中.但问题是,不可能将UIProgressView添加到UINavigationController.所以我尝试了两件事:

我尝试以编程方式将其添加到UINavigationController的视图中.但问题是定位UIProgressView并在更改设备旋转时使其看起来很好.

我尝试的第二件事是将UIProgressView添加到每个UITableView,但是我真的必须为每个视图执行此操作.它也不好看,因为它不在导航栏的顶部,而是在它下面.但是我不喜欢第二种解决方案的主要原因是因为ProgressViews带有他们的TableView,所以你没有静态的,而是改变它们.

在此之后,我不知道这样做,所以我问你......有没有人知道如何做到这一点?

它应该是这样的: 在此输入图像描述

uinavigationbar uitableview uinavigationcontroller uiprogressview ios

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

- [NSNull length]:发送到JSON对象的无法识别的选择器

我正在使用最新的SDK开发iOS 5.0+应用程序.

我用这段代码得到一个非常奇怪的错误:

- (NSMutableURLRequest*)setupRequestWithService:(NSString*)service andMethod:(NSString*)method
{
    NSString* url = [NSString stringWithFormat:@"%@%@.svc/%@", serverUrl, service, method];

    NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url]];

    // Set authentication token.
    NSLog(@"???????????? %@", authenticationToken);
    if (authenticationToken == nil)
        NSLog(@"NULL AUTHTOKEN");
    if ([authenticationToken isEqual:[NSNull null]])
        NSLog(@"NSNULL AUTHTOKEN");
    if (request == nil)
        NSLog(@"NULL REQUEST");
    [request addValue:authenticationToken forHTTPHeaderField:REQUEST_HEADER_AUTH_TOKEN];

    return request;
}
Run Code Online (Sandbox Code Playgroud)

这是我的日志:

???????????? <null>
NSNULL AUTHTOKEN
-[NSNull length]: unrecognized selector sent to instance 0x3b5a5090
    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull length]: unrecognized selector sent …
Run Code Online (Sandbox Code Playgroud)

json ios

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

如何从视图控制器创建故事板segue到自身?

是否可以从视图控制器创建故事板segue到自身?我有一堆具有相关实体的实体.我希望能够使用显示实体的相同视图控制器显示相关实体.但我似乎无法创建一个将显示原始视图控制器的新实例的segue.

是不允许的?谢谢!

uiviewcontroller ios uistoryboard

13
推荐指数
1
解决办法
6781
查看次数

如何序列化包含NSNull的NSDictionary/NSArray/Property List(plist)

我想存储NSMutableDictionary一些空值NSNull,然后使用属性列表序列化这些数据.问题是NSNull不允许的,我得到"属性列表格式无效"错误.这有解决方法吗?似乎非常令人惊讶的是他们没有NSNull列入有效的plist对象列表.

cocoa serialization objective-c ios

12
推荐指数
3
解决办法
6698
查看次数

为什么iOS应用程序包中的PNG图像比我的项目中的大?

我正在为iOS 6更新Hungry Helga(iPhone和iPad版本),我的新应用程序包存档中的所有PNG文件都比我以前的版本大20%到40%.当然,这让我超过了50 MB的3G下载限制所以我真的想知道发生了什么.

我目前在OSX 10.7.5上使用4.5版的Xcode.如果我没记错的话,以前的版本是用Xcode 4.2构建的.我尝试在构建设置中打开和关闭PNG压缩,但这对包中的图像大小没有影响.

举一个具体的例子,我最大的PNG图像是1.9 MB作为源资产.旧应用程序包中为2.1 MB,新应用程序包中为2.5 MB.

Apple是否改变了PNG压缩器的工作方式,或者可能是我缺少的设置或其他东西?

xcode png ios

12
推荐指数
2
解决办法
2876
查看次数

如何将原生应用程序用于Web浏览器切换?

我已阅读文档,据我所知,使用Handoff我可以在特定网站和应用之间交换数据.

我有各种RSS源的精选列表,所有RSS源都指向不同的网站.我想让用户能够在他们的Mac上用Safari打开一个项目的链接(比如"更多"按钮)而不是iPhone上的Safari.

由于所有链接都来自不同的域,因此证书并不真正适用.是否可以使用Handoff在iOS应用中使用特定URL在Mac上打开Safari?如果这是可能的话,我无法从文档中理解.

ios ios8 handoff

11
推荐指数
1
解决办法
2304
查看次数