logo
down
shadow

Allowing SwiftUI to import all Contacts and delete specific ones


Allowing SwiftUI to import all Contacts and delete specific ones

Content Index :

Allowing SwiftUI to import all Contacts and delete specific ones
Tag : ios , By : user179271
Date : January 11 2021, 03:34 PM

With these it helps You usually use ObservableObject for model/controller interaction. Making them published just allows me to assign the result to the variable.
It currently starts the fetch inside onAppear async since it would otherwise block UI loading and asking for Contacts wouldn't work.
import Contacts
import SwiftUI
import os

class ContactStore: ObservableObject {
    @Published var contacts: [CNContact] = []
    @Published var error: Error? = nil

    func fetch() {
        os_log("Fetching contacts")
        do {
            let store = CNContactStore()
            let keysToFetch = [CNContactGivenNameKey as CNKeyDescriptor,
                               CNContactMiddleNameKey as CNKeyDescriptor,
                               CNContactFamilyNameKey as CNKeyDescriptor,
                               CNContactImageDataAvailableKey as CNKeyDescriptor,
                               CNContactImageDataKey as CNKeyDescriptor]
            os_log("Fetching contacts: now")
            let containerId = store.defaultContainerIdentifier()
            let predicate = CNContact.predicateForContactsInContainer(withIdentifier: containerId)
            let contacts = try store.unifiedContacts(matching: predicate, keysToFetch: keysToFetch)
            os_log("Fetching contacts: succesfull with count = %d", contacts.count)
            self.contacts = contacts
        } catch {
            os_log("Fetching contacts: failed with %@", error.localizedDescription)
            self.error = error
        }
    }
}

extension CNContact: Identifiable {
    var name: String {
        return [givenName, middleName, familyName].filter{ $0.count > 0}.joined(separator: " ")
    }
}

struct ContactsView: View {
    @EnvironmentObject var store: ContactStore

    var body: some View {
        VStack{
            Text("Contacts")
            if store.error == nil {
                List(store.contacts) { (contact: CNContact) in
                    return Text(contact.name)
                }.onAppear{
                    DispatchQueue.main.async {
                        self.store.fetch()
                    }
                }
            } else {
                Text("error: \(store.error!.localizedDescription)")
            }
        }
    }
}

struct ContactsViewOrError: View {
    var body: some View {
        ContactsView().environmentObject(ContactStore())
    }
}

Comments
No Comments Right Now !

Boards Message :
You Must Login Or Sign Up to Add Your Comments .

Share : facebook icon twitter icon

import users gmail contacts to my website and send invitation to all their contacts


Tag : php , By : iyogee
Date : March 29 2020, 07:55 AM
To fix the issue you can do For google contacts: Google Contacts Data API
For yahoo contacts: Yahoo! Contacts API

Use Yahoo Contacts API to import all contacts using there API, using OAuth2 token


Tag : development , By : mlapida
Date : March 29 2020, 07:55 AM
may help you . Use the access token in there (the value of the access_token element) in a call like this:
curl -H "Authorization: Bearer <access_token>" https://social.yahooapis.com/v1/user/me/contacts?format=json

How to delete all email addresses with a specific domain in OS X Contacts using AppleScript?


Tag : development , By : TomL
Date : March 29 2020, 07:55 AM
it should still fix some issue I have a bunch of email addresses in my contacts that are the email addresses of their phone number provided to them from Verizon. , I haven't tried pbell's answer, but the script below worked for me.
tell application "Contacts"
    tell every person
        delete (every email whose value contains "vtext.com")
    end tell
    save
end tell

How to delete all android contacts that start with a specific name?


