source

Swift에서 iOS에 UUID 생성

gigabyte 2023. 4. 9. 21:34
반응형

Swift에서 iOS에 UUID 생성

iOS Swift 앱에서 테이블 키로 사용할 랜덤 UUID(GUID) 문자열을 생성하려고 하는데, 이 스니펫이 작동하는 것 같습니다.

let uuid = CFUUIDCreateString(nil, CFUUIDCreate(nil))

이것은 안전합니까?

아니면 더 나은(권장되는) 접근법이 있을까요?

이것을 사용해 보세요.

let uuid = NSUUID().uuidString
print(uuid)

스위프트 3/4/5

let uuid = UUID().uuidString
print(uuid)

NSUUID API를 사용할 수도 있습니다.

let uuid = NSUUID()

문자열 값을 다시 가져오려면uuid.UUIDString.

주의:NSUUID는 iOS 6 이상부터 이용 가능합니다.

Swift 4의 경우

let uuid = NSUUID().uuidString.lowercased()

Swift 3의 경우,Foundation유형에서 'NS' 접두사가 삭제되었으므로 다음 방법으로 액세스할 수 있습니다.UUID().uuidString.

너도can그것을 사용하다lowercase밑에

let uuid = NSUUID().UUIDString.lowercaseString
print(uuid)

산출량

68b696d7-320b-http2-a412-d9cee10fc6a3

감사해요!

매번 동일한 내용이 생성됩니다.

if let uuid = UIDevice.current.identifierForVendor?.uuidString {
    print(uuid)
}

새 파일이 생성될 때마다 다음을 수행합니다.

let uuid = UUID().uuidString
print(uuid)

UUID는 단순한 구조이며, 이 구조에는uuidString.uuidString- UUID에서 작성된 문자열(예: "E621E1F8-C36C-495A-93)을 반환합니다.FC-0C247A3E6E5F" 입니다.

UUID는 일의임보증합니다.

스위프트 코드:

let identifier = UUID().uuidString
Swift.print(identifier) // Result: "6A967474-8672-4ABC-A57B-52EA809C5E6D"

UUID에 관한 Apple 공식 문서.
기사 전문 https://tonidevblog.com/posts/how-to-generate-a-random-unique-identifier-with-uuid/

macOS 13 및 Swift 5.7에서는 Foundation의 UUID() 메서드는 실제로 대문자 UUID를 반환하며, Vapor Fluent는 이를 그대로 사용하는 적어도 하나의 프레임워크입니다.따라서 id=syslog로 새 레코드를 생성하면 Fluent가 새 대문자 UUID를 얻고 새 레코드와 함께 저장합니다.반면 MySQL은 소문자 UUID를 생성하고 MySQL에서 레코드를 작성하면 소문자 UUID를 저장합니다.MySQL과 SQLite 모두 대소문자를 Different로 처리합니다. 경고 비우기.

하지만... 이전 데이터 읽기 UUID를 사용하는 경우 UUID가 대문자 또는 소문자로 저장되었는지 여부는 중요하지 않습니다.열쇠 케이스를 바꾸지 않도록 확인만 하면 됩니다.

언급URL : https://stackoverflow.com/questions/24428250/generate-a-uuid-on-ios-from-swift

반응형