小编Pau*_*III的帖子

什么是iBeacon蓝牙配置文件

我想用一些蓝牙低能量开发套件创建我自己的iBeacon.Apple还没有发布iBeacons规范,但是一些硬件开发商已经反向使用AirLocate示例代码设计iBeacon并开始销售iBeacon开发套件.

那么iBeacon蓝牙配置文件是什么?

Bluetooth Low Energy使用GATT进行LE配置文件服务发现.所以我认为我们需要知道属性句柄,属性类型,属性值,以及iBeacon属性的属性权限.那么,对于UUID为E2C56DB5-DFFB-48D2-B060-D0F5A71096E0的iBeacon,主要值为1,次要值为1,蓝牙GATT配置文件服务是什么?

这是我在Apple论坛和文档讨论中做出的一些假设.

  1. 您只需要查看蓝牙外围设备的配置文件服务(GATT)即可知道它是iBeacon.

  2. Major和Minor键在此配置文件服务中的某处编码

有些公司使用iBeacon Dev Kits似乎已经有了这个数字:

希望我们能及时在Bluetooth.org上发布这样的个人资料:https://www.bluetooth.org/en-us/specification/adopted-specifications

reverse-engineering bluetooth ios bluetooth-lowenergy ibeacon

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

两个类别在同一个类上具有相同的方法名称

我注意到UIImageView上的AFNetworking和SDWebImage类别具有相同的方法名称.

AFNetworking:

- (void)setImageWithURL:(NSURL *)url {
    [self setImageWithURL:url placeholderImage:nil];
}

- (void)setImageWithURL:(NSURL *)url 
       placeholderImage:(UIImage *)placeholderImage
{
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    [request setHTTPShouldHandleCookies:NO];
    [request addValue:@"image/*" forHTTPHeaderField:@"Accept"];

    [self setImageWithURLRequest:request placeholderImage:placeholderImage success:nil failure:nil];
}

- (void)setImageWithURLRequest:(NSURLRequest *)urlRequest 
              placeholderImage:(UIImage *)placeholderImage 
                       success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))success
                       failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure
{
...
}
Run Code Online (Sandbox Code Playgroud)

和SDWebImage

- (void)setImageWithURL:(NSURL *)url
{
    [self setImageWithURL:url placeholderImage:nil options:0 progress:nil completed:nil];
}

- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder
{
    [self setImageWithURL:url placeholderImage:placeholder options:0 progress:nil completed:nil];
}

- …
Run Code Online (Sandbox Code Playgroud)

objective-c afnetworking sdwebimage

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

Xcode退出代码和信号

我环顾四周,从来没有找到一个完整的Xcode退出代码列表,尤其是与iOS合作.这个问题:以"退出状态5"为模拟器崩溃,除非我有断点,只是说我需要重新启动xcode来解决标记为"退出代码5"的常见问题.还有很多其他类似的问题.解决方案通常有效,但我不明白它们是如何工作的.下次我遇到这些退出代码时,我想知道它们的含义,这样我就可以更好地了解如何防止它再次发生.

什么是常见的Xcode信号和退出代码?

iphone xcode exit-code ios

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

使用相对URL在空中iOS Adhoc构建

我想在自己的服务器上分发我的Beta Adhoc版本.苹果用于通过无线方式安装应用程序的逻辑中似乎有两个重要的URL.

第一个网址是HTML:

<p><a href="itms-services://?action=download-manifest&url=http://www.example.com.cn/path/to/plist/theplist.plist">Adhoc Build</a></p> 
Run Code Online (Sandbox Code Playgroud)

第二个是plist文件

<dict>
    <key>kind</key>
    <string>software-package</string>
    <key>url</key>
    <string>http://www.example.com.cn/path/to/binary/app.ipa</string>
</dict>
Run Code Online (Sandbox Code Playgroud)

这些网址可以是相对的吗?我希望在我的开发机器(MAMP服务器)上使用相同的HTML和XML文件,首先测试我可以下载二进制文件,然后将adhoc构建发布到我的Web服务器(NGINX)上的测试人员.目前我只能用绝对网址来使用它.

我的想法是这两个相对的URL应该工作

<p><a href="itms-services://?action=download-manifest&url=/path/to/plist/theplist.plist">Adhoc Build</a></p> 
Run Code Online (Sandbox Code Playgroud)

<dict>
    <key>kind</key>
    <string>software-package</string>
    <key>url</key>
    <string>/path/to/binary/app.ipa</string>
