小编Mic*_*hel的帖子

NSFontAttributeName vs NSAttributedStringKey.font

我在使用一段时间的库中使用Swift代码时遇到了一些麻烦.它似乎与某种版本冲突有关,但我不确定.

这是代码:

let attribMsg = NSAttributedString(string: msg,
                               attributes: [NSAttributedStringKey.font:UIFont.systemFont(ofSize: 23.0)])
Run Code Online (Sandbox Code Playgroud)

这是我从编译器得到的错误消息:

Type 'NSAttributedStringKey' (aka 'NSString') has no member 'font'
    Did you mean 'zone'?  Fix(button)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在不同的项目中使用此代码,我注意到在其中一些我没有得到错误消息,它都编译没有任何问题.

我还注意到,如果我用以下代码替换上面的代码:

let attribMsg = NSAttributedString(string: msg,
                               attributes: [NSFontAttributeName:UIFont.systemFont(ofSize: 23.0)])
Run Code Online (Sandbox Code Playgroud)

有问题的项目将起作用,而其他项目(以前正在工作)显示此另一条消息:

'NSFontAttributeName' has been renamed to 'NSAttributedStringKey.font'
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

换句话说,一些项目使用一种类型的代码,而另一些项目使用另一种类型.

不用说,每次从一个项目切换到另一个项目时,我都不想更改代码.

我改变项目部署目标的实验似乎并没有太大的区别.我的问题就出现了:处理这个问题的方法是什么?

ios swift3

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

如何批量减小 JPEG 图像上的文件大小 (/Mac)?

我在 Mac 上有一个 .JPG 文件列表。我想将它们导出为每个图像少于 500 KB 的格式。我知道如何使用预览应用程序一次一张图像来做到这一点;但我希望能够批量执行相同的操作,即一次处理多个文件。是否有命令行方式来执行此操作,以便我可以编写脚本并在终端中运行它?或者我可以使用的其他方式?

command-line jpeg batch-processing

8
推荐指数
2
解决办法
7355
查看次数

SwiftUI .onAppear,只运行一次

在一个SwiftUI应用程序中,我有这样的代码:

