我在使用一段时间的库中使用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)
换句话说,一些项目使用一种类型的代码,而另一些项目使用另一种类型.
不用说,每次从一个项目切换到另一个项目时,我都不想更改代码.
我改变项目部署目标的实验似乎并没有太大的区别.我的问题就出现了:处理这个问题的方法是什么?
我在 Mac 上有一个 .JPG 文件列表。我想将它们导出为每个图像少于 500 KB 的格式。我知道如何使用预览应用程序一次一张图像来做到这一点;但我希望能够批量执行相同的操作,即一次处理多个文件。是否有命令行方式来执行此操作,以便我可以编写脚本并在终端中运行它?或者我可以使用的其他方式?
在一个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块中运行一些代码,以便在应用程序出现在屏幕上、启动后或在后台一段时间后运行。但似乎这段代码只在应用启动时运行一次,之后再也不运行了。我错过了什么吗?或者我应该使用不同的策略来获得我想要的结果?
我对以下问题感到困惑。在制作一个小网页来查看 Firebase 上的一些数据时,在某些地方无法访问我想要的内容。\n当然,我知道服务器上的这个地方有一些东西。这是代码,似乎 localRef.once() 从未被调用。
\n\nvar 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});\nRun Code Online (Sandbox Code Playgroud)\n\n我访问数据的页面在任何地方都能正常工作,除了一个具有上述行为的地方。\n此外,我还通过将其粘贴到浏览器中并查看我期望的数据来检查我使用的 URL 是否正确。\ n我可能会错过什么?我希望有人能给我提示。
\n我现在正在使用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
我有一个旧项目,我为一个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.
在使用SwiftUI和的 iOS 应用程序中CoreLocation。我需要密切关注用户授予的位置访问权限的状态。
查看 的文档CLLocationManagerDelegate,看起来我应该使用locationManagerDidChangeAuthorization方法。
问题是这个方法永远不会被调用(据我所知)。此外,另一个方法locationManager:didChangeAuthorization(应该被弃用)似乎可以完成这项工作。
如果有人有任何好的建议,请告诉我。
在 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
在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) 在下面的 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)
我希望只看到一条消息,具体取决于点击的按钮。
如果消息的顺序根据点击的按钮而变化;我可以使用一两个布尔值来强制执行我想要的最终结果。但这两条消息总是以相同的顺序出现。
有人有同样的经历吗?或者有人看到任何错误吗?
ios ×7
swiftui ×3
swift ×2
button ×1
command-line ×1
firebase ×1
heroku ×1
info.plist ×1
javascript ×1
jpeg ×1
mongodb ×1
objective-c ×1
onappear ×1
parse-server ×1
swift3 ×1
swiftui-list ×1
x86-64 ×1
xcode ×1
xcode7 ×1