Git Product home page Git Product logo

strangeskills's Introduction

StrangeSkills

iOS开发的一些奇巧淫技, "奇巧淫技"并非是一些稀奇古怪的技术要点,也不是什么所谓的黑科学,只是一些平时可能会用到但有些又并不是很容易查询得到的小tips.
博客地址:http://chinafishnews.github.io

##
如何查看真机沙盒文件?

一:安装iFunBox或IExployer

二:在xcode的上部导航栏里,选择window -> Devices,找到目标app,双击选中项目,这样我们只能看到沙盒的目录结构,看不到实体文件。然后点击Download Container,下载后保存到桌面,右键显示包内容即可。

##
如何使用命令行进行打包?

一: 使用原生xcodebuild、xcrun 打开终端 cd到当前项目,使用如下两条命令即可。 ###如果项目没有使用cocoapods: xcodebuild -project 项目名.xcodeproj -target 项目名 -configuration Release(生成项目名.app文件)
xcrun -sdk iphoneos -v PackageApplication ./build/Release-iphoneos/项目名.app -o ~/Desktop/项目名.ipa(-o前为.app文件路径,-o后为生成的.ipa路径) ###如果使用cocoapods: xcodebuild -workspace Test.xcworkspace -scheme Test -configuration Release
xcrun -sdk iphoneos -v PackageApplication 项目名.app路径 -o ~/Desktop/Demo.ipa

二:使用xctool进行自动打包,是FaceBook开源的一个命令行工具,可使用brew安装(安装命令:sudo brew install xctool) ###如果项目没有使用cocoapods: xctool -scheme Demo archive -archivePath "Demo/“(会生成.xcarchive文件)
xcrun -sdk iphoneos -v PackageApplication ./Demo.xcarchive/Products/Applications/Demo.app -o ~/Desktop/Demo.ipa ###如果使用cocoapods: xctool -workspace Demo.xcworkspace -scheme Demo archive -archivePath "Demo”
xcrun -sdk iphoneos -v PackageApplication ./Demo.xcarchive/Products/Applications/Demo.app -o ~/Desktop/Demo.ipa

##
Xcode历史版本下载地址
https://developer.apple.com/downloads/

##
加急审核渠道链接(并非只是加急,包括向苹果申诉、修改appstore上相关信息等) https://developer.apple.com/appstore/contact/appreviewteam/index.html 也可以直接从ITunes右下角contact us也可以 但是无法填写相关文字描述

##
Autolayout及SizeClass示意图

##窗口中有多个responder,如何快速释放键盘

一:[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];

二:[self.view endEditing:YES];

##
如何去除UITableView中Group样式cell的边框

一: UIView *tempView = [[UIView alloc] init];
[cell setBackgroundView:tempView];
[cell setBackgroundColor:[UIColor clearColor]];

二:tableView.separatorColor=[UIColor clearColor];

##
如何解决colorWithPatternImage设置view背景色太占内存问题

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"main_landscape.jpg"]];
切换成self.view.layer.contents =[UIImage imageNamed:@"name.png"].CGImage;

##
App升级后如何删除NSUserDefaults全部数据

APP升级后,UserDefaults中原有的plist是不会删除的,除非用户卸载APP
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];

##
如何修改图片颜色

先设置图片的渲染模式为UIImageRenderingModeAlwaysTemplate,再设置tintcolor
self.imageView.image = [[UIImage imageNamed:@"back"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; self.imageView.tintColor = [UIColor redColor];
也可以在Asset catelog中设置render as

##
如何放大图片使之不失真且不产生锯齿

在Asset Catalog的Attribtues Pane中设置Single(前提是图片必须是矢量图) Vector为SingleVector

##
如何在拉伸图片的时候使之不变形

一:stretchableImageWithLeftCapWidth: topCapHeight:
二:在Xcode中选中图片,然后点击右下角的Show Slicing:

##
Storyboard中如何正确设置控件透明度 在直接设置alpha的情况下,如果上面有文字的话会随着透明度的变大而变得越来越不清楚。
此时应该这样设置 Background →0ther →0pacity

##[UIScreen mainScreen].bounds获取屏幕大小不对的问题 #define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width
#define iPhone6Plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242,2208),[[UIScreen mainScreen] currentMode].size) : NO)
在标准模式下
6+:
[[UIScreen mainScreen] currentMode].size为{1242,2208}
[UIScreen mainScreen].bounds.size为{414,736}
6:
[[UIScreen mainScreen] currentMode].size为{750,1334}
[UIScreen mainScreen].bounds.size为{375,667}

放大模式下(设置->显示与亮度->显示模式)
6+:
[[UIScreen mainScreen] currentMode].size为{1125,2001}
[UIScreen mainScreen].bounds.size为{375,667}
6:
[[UIScreen mainScreen] currentMode].size为{640,1136}
[UIScreen mainScreen].bounds.size为{320,568}

##Mac模式下如何将视频生成Gif文件 一:使用GifBrewery直接将视频转为gif文件(安装GifBreweryw密码:www.macx.cn)

二:安装ffmpeg ( brew install ffmpeg)使用ffmpeg使视频转为多张图片
( ffmpeg -i news.mov -r 10 -f image2 文件夹名/%05d.png)
然后使用PicGIF (将多张图片生成gif文件)

strangeskills's People

Contributors

chinafishnews avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.