var body: some View {
    VStack {
        Spacer()
        ........
    }
    .onAppear {
      .... I want to have some code here ....
      .... to run when the view appears ....
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我想在.onAppear块中运行一些代码,以便在应用程序出现在屏幕上、启动后或在后台一段时间后运行。但似乎这段代码只在应用启动时运行一次,之后再也不运行了。我错过了什么吗?或者我应该使用不同的策略来获得我想要的结果?

ios swift swiftui onappear

8
推荐指数
2
解决办法
3311
查看次数

Firebase 上未调用 ref.once()

我对以下问题感到困惑。在制作一个小网页来查看 Firebase 上的一些数据时,在某些地方无法访问我想要的内容。\n当然,我知道服务器上的这个地方有一些东西。这是代码,似乎 localRef.once() 从未被调用。

\n\n
var dbLocalURL = "https://atinytestapp.firebaseio.com/MyList/rc99/";\nvar localRef = new Firebase(dbLocalURL);\nlocalRef.once("value", function(snapshot) {\n    // WE NEVER COME HERE !!!!\n    for (record in snapshot.val()) {\n        document.write(record)\n        var recordRef = new Firebase(dbLocalURL+record+"/");\n        recordRef.once("value", function(rcdSnapshot) {\n            var rcdData = rcdSnapshot.val();\n            document.write(rcdData[\xe2\x80\x9csomeKey\xe2\x80\x9d])\n        })\n    }\n}, function (errorObject) {\n    // WE NEVER COME HERE !!!!\n    console.log("The read failed: " + errorObject.code);\n    document.write("The read failed: " + errorObject.code);\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

我访问数据的页面在任何地方都能正常工作,除了一个具有上述行为的地方。\n此外,我还通过将其粘贴到浏览器中并查看我期望的数据来检查我使用的 URL 是否正确。\ n我可能会错过什么?我希望有人能给我提示。

\n

javascript firebase firebase-realtime-database

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

缺少推送通知权利.应用程序签名的权利不包括"aps-environment"

我现在正在使用Apple推送通知开发应用程序.

并且就测试而言,它工作正常,但Apple不断向我发送以下消息.

我已经在网上阅读,尽我所能避免这种情况.我的应用程序ID已启用推送通知,重新生成我的配置文件(多次),在Xcode首选项中刷新我的帐户和.... 但无论我做什么,它都会不断涌现.我错过了一些观点吗?或者我应该忽略它?我担心,如果我忽略它,我的应用程序可能会被拒绝.

有类似经历的人吗?

亲爱的开发者,

我们发现您最近为"TheAppABC"发送了一个或多个问题.您的投放成功,但您可能希望在下次发送时更正以下问题:

缺少推送通知权利 - 您的应用似乎包含用于向Apple推送通知服务注册的API,但应用签名的权利不包括"aps-environment"权利.如果您的应用使用Apple推送通知服务,请确保在配置门户中为推送通知启用了您的应用ID,并在使用包含"aps-environment"权利的配置配置文件对应用进行签名后重新提交.有关详细信息,请参阅"本地和推送通知编程指南"中的"供应和开发".如果您的应用不使用Apple推送通知服务,则无需执行任何操作.您可以从将来的提交中删除API以停止此警告.如果您使用第三方框架,则可能需要与开发人员联系以获取有关删除API的信息.

纠正问题后,您可以使用Xcode或Application Loader将新二进制文件上传到iTunes Connect.*

问候,

App Store团队

xcode objective-c apple-push-notifications ios provisioning-profile

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

缺少必需的架构x86_64

我有一个旧项目,我为一个uodate重新编译,它现在显示此错误消息:

 …. missing required architecture x86_64 in file myLibrary.a ….
Run Code Online (Sandbox Code Playgroud)

我尝试了各种技巧,我可以在搜索后在网上找到missing required architecture x86_64 in file,但没有成功.谁知道如何妥善处理这个问题?

我正在使用Xcode版本7.0.1.

运行:

lipo -info myLibrary.a
Run Code Online (Sandbox Code Playgroud)

说明:

Architectures in the fat file: myLibrary.a are: armv7 arm64 
Run Code Online (Sandbox Code Playgroud)

我已经能够添加armv7s但不能添加x86_64.

x86-64 cpu-architecture ios xcode7

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

locationManager:didChangeAuthorization 与 locationManagerDidChangeAuthorization

在使用SwiftUI和的 iOS 应用程序中CoreLocation。我需要密切关注用户授予的位置访问权限的状态。

查看 的文档CLLocationManagerDelegate,看起来我应该使用locationManagerDidChangeAuthorization方法。

问题是这个方法永远不会被调用(据我所知)。此外,另一个方法locationManager:didChangeAuthorization(应该被弃用)似乎可以完成这项工作。

如果有人有任何好的建议,请告诉我。

core-location ios swiftui

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

应用传输安全,异常域问题

在 iOS 应用中,我遇到了应用传输安全性问题:

我在网上阅读了很多帖子,但由于某种原因,我在 Info.plist 中设置的内容似乎被忽略了。我尝试了几种可能性,这是最后一种:

<plist version="1.0">
<dict>
    ……..
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>mydomain.net</key>
            <dict>
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
        </dict>
    </dict>
    ……..
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

但是无论我在 Info.plist 中设置什么,我都会收到此消息:

2016-03-25 13:21:17.234 MyApp[3587:1285514] App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
Run Code Online (Sandbox Code Playgroud)

我可能会错过什么?

info.plist ios app-transport-security nsapptransportsecurity

5
推荐指数
1
解决办法
1452
查看次数

MongoError:连接已破坏,无法实例化游标

在Heroku上运行应用程序时,将Parse-Server与mLab一起使用,我在日志中收到以下错误:

app[web.1]: /app/node_modules/parse-server/lib/ParseServer.js:481
app[web.1]:             throw err;
app[web.1]:             ^
app[web.1]: MongoError: connection destroyed, not possible to instantiate cursor
app[web.1]:     at nextFunction (/app/node_modules/mongodb-core/lib/cursor.js:607:55)
app[web.1]:     at Cursor.next [as _next] (/app/node_modules/mongodb-core/lib/cursor.js:692:3)
app[web.1]:     at fetchDocs (/app/node_modules/mongodb/lib/cursor.js:856:10)
Run Code Online (Sandbox Code Playgroud)

为了使事情变得更加复杂,在运行相同代码的同时,我不会一直都这样。

在网上搜索后,我发现尝试从数据库中读取100多个记录时会发生这种情况。这似乎与我观察到的一致。

不幸的是,我在网络上找不到任何解决该问题的方法。因此,我的问题是:我该如何处理此问题?

有什么办法可以将阈值从100提高到更高的值?或任何其他解决此问题的好方法?

如果这在这里可能有用,则执行该功能的代码。在大多数情况下,它像魅力一样工作。当提供的typKey恰巧匹配太多记录时,我遇到了上面提到的问题。

function get_List(displayPage, db, response) {
  db.collection('TheCollection', function (err, collection) {
    collection.find({"typeKey": "TYPE01"}).toArray(function(err, items) {
      if(err) throw err;

      response.render('pages/displayList.ejs', {
        dataArray: items
      });
    });
  });
}
Run Code Online (Sandbox Code Playgroud)

heroku mongodb parse-server

5
推荐指数
1
解决办法
4242
查看次数

列表中的奇怪按钮行为 (SwiftUI)

在下面的 SwiftUI 代码中,我注意到一些意外的行为。

我想知道这是否是一个错误,这是否正常,或者我是否只是错过了一些明显的东西。

List {
    ForEach(self.myList, id: \.self.name) {
        item in
        HStack {
            Spacer()
            Button(action: {
                print("Button One tapped!")
                ....
            }) {
                item.name.map(Text.init)
                    .font(.largeTitle)
                    .foregroundColor(.secondary)
            }
            Spacer()
            Button(action: {
                print("Button Two tapped!")
                ....
            }) {
                Image(systemName: "pencil.circle")
                    .font(.title)
                    .foregroundColor(.secondary)
                    .padding(.leading, 17)
            }
        }
    }
    .onDelete(perform: deleteFunc)
}
Run Code Online (Sandbox Code Playgroud)

现在,这是点击连续两个按钮之一时会发生的情况。我可以看到这两条消息:

Button One tapped!
Button Two tapped!
Run Code Online (Sandbox Code Playgroud)

我希望只看到一条消息,具体取决于点击的按钮。

如果消息的顺序根据点击的按钮而变化;我可以使用一两个布尔值来强制执行我想要的最终结果。但这两条消息总是以相同的顺序出现。

有人有同样的经历吗?或者有人看到任何错误吗?

button ios swift swiftui swiftui-list

5
推荐指数
1
解决办法
553
查看次数