한국어

스마트폰앱

온누리070 플레이스토어 다운로드
    acrobits softphone
     온누리 070 카카오 프러스 친구추가온누리 070 카카오 프러스 친구추가친추
     카카오톡 채팅 상담 카카오톡 채팅 상담카톡
    
     라인상담
     라인으로 공유

     페북공유

   ◎위챗 : speedseoul


  
     PAYPAL
     
     PRICE
     

pixel.gif

    before pay call 0088 from app


2019.04.27 21:29:15 (*.214.126.152)
6717


https://codeburst.io/unique-identifier-for-the-ios-devices-590bb778290d



https://nshipster.com/uuid-udid-unique-identifier/




Unique Identifier for the iOS Devices

Why to Identify devices?

  • Did this device already consume a free trial?
  • Has this device paid for content but not linked that purchase to an account?
  • Was this device previously enrolled for offer by user?
What different approaches, we are aware and using it in our implementation?

1. Get a unique device ID and store that on the server. Since UDIDs are no longer allowed, that’s out.

[[UIDevice currentDevice] uniqueIdentifier]

2. Use something like the advertising ID. Trouble is, user can reset that and get a new one. Used only for serving advertisement.

3. Use something like vendor identifier. Uniquely identifies the device to the app’s vendor. The value changes when user deletes all the vendor’s apps from the device and reinstalls one or more of them.

4. Write a unique ID into the keychain or user preferences. User can delete app, reinstall, and redeem item again.

NSUUID *UUID = [NSUUID UUID];
NSString* stringUUID = [UUID UUIDString];

5. Rely on user login. But then the user can create a dummy account and keep redeeming multiple times.

To get more information you can check http://nshipster.com/uuid-udid-unique-identifier/

What’s new?

Apple has come up with the DeviceCheck framework in iOS 11.

Access per-device, per-developer data that your associated server can use in its business logic.
1*nofUfSLJhh4fXkNphrUZtA.png
Two bits of data

Using DeviceCheck API’s, in combination with a server-to-server APIs, developer can set and query two bits of data per device. It will also maintain the user privacy, by not disclosing any user or device information, which is the priority point for every Apple user and most point of concern of every mobile user.

NOTE: Developer are still responsible for keeping track of whether users has already redeemed offers that you have provided.

Use DeviceCheck APIs to ensure that this is a device which has been aligned to one user so that same device cannot be used with different users to redeem the promotions/offers.

Your app should use the DeviceCheck APIs to generate an ephemeral token that identifies a device. Your associated server combines this token with an authentication key that you receive from Apple and uses the result to request access to the per-device bits.

Let’s go steps by steps,

1. Query for token — Use DCDevice class has a generateToken method which will generate the token.

2. Send token to app server — Send received token to your application server.

3. Set two bits — Application server will responsible for sharing this token and set the bit value.

1*0TTSnnZMgD-ximfmI6GSqw.png
Initiate workflow

{

“device_token” : “wlkCDA2Hy/CfMqVAShslBAR/0sAiuRIUm5jQg0a…”

“transaction_id” : “5b737ca6-a4c7–488e-b928–8452960c4be9”,

“timestamp” : 1487716472000,

“bit0” : true,

“bit1” : false

}

4. Delete Application — Delete the application from device

5. Reinstall Application

6. Query for token

7. Send token to app server

8. Query two bit — Request to Apple to query bit state

{

“device_token” : “wlkCDA2Hy/CfMqVAShslBAR/0sAiuRIUm5jQg0a…”

“transaction_id” : “5b737ca6-a4c7–488e-b928–8452960c4be9”,

“timestamp” : 1487716472000

}

9. Response from Apple server 

{

“bit0” : true,

“bit1” : true,

“last_update_time”: “2017–06”

}

1*xGNZqFc-9nfkDps3GHM0rQ.png
After Delete & Reinstall of the application

//***************************************************************//

