在iOS 8中,Apple允许我们通过Wifi直接连接到设备并与之共享wifi网络凭据.我们可以在wifi设置页面中进行,也可以在应用程序中进行.
我正在尝试启动扫描以查找wifi MFI设备.我可以在wifi设置中看到那些但不在应用程序中.我是这样做的:
EAWiFiUnconfiguredAccessoryBrowser *_wifiBrowser = [[EAWiFiUnconfiguredAccessoryBrowser alloc] initWithDelegate:self queue:nil];
[_wifiBrowser startSearchingForUnconfiguredAccessoriesMatchingPredicate:nil];
Run Code Online (Sandbox Code Playgroud)
所以我希望在委托方法中看到一个附件
- (void)accessoryBrowser:(EAWiFiUnconfiguredAccessoryBrowser *)browser didFindUnconfiguredAccessories:(NSSet *)accessories
Run Code Online (Sandbox Code Playgroud)
但是没有发生.你知道缺少什么吗?
谢谢
我的框架内的扩展中有一个方便的初始化程序。我想在我的项目的另一个扩展中使用它。它授予了我可以访问的所有内容的公共访问权限,但编译器一直说“由于‘内部’保护级别,初始化程序无法访问”......
这是我在框架中的扩展:
public extension UIColor {
public convenience init(hex: Int) {
self.init(red:(hex >> 16) & 0xff, green:(hex >> 8) & 0xff, blue:hex & 0xff)
}
}
Run Code Online (Sandbox Code Playgroud)
这是我在我的项目中的扩展:
import myFramework
extension UIColor {
class var backgroundGrey: UIColor {
return UIColor(hex: 0xe3e8eb)
}
}
Run Code Online (Sandbox Code Playgroud)
错误是当我调用 UIColor(hex) 时。
你知道这里有什么问题吗?
编辑:我添加了框架导入
我在phpStorm中遇到了问题.它不会自动完成,如PHP的基本功能var_dump,array_keys...
如果它可能有帮助:我将phpstorm从我的用户文件夹中的文件夹移动到/ opt文件夹.
我正在使用autolayout,我有一个RoundView类(UIButton的子视图),其drawRect方法是:
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGFloat lineWidth = 0.0;
CGContextSetLineWidth(context, lineWidth);
CGContextSetFillColorWithColor(context, _currentBackgroundColor.CGColor);
CGContextAddEllipseInRect(context, self.bounds);
CGContextFillPath(context);
}
Run Code Online (Sandbox Code Playgroud)
然后我将它添加到self(一个UIView),使用autolayout设置其宽度和高度.一切看起来都很棒.但是当我改变它的大小限制(有更大的视图),并调用
[self layoutIfNeeded];
Run Code Online (Sandbox Code Playgroud)
在动画块中,圆形像素看起来更大更难看.
我这样做的方法是否正确?

ios ×2
autocomplete ×1
autolayout ×1
drawrect ×1
ios8 ×1
mfi ×1
phpstorm ×1
swift ×1
wifi ×1
wifi-direct ×1