Post not yet marked as solved
I was very happy when I saw this:
"You can embed a symbol inside a run of text by using string interpolation."
Text("Thalia… \(Image(systemName: "chevron.forward"))")
Unfortunately this is a feature of SwiftUI and not generally available string interpolation. In places where a string is expected like an Apple Watch Compilcation Text Provider
CLKSimpleTextProvider(text: "\(Image(systemName: "heart"))")
this doesn't return an inline Image but
"Image(provider: SwiftUI.ImageProviderBox<SwiftUI.Image.(unknown context at $18487da20).NamedImageProvider>)"
So…
Is there a way to include an SF Symbol in a regular string to wiggle it into a CLKSimpleTextProvider?
Post not yet marked as solved
The iOS 15 UITabBar is using filled SFSymbols, although I had specified outlined symbols!
Is it possible to get the UITabBar to behave like in iOS 14 and displaying the outlined symbols like intended?
TabView {
ArticleListView(articles: model.calls, title: "...").tabItem {
Text("Calls")
Image(systemName: "doc.append")
}
ArticleListView(articles: model.news, title: "...").tabItem {
Text("News")
Image(systemName: "newspaper")
}
ArticleListView(articles: model.events, title: "...").tabItem {
Text("Events")
Image(systemName: "calendar")
}
MoreView().tabItem {
Text("More")
Image(systemName: "ellipsis")
}
}
Post not yet marked as solved
15.0.1(19A348) arm64e
The addresses of the following symbols are all “00000001fc3e0a0c”
nm libswift_Concurr.dylib | grep "3e0a0c"
00000001fc3e0a0c S _$sScG11isCancelledSbvpMV
00000001fc3e0a0c S _$sScG7isEmptySbvpMV
00000001fc3e0a0c S _$sScM15unownedExecutorScevpMV
00000001fc3e0a0c S _$sScS12ContinuationV11TerminationO9hashValueSivpMV
00000001fc3e0a0c S _$sScT11isCancelledSbvpMV
00000001fc3e0a0c S _$sScT5valuexvpMV
00000001fc3e0a0c S _$sScT6results6ResultOyxq_GvpMV
00000001fc3e0a0c S _$sScT9hashValueSivpMV
00000001fc3e0a0c S _$sScTss5NeverORs_rlE5valuexvpMV
00000001fc3e0a0c S _$sScg11isCancelledSbvpMV
00000001fc3e0a0c S _$sScg7isEmptySbvpMV
00000001fc3e0a0c S _$sSct11isCancelledSbvpMV
00000001fc3e0a0c S _$sSct8priorityScPvpMV
00000001fc3e0a0c S _$sSct9hashValueSivpMV
00000001fc3e0a0c S _$ss19AsyncFilterSequenceV10isIncludedySb7ElementQzYacvpMV
00000001fc3e0a0c S _$ss19AsyncFilterSequenceV8IteratorV10isIncludedySb7ElementQzYacvpMV
00000001fc3e0a0c S _$ss22AsyncDropWhileSequenceV9predicateySb7ElementQzYacvpMV
00000001fc3e0a0c S _$ss23AsyncCompactMapSequenceV8IteratorV9transformyq_Sg7ElementQzYacvpMV
00000001fc3e0a0c S _$ss23AsyncCompactMapSequenceV9transformyq_Sg7ElementQzYacvpMV
00000001fc3e0a0c S _$ss24AsyncPrefixWhileSequenceV8IteratorV9predicateySb7ElementQzYacvpMV
00000001fc3e0a0c S _$ss24AsyncPrefixWhileSequenceV9predicateySb7ElementQzYacvpMV
00000001fc3e0a0c S _$ss27AsyncThrowingFilterSequenceV10isIncludedySb7ElementQzYaKcvpMV
00000001fc3e0a0c S _$ss27AsyncThrowingFilterSequenceV8IteratorV10isIncludedySb7ElementQzYaKcvpMV
00000001fc3e0a0c S _$ss30AsyncThrowingDropWhileSequenceV8IteratorV9predicateySb7ElementQzYaKcvpMV
00000001fc3e0a0c S _$ss30AsyncThrowingDropWhileSequenceV9predicateySb7ElementQzYaKcvpMV
00000001fc3e0a0c S _$ss31AsyncThrowingCompactMapSequenceV8IteratorV9transformyq_Sg7ElementQzYaKcvpMV
00000001fc3e0a0c S _$ss31AsyncThrowingCompactMapSequenceV9transformyq_Sg7ElementQzYaKcvpMV
00000001fc3e0a0c S _$ss32AsyncThrowingPrefixWhileSequenceV8IteratorV9predicateySb7ElementQzYaKcvpMV
00000001fc3e0a0c S _$ss32AsyncThrowingPrefixWhileSequenceV9predicateySb7ElementQzYaKcvpMV
00000001fc3e0a0c S _$ss9TaskLocalC11descriptionSSvpMV
00000001fc3e0a0c S _$ss9TaskLocalC12wrappedValuexvpMV
15.2(19C57) arm64e
The addresses of the following symbols are all “00000001ff0589a4”
nm libswift_Concurrency2.dylib | grep "1ff0589a4"
00000001ff0589a4 S _$sScG11isCancelledSbvpMV
00000001ff0589a4 S _$sScG7isEmptySbvpMV
00000001ff0589a4 S _$sScM15unownedExecutorScevpMV
00000001ff0589a4 S _$sScS12ContinuationV11TerminationO9hashValueSivpMV
00000001ff0589a4 S _$sScT11isCancelledSbvpMV
00000001ff0589a4 S _$sScT5valuexvpMV
00000001ff0589a4 S _$sScT6results6ResultOyxq_GvpMV
00000001ff0589a4 S _$sScT9hashValueSivpMV
00000001ff0589a4 S _$sScTss5NeverORs_rlE5valuexvpMV
00000001ff0589a4 S _$sScg11isCancelledSbvpMV
00000001ff0589a4 S _$sScg7isEmptySbvpMV
00000001ff0589a4 S _$sSct11isCancelledSbvpMV
00000001ff0589a4 S _$sSct8priorityScPvpMV
00000001ff0589a4 S _$sSct9hashValueSivpMV
00000001ff0589a4 S _$ss19AsyncFilterSequenceV10isIncludedySb7ElementQzYacvpMV
00000001ff0589a4 S _$ss19AsyncFilterSequenceV8IteratorV10isIncludedySb7ElementQzYacvpMV
00000001ff0589a4 S _$ss22AsyncDropWhileSequenceV9predicateySb7ElementQzYacvpMV
00000001ff0589a4 S _$ss23AsyncCompactMapSequenceV8IteratorV9transformyq_Sg7ElementQzYacvpMV
00000001ff0589a4 S _$ss23AsyncCompactMapSequenceV9transformyq_Sg7ElementQzYacvpMV
00000001ff0589a4 S _$ss24AsyncPrefixWhileSequenceV8IteratorV9predicateySb7ElementQzYacvpMV
00000001ff0589a4 S _$ss24AsyncPrefixWhileSequenceV9predicateySb7ElementQzYacvpMV
00000001ff0589a4 S _$ss27AsyncThrowingFilterSequenceV10isIncludedySb7ElementQzYaKcvpMV
00000001ff0589a4 S _$ss27AsyncThrowingFilterSequenceV8IteratorV10isIncludedySb7ElementQzYaKcvpMV
00000001ff0589a4 S _$ss30AsyncThrowingDropWhileSequenceV8IteratorV9predicateySb7ElementQzYaKcvpMV
00000001ff0589a4 S _$ss30AsyncThrowingDropWhileSequenceV9predicateySb7ElementQzYaKcvpMV
00000001ff0589a4 S _$ss31AsyncThrowingCompactMapSequenceV8IteratorV9transformyq_Sg7ElementQzYaKcvpMV
00000001ff0589a4 S _$ss31AsyncThrowingCompactMapSequenceV9transformyq_Sg7ElementQzYaKcvpMV
00000001ff0589a4 S _$ss32AsyncThrowingPrefixWhileSequenceV8IteratorV9predicateySb7ElementQzYaKcvpMV
00000001ff0589a4 S _$ss32AsyncThrowingPrefixWhileSequenceV9predicateySb7ElementQzYaKcvpMV
00000001ff0589a4 S _$ss9TaskLocalC11descriptionSSvpMV
00000001ff0589a4 S _$ss9TaskLocalC12wrappedValuexvpMV
Post not yet marked as solved
let time1cmt = CMTimeGetSeconds(playerOK.currentTime())
time1 = Double(time1cmt)
let time2cmt = CMTimeGetSeconds(playerOK.currentTime())
time2 = Double(time2cmt)
videoDif = (time2 - time1)
Now I'm using .currentTime() to get the start point and end point, but they don't seem to be accurate, is there any other way to get the time more accurately?