</dict>
Run Code Online (Sandbox Code Playgroud)

当我使用这些相对URL时,当我点击"无法连接到(null)"时,我会从设备弹出一个

html xml ad-hoc-distribution ios

9
推荐指数
1
解决办法
3977
查看次数

在 SwiftUI 中,如何在 XcodePreview 中设置 editMode 的环境变量

给定这样的导航堆栈层次结构,其中将编辑按钮添加到另一个源文件中

struct ContentView : View {
  var body: some View {
    NavigationView {
      EditingView()
    }.navigationBarItems(trailing: EditButton())

  }
}
Run Code Online (Sandbox Code Playgroud)

使用编辑按钮的视图在代码库的其他地方

struct EditingView : View {

  @State var dataValue: String = "Initial Value"
  @Environment(\.editMode) var editMode

    var body: some View {
      VStack(alignment: .leading) {
        if self.editMode?.value == .inactive {
          Text(dataValue)
        } else {
          TextField(($dataValue))
        }
      }.padding()
        .navigationBarTitle("Lets edit some State")
        .navigationBarItems(trailing: EditButton())
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以在预览中以编程方式设置初始编辑模式吗?有没有办法使用环境在没有编辑按钮的情况下查看 EditingView?代码片段中显示了我发现工作的几种方法,但我希望我能找到一种方法来以编程方式使用环境设置和初始值。

#if DEBUG
struct EditingView_Previews : PreviewProvider {
  static var previews: some View {
    NavigationView {
      VStack …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

8
推荐指数
4
解决办法
9191
查看次数

快速组合 .repeat

我想创建一个重复功能,使用组合在我的代码中创建一个循环。我注意到,Combine 没有通过这个伟大的仓库重复发布:https://github.com/freak4pc/rxswift-to-combine-cheatsheet。这是我编写的代码,用于重复 2 个状态。如何将其简化为更具可读性或创建我自己的重复函数?

toggleShouldDisplay = Just<Void>(())
  .delay(for: 2, scheduler:RunLoop.main)
  .map({ _ in
    self.shouldDisplay = true
    self.didChange.send(())
  })
  .delay(for: 2, scheduler: RunLoop.main)
  .map({ _ in
    self.shouldDisplay = false
    self.didChange.send(())
  })
  .setFailureType(to: NSError.self)
  .tryMap({ _ in
    throw NSError()
  })
  .retry(.max) // I might hit Int.max if I reduce the delays
  .sink(receiveValue: { _ in
    //Left empty
  })
Run Code Online (Sandbox Code Playgroud)

reactive-programming swift combine

6
推荐指数
1
解决办法
4846
查看次数

Node.js 使用 nodemailer 发送带有图像附件的电子邮件

我正在尝试通过发布请求发送电子邮件。我正在使用 Express 和 nodemailer。我对“fs”感到困惑我的电子邮件正在发送,但图像未作为附件包含在内。我检查了文档,但它们似乎都发送了静态文件,而不是从表单请求中流式传输的文件。

var smtpTransport = nodemailer.createTransport("SMTP",{
  service: "Gmail",
  auth: {
    user: "gmail_address@gmail.com",
    pass: "password_for_gmail_address"
  }
});

app.get('/', function(req, res){
    res.send('<form method="post" enctype="multipart/form-data">'
      + '<p>Post Title: <input type="text" name="title"/></p>'
      + '<p>Post Content: <input type="text" name="content"/></p>'
      + '<p>Image: <input type="file" name="image"/></p>'
      + '<p><input type="submit" value="Upload"/></p>'
      + '</form>');
  })

app.post('/', function(req, res, next){
  var mailOptions = {
    from: "gmail_address@gmail.com", // sender address
    to: "somebodyelse@example.com", // list of receivers
    subject: req.body.title, // Subject line
    text: req.body.content, // plaintext body
    attachments:[
      {
        fileName: …
Run Code Online (Sandbox Code Playgroud)

email node.js express node-modules nodemailer

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

Xcode 6查看调试不可用

我正在调试我的项目并将其移动到支持iOS 8.在许多其他问题中,我注意到Xcode 6的新视图调试功能在调试栏中不可用,并且在"应用程序"菜单栏中也不可用.

是否有此功能的构建设置?

调试栏,视图调试图标应显示在最右侧

Debug菜单栏,查看调试显示为灰色

debugging xcode ios xcode6 ios8

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