新版本发布总会有很多坑,也会有很多改动。
一个一个填吧。。。
一、遇到的问题1、权限以及相关设置
iOS10系统下调用系统相册、相机功能,或者苹果健康都会遇到闪退的情况,调用系统相册报错描述如下:
This app has crashed because it attempted to access privacy-sensitive data without a usage description.The app’s Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data解决办法(fix method):在info.plist —Source Code中添加UsageDescription相关的key, 描述字符串自己随意填写就可以,但是一定要填写,不然会引发包无效的问题,导致上传打包后构建版本一直不显示。
<span class="hljs-comm ...
> 让Xcode8插件继续工作
起因XcodeGhost事件终于让苹果开始重视iOS上的安全了。限制企业证书的发放,吊销非法使用的企业证书,加强AppStore审核机制等等,这次又开插件开刀了。苹果把Xcode插件以Extension的形式集成到了Xcode8中,其实早应该规范起来了。苹果加了一步验证,之前安装插件都不能正常使用了。
解决方法
创建自签名证书打开钥匙串,选中登录, 钥匙串访问->证书助理->创建证书
证书类型选择代码签名
创建成功后检查钥匙串里有没有这个证书
用创建的XcodeSigner证书给Xcode重新签名
sudo codesign -f -s XcodeSigner /Applications/Xcode.app
git clone https://github.com/XVimProject/XVim/
cd XVim
make
最后运行下面的命令
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist ...
升级Xcode8;真机调试提示:“.app: resource fork, Finder information, or similar detritus not allowed”
分别进入工程目录与DerivedData目录;执行 “xattr -rc .”;解决
同行可能会检索到此以节省时间,记录之。
参考:
https://forums.developer.apple.com/thread/48726
https://forums.developer.apple.com/thread/48905
1.打开钥匙串访问(要导出开发者就选择开发,要生产环境就选择生产环境)
2.右上角点击导出证书
3.把证书导出储存在硬盘上
5.在开发者中心建立APPID的时候请导入刚才的证书。建立APPID并且下载点击导入你的钥匙串
6.导出APP.p12证书
输入密码,必须要记住。不然忘记了又得重新导出
然后利用Onesignal或者Firebase制作推送功能。当然腾讯和百度都是这样做,但是Sandy担心别加广告什么的你懂得!
利用Onesignal做消息推送功能(iOS篇)
利用Onesignal做消息推送功能,这个网站支持多平台。废话不多说……这里教程是怎么导入证书
1.申请账户:https://onesignal.com/
2.建立APP
写入你的APP名字,这个随便写(支持中文)
选择你需要的平台。这里的教程是iOS,那么我们当然选择Apple iOS了
导入p12证书,我们在另外一个教程上有说到过(iOS推送证书导出教程)。请查看
导入好的状态是这样。分别是开发者证书和生产环境证书
然后推送消息就这么简单!
升级XCode 8 betaXCode 8 Beta使用了iOS 10 SDK为默认的SDK;目前的工程,使用XCode 8 Beta编译时,提示了一些警告信息。
Method possibly missing a [super awakeFromNib] call使用XCode 7时并没有报出这样的警告,其实故名思议,需要在awakeFromNib方法里面调用其父类的方法。
1
2
3
4
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
}
关于这点,Apple的官方文档中也有说明:
> You must call the super implementation of awakeFromNib to give parent classes the opportunity to perform any additional initialization they require. Although the default implementation of this ...
最近写api但是又不想让PC端访问。网上找了一些方案总是没什么用,自己结合网上的办法和COO大仙给的建议。做成如下限制
1location /app/ {if ($http_user_agent !~* "firefox 自己定于,sandy是MD5生成32位") {rewrite ^/(.*) http://blog.e9china.net/ redirect;}}
把firefox换成你自己的浏览器头中包含的字符串
如果不包含就跳转到Sandy博客
将地址改成你的app下载地址就行了
IOS下设置:
找到AppDelegate
在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions加入
1//get the original user-agent of webviewUIWebView *webView = [[UIWebView alloc] initWit ...
查看shadowsocks连接人数
netstat -an | grep 8989 | grep ESTABLISHED | wc -l
由于shadowsocks使用的是sockets5代理,一般情况下只有浏览器支持,可以实现科学上网。但很多用户希望自己的应用软件,像outlook或游戏之类的软件也实现科学上网。这就需要proxifier的配合。
软件可以在官网下载,https://www.proxifier.com/
官网无法下载的也可在如下百度网盘下载,
Mac,http://pan.baidu.com/s/1mgj58jI 密码:z5viWindows,http://pan.baidu.com/s/1jG48scu 密码:qsmj
目前仅支持windows和mac os,不支持手机。
此软件为收费软件,这里提供两个注册码, 软件分为Standard Edition和Portable Edition版本,注册码不通用,注册用户名任意。
L6Z8A-XY2J4-BTZ3P-ZZ7DF-A2Q9C(Portable Edition)
5EZ8G-C3WL5-B56YG-SCXM9-6QZAP(Standard Edition)
P427L-9Y552-5433E-8DSR3-58Z68(MAC)打开软件,首先配置代理 ...
网上的一些一键安装真害人,手欠执行了rm命令,博客回档到6月23日的了!血的教训不能随便去执行一键安装的东西~