Class: DCDevice
This class represent the device and has only three methods as mentioned below,
class var current: DCDevice
The device for which to perform the check.
var isSupported: Bool
A Boolean value indicating whether the DeviceCheck APIs are available on the current device.
func generateToken(completionHandler: (Data?, Error?) -> Void)
Generates a token that identifies the current device.
Generate a new device token that can be used to get/set the persistent bits for this device. This call generates a new value every time.

//***************************************************************//

Reference:

WWDC 2017 — Session 702 — iOS, macOS, tvOS, watchOS

https://developer.apple.com/videos/play/wwdc2017/702/

https://developer.apple.com/documentation/devicecheck/accessing_and_modifying_the_per_device_data

번호
제목
글쓴이
55 Undefined symbols _AudioServicesPlaySystemSound 에러 조치방법
admin
2019-06-14 5166
54 OSX Daily
admin
2018-05-29 5166
53 How to set value for object in objective c 셋팅 값 저장 하기
admin
2019-05-04 5164
52 KeychainItemWrapper.h KeychainItemWrapper.m 다운로드 키체인 소스코드 file
admin
2019-06-14 5098
51 iOS objective c. Button. Label image color setting
admin
2019-06-10 5063
50 Objective-C NSString 관련 메소드 다루기
admin
2019-06-06 5001
49 iOS Objective-C로 하는 비동기 처리
admin
2019-05-03 4984
48 변수와 상수 - 왕초보를 위한 스위프트 프로그래밍 강좌[iOS app with xcode&swift]
admin
2019-01-15 4945
47 Java 쓰다가 Objective-C 문자열 다루기
admin
2019-05-16 4868
46 ios – NSDictionary 모든 키 명령
admin
2019-06-03 4848
45 Xcode objective c 변수 선언 전달
admin
2019-06-15 4847
44 Apple Developer Documentation
admin
2019-05-17 4845
43 How do I rename an Xcode project 프로젝트 이름변경 완벽하게 하는 방법 순서
admin
2019-04-21 4822
42 버튼 연결 - 왕초보를 위한 스위프트 프로그래밍 강좌[iOS app with xcode&swift]
admin
2019-01-15 4797
41 버튼 구현 - 왕초보를 위한 스위프트 프로그래밍 강좌[iOS app with xcode&swift]
admin
2019-01-15 4768
40 if~else 왕초보 스위프트 프로그래밍 강좌 iOS app development with xcode&swift
admin
2019-01-15 4752
39 UDID 무엇인가 계산하기
admin
2019-04-27 4612
38 카메라 & 마이크 퍼미션 요청 #12
admin
2020-01-18 4587
37 Apple Developer Certificates, Identifiers & Profiles Identifiers > App IDs 만들기
admin
2019-04-23 4544
36 아웃렛 & if~else 왕초보 스위프트 프로그래밍 강좌 iOS app development with xcode&swift
admin
2019-01-15 4518
35 How to find your Device ID (UUID) IOS
admin
2019-04-27 4503
34 개발자를 위한 OS X(>= Catalina) 설정
admin
2020-01-18 4467
33 GPL·AGPL·MPL 오픈소스SW 라이선스 의미 뜻 설명
admin
2019-04-27 4435
32 버전(Version)을 제대로 이해하기
admin
2019-04-08 4416
31 [iOS8] Today Extension (Widget) 개념 및 제약사항, 앱과의 데이터 공유
admin
2019-04-23 4352
30 델리게이트 delegate 무엇인가 잘된설명
admin
2019-04-11 4343
29 초보를 위한 CocoaPods 코코아팟 사용법 Xcode와 연동
admin
2019-04-30 4279
28 델리게이트 프로토콜 정확한 쉽게 이해 Objective C:- Protocol And Delegate in iOS
admin
2019-04-27 4234
27 UDID 사용 제한 정책 대안
admin
2019-04-27 4223
26 잘된 동영상 강의 책 보는 요령, 객체지향 역사, Objective C 기초 강의
admin
2019-04-23 4222