快速找到app的文件夹
xcrun simctl get_app_container booted yourbundleId
获取App的信息包括以上path
xcrun simctl appinfo booted yourbundleId
页面设配
if (@available(iOS 11.0, *)) {
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
self.automaticallyAdjustsScrollViewInsets = NO;
}
相册权限
权限设置使用UIImageWriteToSavedPhotosAlbum(nil,nil,nil,nil);这种方法保存图片到相册,在原来的增加NSPhotoLibraryUsageDescription的基础上需要增加权限:NSPhotoLibraryAddUsageDescription
NSPhotoLibraryAddUsageDescription这个权限只有在保存图片到相册的时候才会触发,在iOS11之前NSPhotoLibraryUsageDescription包括用户的读写权限,iOS11后NSPhotoLibraryUsageDescription只有读的权限,NSPhotoLibraryAddUsageDescription有写的权限。
这个不需要权限
[[PHPhotoLibrarysharedPhotoLibrary]performChanges:^{
PHAssetChangeRequest*photoAsset = [PHAssetChangeRequestcreationRequestForAssetFromImage:image];
}completionHandler:^(BOOLsuccess,NSError*_Nullableerror) {
}];
在 Xcode 中使用模拟器的 Full-screen 模式
sudo mkdir /AppleInternal
自定义NameColor
APP 在iPhone X上无法全屏
使用Assets添加一张 1125 x 2436 的LaunchImage
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "2436h",
"filename" : "IOS开机X.png",
"minimum-system-version" : "11.0",
"orientation" : "portrait",
"scale" : "3x"
}
xcode9新打包要在构建版本的时候加入1024*1024 AppSore icon
iPhone X 头部&底部
StatusBar 高44px,NavigationBar 高44px 底部tabBar高83px
如果设置了 prefersLargeTitle = YES NavigationBar 则为96pt
放在导航栏上面的searchBar消失不见
自定义view,之后
-(CGSize)intrinsicContentSize {
return UILayoutFittingExpandedSize;
}
iOS 11之后隐藏或者删除系统控件 比如tabbar
需要在此后调用
- (void)viewDidAppear:(BooL)animated {
[super viewDidAppear:animated];
[self.tabBar removeFromSuperview];
}
iOS11 之后,跳转App Store评论
AppStoreAppId ];
NSURL * url = [NSURL URLWithString:appstoreUrlString];
if ([[UIApplication sharedApplication] canOpenURL:url]){
[[UIApplication sharedApplication]openURL:url];
}else{
WKLog(@"can not open");
}
注意:把里面的XXX替换成你自己的APP ID
navibarItem
firstButton.contentHorizontalAlignment =UIControlContentHorizontalAlignmentLeft;
[firstButton setImageEdgeInsets:UIEdgeInsetsMake(0,5 *kScreenWidth /375.0,0,0)];
UIBarButtonItem *leftBarButtonItem = [[UIBarButtonItemalloc]initWithCustomView:firstButton];
self.navigationItem.leftBarButtonItem = leftBarButtonItem;
隐藏homeIndicator
-(Bool)prefersHomeIndicatorAutoHidden
也不会立即隐藏 而是交给系统去判断,当系统认为时机合适时给与隐藏(比如控制器一段时间内没有事件交互)不合适的时候(有事件交互) 还是会显示出来