Tag : android , By : ponchopilate
Date : March 29 2020, 07:55 AM
With these it helps I want to delete all contacts from my android phone that starts with a "AAA" or that contains "AAA" . Here's what I tried: , Maybe this will get you on the right track:
ContentResolver mContentResolver = getContentResolver();
    private int deleteContactsLike(String name) {
    return mContentResolver.delete(
            ContactsContract.RawContacts.CONTENT_URI,
            ContactsContract.Contacts.DISPLAY_NAME
            + " like ?",
            new String[] { name + '%'});

Audience shows 0 contacts after a successful contacts import in Mailchimp


Tag : development , By : nickthecook
Date : March 29 2020, 07:55 AM
To fix the issue you can do The problem was that the two emails I attempted to import had existed and been deleted from this audience. The logic of not importing into an audience a contact that had been deleted holds water in my view. However, keeping this question around because the logic of reporting "2 contacts have been imported," and then showing an empty contact list seems counterintuitive and is bound to stump others.
Related Posts Related QUESTIONS :
  • What is the best way to write common code and use it entire project
  • UISegmentedControl inside UIStackView, segments text not centered - iOS 13
  • Swift & ObjC bridge - cannot find protocol declaration for "WKNavigationDelegate"
  • SwiftUI How to push to next screen when tapping on Button
  • 'NSApp' is unavailable in UIKit for Mac: How to embed Mac only framework in iOS app on macOS?
  • UserDefaults Binding with Toggle in SwiftUI
  • How to create a color with an alpha value using SwiftUI?
  • SwiftUI creates destination views before the user navigates to them
  • Streaming video from https with AVPlayer causes initial delay
  • Tap Action not working when Color is clear SwiftUI
  • SwiftUI NavigationButton: How to navigate to different destinations
  • Supported default light/dark mode colors for Color vs UIColor
  • XCUITest wait for a cell with a specific static text inside it
  • Not able to enable Development mode on iOS 13
  • How to hide the home indicator with SwiftUI?
  • How to write if condition with using label text (Int) values
  • Swift Cannot use instance member within property initializer
  • Issue while getting the frame of the keyboard
  • dynamicMemberLoookup ExpressibleByStringLiteral parameter swift
  • iOS Unity Firebase Messenger Xcode Compile Error: FIRDynamicLinks
  • Firebase Storage Image Cache not updating SWIFT
  • unhandled js exception: application main has not been registered expo TestFlight
  • App freezes on IOS when navigate to another screen - React Navigation
  • How to create haptic feedback for a Button in SwiftUI?
  • How can I achieve automatic scrolling in my text view when text comes down to the keyboard level in Swift?
  • how to get the location with the CLLocationManager every 10 secondes?
  • Calling completion handler of a function from Timer selector function Swift
  • How to make SwiftUI view fullscreen?
  • RAM, JSC, Views, UI and JS usage table appearing whenever I launch my react native app. How to remove this table?
  • Change status bar background color using UIStatusBarManager
  • Should we make tapGesture component an IBAction or IBOutlet to capture the tap event?
  • Iframe automatically goes full screen using Ionic 3.9.2 on iOS
  • How to calculate score out of 1000 given some seconds (In Double)
  • How to calculate time (minutes) between two dates in swift?
  • There was problem loading requested app.it looks like you may be using LAN URL
  • Swift circular corners doesn't work properly on different screen sizes
  • How change .navigationBarTitle font in SwiftUI?
  • What happens if `MPSCNNConvolutionDataSource` protocol's `load` method return false?
  • Why does the UIBarButtonItem not show up when I create it with code?
  • How to prevent following view controller inheriting navigation view controller bar?
  • What does it mean when .xcodeproj files are shown in red in Xcode?
  • Xcode SwiftUI how to scroll the Preview Canvas?
  • Expand tableview and increase scrollview content size by an appropriate difference on clicking a button inside a table c
  • xcodebuild failed with return code: 65 - using CLI/Appcenter but no error messages
  • "'isDeveloperModeEnabled' is deprecated: This no longer needs to be set during development. " What is isDevelo
  • Right click in UIKit for Mac
  • How we Support Dark Mode in Current iOS App with iOS 13?
  • Security vulnerablility issue in ios mobile app
  • How to set a background color for the viewController in swiftUI?
  • SwiftUI : Segue navigation
  • iOS 13 Custom UISearchBar _searchField crash
  • USDZ models have holes in SceneKit but not QuickLook
  • Why does iOS Password Autofill not prompt to save password on keychain?
  • Pushing information to firebase after event is created(Firebase-Realtime-Database)
  • Xcode 11 Beta and Carthage bootstrap
  • How to change the status bar background color and text color on iOS 13?
  • Using Core Data with SwiftUI
  • How should I do to wait all the data downloaded completely and show on TableView?
  • Can we specify the number of rows that can be shown in each section of a collection view
  • Why sometimes completion handler not called?
  • shadow
    Privacy Policy - Terms - Contact Us © scrbit.com