[Apple Photo Album Push] Add family protocol sendmail postfix MDA to indicate its AppID
Apple Push Notification service) is a push service provided by Apple that allows developers to send push messages to iOS devices.
For example, a set of values is: 1E58914B-6EE-50E8-9392 (← This value is generally general) My NIC MAC is: A1:B2:C3:D4:E5:F6, so this SMUUID is: 1E58914B-6EEA-After that 50E8 -9392 -A1B2C3D4E5F6 Paste the SMUUID into the location corresponding to Clover: Check the NIC MAC address: Open Terminal Enter IFConfig Enter the following image, the interposer for Ethernet is your MAC address format (A1:B2:C3:D4: E5:F6): BoardSerialNumber boardSerialNumber is a set of parameters generated by the device serial number + any 5 letters or number generated by Clover. For example, your Clover generated serial number is C02J8YTODNCT. For example, your fifth letter: ABCDE, then this BoardSerialNumber is: C02J8YTodnctabcde. Fill in the following image and create a file in JSON format. Apple will download the operating program application when we request this file. .
Recommended content IMESSGAE related
| Recommended content by the author ✈️@IMEAE | [iMessage Apple recommended software] *** Click to view the content information requested by the author |
|---|---|
| Recommended content by the author ✈️@IMEAE | [1. Family promotion, photo album promotion, calendar promotion content] *** Click to view the content information requested by the author |
| Recommended content by the author ✈️@IMEAE | [2.iMessagePush on behalf]*** Click to view the content information requested by the author |
| Recommended content by the author ✈️@IMEAE | [3.iMessage push system] *** Click to view the content information requested by the author |
| Recommended content by the author ✈️@IMEAE | [4.IM group messaging protocol push] *** Click to view the content information requested by the author |
| Recommended content by the author ✈️@IMEAE | [5.iMessage push device] *** Click to view the content information requested by the author |
JDK1.5 new features
- Variable parameters of the method: array public static int add(int ... arr) { int length = arr.length; int sum = 0; for(int i =0; i < length; i++) { sum = sum + arr[i]; } return sum; } Use … to represent variable parameters in methods
The variable parameter must be placed at the end of the method parameter and there must be only one;
2.for-each statement (no more detailed explanation) 3. Dynamic import (import) (understand) import static imports all static fields (methods and attributes) of a class, Manipulate the static fields of the imported class as if they were defined in this class; After using static import, you can call the method in that package directly without adding the class name;
Note: Static import is not recommended;
- Generic (typical goalkeeper) Definition: The type of a class or method is not determined when it is defined. It must be a model when it is used.
alt+insert fast import (such as getter(), setter())
ClassCastException (RuntimeException): An exception occurs between two unrelated classes during forced transfer.
Security risks: Existing in forced transfer, generics can prevent the security risks of downward transformation;
4.1 Generics: The type is not determined at the time of definition, and the type can only be determined when used carefully. 4.2 Generic classes class MyClass<T, E> { //Generic classes can handle multiple types private T t; private E e; }
Black Apple often displays FaceTime and IMessage and cannot log in normally. To log in normally, you need to mention a 3-digit code, and some posts are even copied above real red Macs. But actually, I hope the above service will be used normally, we need to add the parameters of SMUUID, BoardSerialNumber and MLB and ROM. Afterwards, you can enter the domain name/Apple-App-site association or the domain name/ink core tool Known/Apple-App-Site-Ksociation download in your browser. Place a well-placed link to call the app by configuring the device, re-download and install the app (with the configured domain name in Xcode), enter the regular link in Safari, open the app, and if required this value Or open the program in the application. For example, the NIC MAC is: A1-B2-C3-D4-E5-F6, then the ROM is: A1B2C3D4E5F6MLB, your BoardSerialNumber. Paste the price in BoardSerialNumber.
(void)removeAllNotification { if (@available(iOS 10.0, *)) { UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; [center removeAllPendingNotificationRequests]; }else { [[UIApplication sharedApplication] cancelAllLocalNotifications]; } } Check authorization - (void )checkUserNotificationEnable { // Determine whether the user is allowed to receive notifications if (@available(iOS 10.0, *)) { __block BOOL isOn = NO; UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; [center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) { if (settings.notificationCenterSetting == UNNotificationSettingEnabled) { isOn = YES; NSLog(@"Notification turned on"); }else { isOn = NO; NSLog(@"Notification turned off");
[self showAlertView]; } }]; }else { if ([[UIApplication sharedApplication] currentUserNotificationSettings].types == UIUserNotificationTypeNone){ NSLog(@"Notification closed"); [self showAlertView]; }else { NSLog(@" Notification turned on"); } } } - (void)showAlertView { UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Notification" message:@"Not got notification rights, please go and set up" preferredStyle:UIAlertControllerStyleAlert]; [alert addAction ; ]; [self presentViewController:alert animated:YES completion:nil]; } // If the user turns off the notification function, this method can jump to the APP settings page for modification - (void)goToAppSystemSetting { dispatch_async(dispatch_get_main_queue(), ^{ UIApplication *application = [UIApplication sharedApplication]; NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; if ([application canOpenURL:url]) { if (@available(iOS 10.0, *))
Recommended content IMESSGAE related
| Recommended content by the author ✈️@IMEAE | [iMessage Apple recommended software] *** Click to view the content information requested by the author |
|---|---|
| Recommended content by the author ✈️@IMEAE | [1. Family promotion, photo album promotion, calendar promotion content] *** Click to view the content information requested by the author |
| Recommended content by the author ✈️@IMEAE | [2.iMessagePush on behalf]*** Click to view the content information requested by the author |
| Recommended content by the author ✈️@IMEAE | [3.iMessage push system] *** Click to view the content information requested by the author |
| Recommended content by the author ✈️@IMEAE | [4.IM group messaging protocol push] *** Click to view the content information requested by the author |
| Recommended content by the author ✈️@IMEAE | [5.iMessage push device] *** Click to view the content information requested by the author |
Register a developer account and create a push certificate: You need to register an Apple developer account and create a developer certificate for push services. These certificates are used for authentication and authorization.
Configure application push settings: In your Apple developer account, you need to configure the application's push settings, including enabling push services, configuring certificates, and setting up push notification content and activities.
During the use process, a bug message appeared in the adjustment after iOS 9: This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes. This will cause an exception in a future release. AFSessionManager *mgr = [AFHTTPSessionManager manager]; [mgr.responseSerializer setAcceptableContentTypes: [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil]]; NSMutableDictionary * dict = [NSMutableDictionary dictionary]; dict[@"id"] = @"123456789";//
NSDictionary *dict = array[0]; if ([dict[@"version"] floatValue] > [subVersion floatValue]) { //If you have this version, please be careful here. If your version number is 1.1 .1 or 1.1.1.1, this format cannot be directly converted to floatValue, so I have to be more decisive. UIWindow *alertWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; alertWindow.rootViewController = [[UIViewController alloc] init]; alertWindow.windowLevel = UIWindowLevelAlert + 1; [alertWindow makeKeyAndVisible]; UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Update reminder" message:@"A new version has been found. To ensure that all functions can be used normally, please update first."
Obtain a device token: Every iOS device has a unique device token that identifies the device. You need to implement the remote notification registration flow in your application to obtain the device token and send it to your server.
Create a connection with APNs: On your server side, you need to use the APNs protocol to establish a connection with APNs. APNs provides a binary communication protocol based on HTTP/2 or older.
Create a push request: Once connected to APNs, you can create a push request and send the relevant information of the push message to APNs. The push request includes information such as device token, push title, content, sound, etc.
Process push responses: APNs will process your push requests and return push responses. You need to handle these responses on the server side to know whether the push was successful and how to handle possible errors or corruptions.
It should be noted that communicating with APNs requires specific development skills and programming knowledge. You can use Apple-provided development tools (such as Xcode) and related development languages (such as Swift or Objective-C) to communicate with APNs and push results.
Apple provides