<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ios &#8211; A.X.MEMO</title>
	<atom:link href="https://axmemo.com/tag/ios/feed" rel="self" type="application/rss+xml" />
	<link>https://axmemo.com</link>
	<description>I will be here, in your future!</description>
	<lastBuildDate>Fri, 22 Feb 2019 14:52:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.7</generator>
	<item>
		<title>Bark：实现私有iOS推送服务</title>
		<link>https://axmemo.com/technology/use-bark-to-push-ios-notification.html</link>
					<comments>https://axmemo.com/technology/use-bark-to-push-ios-notification.html#respond</comments>
		
		<dc:creator><![CDATA[A.X]]></dc:creator>
		<pubDate>Fri, 22 Feb 2019 01:49:15 +0000</pubDate>
				<category><![CDATA[技术分享]]></category>
		<category><![CDATA[移动终端]]></category>
		<category><![CDATA[bark]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[消息推送]]></category>
		<guid isPermaLink="false">https://axmemo.com/?p=4011</guid>

					<description><![CDATA[现在如果你想在电脑和手机之间传送一些文本消息，绝大多数你会选择用微信的文件传输助手，我一直在寻找一种更加轻便快捷的消息传递方式，而通过iOS的推送服务似乎是其中最方便快捷的方式，可是很久以来都没有找到特别合适的软件。虽然其实类似的软件的确有一些，但是要么不稳定，要么应用服务太复杂了，直到最近几天我看到了这个软件。 Bark是一个很简单的软件，它的作用就是把你的文本消息以iOS的标准的通知方式推送到你的手机上，看起来这是一个很不起眼的作用，但最大的优势在于，这个服务的服务端是可以自行搭建，而且整个项目都是在GitHub上面开源的。这也就意味着说，你可以放心你传递的消息仅存放在自己的服务器和Apple的推送服务器上，而且你可以有效的管控服务的稳定性。 现在你可以在App Store里面找到这个叫做Bark的程序，安装完成之后，其实你就可以进行推送了，软件的开发者提供了一个位于北京腾讯云的服务器提供消息中转服务，使用方式很简单，你直接在地址栏输入相应的地址就可以推送消息了，同时爱好者也提供了Chrome扩展，这是一个更方便的使用方式。 简单的应用就不说了，下面我们来说说如何搭建自己的Bark推送服务器。作者在个人网站上提供了详细的安装说明，你只需要根据自己的服务器版本获取对应的服务器应用就可以了，安装完成以后，通过命令行可以将该服务运行到指定的端口上，例如： ./Bark_linux_amd64 -ip=0.0.0.0 -port=10080 是不是看着http连接很不爽，我们来想办法换成https连接吧，操作的方式就是在这台服务器上再部署一套Nginx服务，然后注册免费的SSL证书，先把网站的SSL连接建立起来，然后再通过配置Nginx的反向代理，将标准的443端口的请求转发到我们配置的10080端口上就可以了。完成这一步之后，你就可以在软件里面配置通过https链接了。 最后我们要做的是将这个应用做成系统服务，并进行守护，我采用的是systemd的方式来实现的，具体的操作方式大家自行搜一下就可以了，配置完成之后，将所有服务重启一次，然后确认后台查看指定的服务端口和进程正确启动，然后在手工杀一次进程看看是否正常被重新唤醒，如果一切OK，那就好了！ 由于隐私的问题，并不能把这私有的IOS推送服务器公布给大家，我把服务器部署在一台LA的CN2 GIA服务器上，响应速度还是很快的，希望本文的内容能给你带来帮助。]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" loading="lazy" style="border: 0px currentcolor; display: inline; background-image: none;" title="bark" src="https://axmemo.com/wp-content/uploads/2019/02/bark.jpg" alt="bark" width="625" height="252" border="0" /></p>
<p>现在如果你想在电脑和手机之间传送一些文本消息，绝大多数你会选择用微信的文件传输助手，我一直在寻找一种更加轻便快捷的消息传递方式，而通过iOS的推送服务似乎是其中最方便快捷的方式，可是很久以来都没有找到特别合适的软件。虽然其实类似的软件的确有一些，但是要么不稳定，要么应用服务太复杂了，直到最近几天我看到了这个软件。<span id="more-4011"></span></p>
<p>Bark是一个很简单的软件，它的作用就是把你的文本消息以iOS的标准的通知方式推送到你的手机上，看起来这是一个很不起眼的作用，但最大的优势在于，这个服务的服务端是可以自行搭建，而且整个项目都是在<a href="https://github.com/Finb/Bark">GitHub上面开源</a>的。这也就意味着说，你可以放心你传递的消息仅存放在自己的服务器和Apple的推送服务器上，而且你可以有效的管控服务的稳定性。</p>
<p>现在你可以在App Store里面找到这个叫做<a href="https://itunes.apple.com/cn/app/bark-customed-notifications/id1403753865">Bark</a>的程序，安装完成之后，其实你就可以进行推送了，软件的开发者提供了一个位于北京腾讯云的服务器提供消息中转服务，使用方式很简单，你直接在地址栏输入相应的地址就可以推送消息了，同时爱好者也提供了<a href="https://chrome.google.com/webstore/detail/bark/pmlkbdbpglkgbgopghdcmohdcmladeii">Chrome扩展</a>，这是一个更方便的使用方式。</p>
<p>简单的应用就不说了，下面我们来说说如何搭建自己的Bark推送服务器。作者在个人网站上提供了详细的<a href="https://day.app/2018/06/bark-server-document/">安装说明</a>，你只需要根据自己的服务器版本获取对应的服务器应用就可以了，安装完成以后，通过命令行可以将该服务运行到指定的端口上，例如：</p>
<blockquote><p>./Bark_linux_amd64 -ip=0.0.0.0 -port=10080</p></blockquote>
<p>是不是看着http连接很不爽，我们来想办法换成https连接吧，操作的方式就是在这台服务器上再部署一套Nginx服务，然后注册免费的SSL证书，先把网站的SSL连接建立起来，然后再通过配置Nginx的反向代理，将标准的443端口的请求转发到我们配置的10080端口上就可以了。完成这一步之后，你就可以在软件里面配置通过https链接了。</p>
<p>最后我们要做的是将这个应用做成系统服务，并进行守护，我采用的是systemd的方式来实现的，具体的操作方式大家自行搜一下就可以了，配置完成之后，将所有服务重启一次，然后确认后台查看指定的服务端口和进程正确启动，然后在手工杀一次进程看看是否正常被重新唤醒，如果一切OK，那就好了！</p>
<p>由于隐私的问题，并不能把这私有的IOS推送服务器公布给大家，我把服务器部署在一台LA的CN2 GIA服务器上，响应速度还是很快的，希望本文的内容能给你带来帮助。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://axmemo.com/technology/use-bark-to-push-ios-notification.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>IOS系统的中文联系人排序</title>
		<link>https://axmemo.com/technology/sort-cn-contact-in-en-interface.html</link>
					<comments>https://axmemo.com/technology/sort-cn-contact-in-en-interface.html#respond</comments>
		
		<dc:creator><![CDATA[A.X]]></dc:creator>
		<pubDate>Mon, 18 Dec 2017 01:16:45 +0000</pubDate>
				<category><![CDATA[技术分享]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iPhone]]></category>
		<guid isPermaLink="false">https://axmemo.com/?p=3670</guid>

					<description><![CDATA[貌似从大学使用Windows 2000开始，基本上都是使用英文系统，这个习惯一直延续到了后来使用手机。再加上iPhone 初代发布的时候根本就没有中文好吗！所以一路过来都是在使用着手机的英文界面（你说我装逼，好！我认了。）即便作为一个大学四级英语涉险过关的差等生，使用英文界面也不会太多问题，不过有一个问题比较头痛，就是在英文界面的时候，联系人的排序会按照英文的方式来进行。所有的中文联系人都会被整理到#排序下面，这样就尴尬了。 其实，如果你可以把手机越狱，这个问题就好解决了，我大概在2009年的时候（那时候还是iOS 2.2.1）就找到了那个排序文件，如下： /System/Library/Frameworks/AddressBook.framework/English.lproj/ABContactSections.plist 后来就算是iOS改版了再多次，你只要按图索骥的找到这个目录就可以的，把英文目录下的这个plist文件，用中文目录下的同名文件进行覆盖，然后切换两次语言就可以生效了。这个办法我一直用到&#8230;iOS 9.3.2 再后来，就换了一台手机，iPhone X没错，这下没法越狱了，傻逼了！所以在很长一段时间我都在用中文界面，然后前两天又心血来潮想看看是不是又有新的招数，哎哟不错，还真的有。其实，在iOS的联系人字段中，有两个附加字段，叫做Phonetic First/Last Name，翻译过来我也不知道怎么说，叫做语音联系人么？还是联系人的发音？反正就是这个字段就对了，只要在这个字段中输入拼音，就可以在英文界面下，把联系人分组到相应的英文字母排序下面。 好了，现在我们知道了方法，手工来弄么？那几百个联系人不是要弄死了，还好，我们有工具！在应用商店里面，有一款叫做 Phonetic Contacts的应用软件，就是转么用来为中文联系人添加这个字段的，而且还支持缩写功能方便你进行搜索。不过我觉得那个缩写不美观，所以就没有加了。下载以后，直接运行一下，几百个联系人大概就30秒不到的时间就全部添加好了辅助字段。如果你弄错了，那也没关系，在应用里面双击一下，可以全部清理掉重来。 不过在做这些操作前，个人还是建议你先备份一次联系人，以防万一。然后，就OK了~ 虽然现在不能越狱，但是有一个比较方便的搜索联系人的方法，就是在任何界面下拉呼出spotlight，然后输入联系人名称的前几个字，系统会自动智能匹配出联系人，如果你平时联系的多，这里推荐的联系人还是比较精准的。这也就当是系统还没有Kuaidial之前的妥协方案吧。 最后，其实我最近兴起的真正原因，是我突然一天发现在我的笔记本上，Finder变成了“访达”，使我毅然决定要切回英文界面！]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" loading="lazy" style="border: 0px currentcolor; display: inline; background-image: none;" title="contacts" src="https://axmemo.com/wp-content/uploads/2017/12/contacts.jpg" alt="contacts" width="570" height="230" border="0" /></p>
<p>貌似从大学使用Windows 2000开始，基本上都是使用英文系统，这个习惯一直延续到了后来使用手机。再加上iPhone 初代发布的时候根本就没有中文好吗！所以一路过来都是在使用着手机的英文界面（你说我装逼，好！我认了。）即便作为一个大学四级英语涉险过关的差等生，使用英文界面也不会太多问题，不过有一个问题比较头痛，就是在英文界面的时候，联系人的排序会按照英文的方式来进行。所有的中文联系人都会被整理到#排序下面，这样就尴尬了。<span id="more-3670"></span></p>
<p>其实，如果你可以把手机越狱，这个问题就好解决了，我大概在2009年的时候（那时候还是iOS 2.2.1）就找到了那个排序文件，如下：</p>
<p>/System/Library/Frameworks/AddressBook.framework/English.lproj/ABContactSections.plist</p>
<p>后来就算是iOS改版了再多次，你只要按图索骥的找到这个目录就可以的，把英文目录下的这个plist文件，用中文目录下的同名文件进行覆盖，然后切换两次语言就可以生效了。这个办法我一直用到&#8230;iOS 9.3.2</p>
<p>再后来，就换了一台手机，iPhone X没错，这下没法越狱了，傻逼了！所以在很长一段时间我都在用中文界面，然后前两天又心血来潮想看看是不是又有新的招数，哎哟不错，还真的有。其实，在iOS的联系人字段中，有两个附加字段，叫做Phonetic First/Last Name，翻译过来我也不知道怎么说，叫做语音联系人么？还是联系人的发音？反正就是这个字段就对了，只要在这个字段中输入拼音，就可以在英文界面下，把联系人分组到相应的英文字母排序下面。</p>
<p><img decoding="async" loading="lazy" style="border: 0px currentcolor; display: inline; background-image: none;" title="image" src="https://axmemo.com/wp-content/uploads/2017/12/image.png" alt="image" width="549" height="342" border="0" /></p>
<p>好了，现在我们知道了方法，手工来弄么？那几百个联系人不是要弄死了，还好，我们有工具！在应用商店里面，有一款叫做 Phonetic Contacts的应用软件，就是转么用来为中文联系人添加这个字段的，而且还支持缩写功能方便你进行搜索。不过我觉得那个缩写不美观，所以就没有加了。下载以后，直接运行一下，几百个联系人大概就30秒不到的时间就全部添加好了辅助字段。如果你弄错了，那也没关系，在应用里面双击一下，可以全部清理掉重来。</p>
<p>不过在做这些操作前，个人还是建议你先备份一次联系人，以防万一。然后，就OK了~ 虽然现在不能越狱，但是有一个比较方便的搜索联系人的方法，就是在任何界面下拉呼出spotlight，然后输入联系人名称的前几个字，系统会自动智能匹配出联系人，如果你平时联系的多，这里推荐的联系人还是比较精准的。这也就当是系统还没有Kuaidial之前的妥协方案吧。</p>
<p>最后，其实我最近兴起的真正原因，是我突然一天发现在我的笔记本上，Finder变成了“访达”，使我毅然决定要切回英文界面！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://axmemo.com/technology/sort-cn-contact-in-en-interface.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>修复iOS相片和相册丢失问题</title>
		<link>https://axmemo.com/technology/rebuild-ios-photo-library.html</link>
					<comments>https://axmemo.com/technology/rebuild-ios-photo-library.html#comments</comments>
		
		<dc:creator><![CDATA[A.X]]></dc:creator>
		<pubDate>Fri, 15 Sep 2017 01:41:16 +0000</pubDate>
				<category><![CDATA[技术分享]]></category>
		<category><![CDATA[移动终端]]></category>
		<category><![CDATA[ios]]></category>
		<guid isPermaLink="false">https://axmemo.com/?p=3647</guid>

					<description><![CDATA[昨天晚上，正在Happy的拍着夜景，突然间iPhone的相机程序死机了，我也没觉得什么，重启后继续拍了几张。等我到图库中查看的时候，顿时傻眼了，我发现在相簿一栏中，什么都没有了！不过幸好我还能在照片中看到图片，那说明至少文件还没有丢失，只是无法显示而已，应该还有办法挽回（其实当时心在发抖）。 开始，我用了一些常规的方法来尝试，是否能重建相簿文件，包括：重启、切换语言版本、新建一个新相簿…但是一直都不行。我奇怪的是，我通过Procam能看到完整的相簿信息，但是在官方应用中还是看不到，我最终已经做好最坏的打算，就是换一个应用来管理相片。有朋友肯定说，你为什么不重置一次iPhone呢，因为我越狱了啊。因为某些原因，我暂时还不想升级到iOS 11，而且万一恢复完了还不能解决问题呢？我之前有一台iPad mini2 就是这样莫名其妙的升级了以后也没解决问题。 看来，只能自己动手去处理系统文件了。用iPhone这么多年，其实对于iOS的文件结构也算是有所了解，虽然这几个版本更新调整了一些，但是大致位置都还能找到。前提是，幸好我有越狱！ iOS的相片管理文件位于：/var/mobile/Media/PhotoData/ 里面有一个叫做 Photos.sqlite的文件，就是相册的数据库信息文件了，将这个文件删除，然后你会发现你打开相机会闪退，没关系，重新启动iPhone就可以。 在这里，网上有建议是采用硬启动的方式，就是按住HOME+POWER到强行关机后再启动，反正你看着办就好了。然后硬启动之后的时间会比较长，慢慢等着。 等系统启动完成之后，再点开相册应用，你会发现里面什么都没有了，我当时看到这一幕也是超级懵逼的。退出以后，过一会再点进来看，你会发现，嗯？相簿已经有几个出现了，但是里面的相片数为0，别怕，经过之前的恐吓你应该心理足够强大。因为这已经意味着，系统已经在重建相片库的索引文件。 耐心等待，系统需要重建：相片库，缩略图…..好多的事情，你让它慢慢来，等一切做完了，你会发现一切恢复原样了…嘘~长出一口气，还好我有越狱！]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" loading="lazy" style="border: 0px currentcolor; display: inline; background-image: none;" title="plibrary" src="https://axmemo.com/wp-content/uploads/2017/09/plibrary.jpg" alt="plibrary" width="570" height="230" border="0" /></p>
<p>昨天晚上，正在Happy的拍着夜景，突然间iPhone的相机程序死机了，我也没觉得什么，重启后继续拍了几张。等我到图库中查看的时候，顿时傻眼了，我发现在相簿一栏中，什么都没有了！不过幸好我还能在照片中看到图片，那说明至少文件还没有丢失，只是无法显示而已，应该还有办法挽回（其实当时心在发抖）。<span id="more-3647"></span></p>
<p>开始，我用了一些常规的方法来尝试，是否能重建相簿文件，包括：重启、切换语言版本、新建一个新相簿…但是一直都不行。我奇怪的是，我通过Procam能看到完整的相簿信息，但是在官方应用中还是看不到，我最终已经做好最坏的打算，就是换一个应用来管理相片。有朋友肯定说，你为什么不重置一次iPhone呢，因为我越狱了啊。因为某些原因，我暂时还不想升级到iOS 11，而且万一恢复完了还不能解决问题呢？我之前有一台iPad mini2 就是这样莫名其妙的升级了以后也没解决问题。</p>
<p>看来，只能自己动手去处理系统文件了。用iPhone这么多年，其实对于iOS的文件结构也算是有所了解，虽然这几个版本更新调整了一些，但是大致位置都还能找到。前提是，幸好我有越狱！</p>
<p>iOS的相片管理文件位于：/var/mobile/Media/PhotoData/</p>
<p>里面有一个叫做 Photos.sqlite的文件，就是相册的数据库信息文件了，将这个文件删除，然后你会发现你打开相机会闪退，没关系，重新启动iPhone就可以。</p>
<p>在这里，网上有建议是采用硬启动的方式，就是按住HOME+POWER到强行关机后再启动，反正你看着办就好了。然后硬启动之后的时间会比较长，慢慢等着。</p>
<p>等系统启动完成之后，再点开相册应用，你会发现里面什么都没有了，我当时看到这一幕也是超级懵逼的。退出以后，过一会再点进来看，你会发现，嗯？相簿已经有几个出现了，但是里面的相片数为0，别怕，经过之前的恐吓你应该心理足够强大。因为这已经意味着，系统已经在重建相片库的索引文件。</p>
<p>耐心等待，系统需要重建：相片库，缩略图…..好多的事情，你让它慢慢来，等一切做完了，你会发现一切恢复原样了…嘘~长出一口气，还好我有越狱！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://axmemo.com/technology/rebuild-ios-photo-library.html/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
