In September 2021, Apple released xcode13 and iOS15. Every year, apple requires developers to limit the submission of Xcode versions of market apps. The mobile securities App makes full time preparations to deal with the restrictions in advance.
At present, the company's project is adapting in advance, so it is recorded again.
1. Problem statistics
Showing All Messages : The Legacy Build System will be removed in a future release. You can configure the selected build system and this deprecation message in File > Workspace Settings. Xcode-〉file-〉Workspace Settings Select the new mode (projects used to use the old compilation mode) Showing All Messages /Users/xia/EssenceMobile_ios/project/axsc/tztMobileApp_axsc.xcodeproj Building for iOS, but the linked and embedded framework 'alivcffmpeg.framework' was built for iOS + iOS Simulator. Xcode-〉Build Setting-〉VALIDATE_WORKSPACE = YES; Showing All Messages Multiple commands produce '/Users/xia/Library/Developer/Xcode/DerivedData/tztMobileApp_axsc-bacmqduyvlscwtgrianwrtoxrvsm/Build/Products/Debug-iphonesimulator/tztMobileApp_axsc.app/MJRefresh.bundle': 1) That command depends on command in Target 'tztMobileApp_axsc' (project 'tztMobileApp_axsc'): script phase "Run Script" 2) That command depends on command in Target 'tztMobileApp_axsc' (project 'tztMobileApp_axsc'): script phase "[CP] Copy Pods Resources" Podfile install! 'cocoapods', :disable_input_output_paths => true /Users/xia/EssenceMobile_ios/Frameworks/TIFASDK/TIFASDK.xcodeproj The linked framework 'AxsThirdVendors.framework' is missing one or more architectures required by this target: i386. 'AxsThirdVendors.framework' lack i386 Architecture of [simulator compilation] TIFACustomButton _font;- >ax_font;
- Adjustment of compilation mode
,
- Changes to Podfile files
- build setting modify variable
2. Adaptation issues
Type collocation | phenomenon | programme |
---|---|---|
UITableView | Starting from iOS 15, TableView adds the sectionHeaderTopPadding attribute. By default, sectionHeaderTopPadding will have a height of 22 pixels. By default, TableView section header increases the height of 22 pixels | self.tableView.sectionHeaderTopPadding = 0 |
Save Album | After UIImageWriteToSavedPhotosAlbum stores the picture, the callback will no longer return the picture, but will return nil. If the image is operated in the callback method, it may directly Crash | The current solution is to declare a global image to record, and then operate later |
3. iOS15.2. Analysis on the impact of blocked Bug of system photo album permission
On December 15, Apple released the official version of iOS 15.2. Unfortunately, in this upgrade, obtaining album permission will be blocked under certain circumstances:
When the user has not applied for album permission, i.e
[PHPhotoLibrary authorizationStatus] != When phauthorizationstatusauthorized,
If [[PHPhotoLibrary sharedPhotoLibrary] registerChangeObserver:xxx] is called; If listening is added, it will get stuck. Apple Developer Forum also has feedback( https://developer.apple.com/forums/thread/696131 )At present, Apple has not responded. We can see that this problem exists in the 15.2 beta. We need to observe how Apple will deal with it in the future.
The temporary scheme can be judged before registration. If there is no permission, the observer will not be registered.
After IOS11, when the system accesses the album, even if it is the first time to access the album, the system does not pop up the pop-up box requiring user authorization. We need to pay attention to some app s with strict audit
- In the subsequent adaptation process, it is continuously updated until the adaptation is completed