PressSyncをiOS11に対応する際にやった事

昨日のお昼過ぎにアプリを申請しました。私は今まで技術系の投稿はした事がないのですが情報共有になれば。

問題になっていた事

投稿編集画にプログラムから文字列を
貼り付ける機能や、クリップボードに文字列を設定する機能とかが軒並み使えない状態になっていました。

要するにプログラムからクリップボードに値を設定する箇所が正しく動いてませんでした。

投稿編集画面の入力支援機能は、一旦クリップボードに貼り付けたい値を設定してからペースト動作を発生されるという一連の動作をプログラムで行なってたんですね、そうするとあたかもユーザーが操作したような形になっUndoマネージャーにいい感じに履歴が残るから。

という内部的な動きだったので影響が出ていたのでした。

なぜiOS11からペーストボードの問題が?

問題ってわけじゃないとは思うんですが、ペーストボードに「文字列」を設定する場合、UTI (Uniform Type Identifier)の指定で「public.text」と指定するのは今まで一般的だったと思うのですが、どうやらiOS11からはこれが不可になったみたいです。

ってか識別されないUTIになったみたいで、ペーストボードには文字化けしたようなデータが格納されている模様。

「public.utf8-plan-text」などと文字コードを指定したUTIを設定するか、もしくはStringプロパティーに直接値を設定する事で意図した動きになります。

この件は簡単に片付いたのですが最新の開発環境でビルドするとUIの崩れががが。

UITableViewデフォルトの動き変わり過ぎやろ

なんかセルの上端と下端に空白が出来るんですよ。

iOS11和Xcode9踩坑记录 | HY‘s Blog

Estimateほにゃららというプロパティーを全部ゼロに設定すると旧来の動きになります

この情報を見つけるまでも結構時間を要したのですが、この問題解決しても、UI部品の開始座標が旧来からずれてたりとか普通にしてるので、それらを修正していく地味な作業が残っておりました。

まとめ

テストはせなアカンね。

via PressSync

さくらインターネットのWordPressブログをSSLに対応してみた

このブログは「さくらインターネット」のレンタルサーバーにホスティングしているのですがSSL化に際し専用のプラグインまで用意されており、移行は容易でした。

このプラグインにより設定される内容

.htaccessを編集し、httpでのリクエストを全てhttpsにリダイレクトします。
詳しい設定内容を見る
WordPressのサイト設定を変更し、サイトのURLをhttpからhttpsに切り替えます。
※切り替え以前の画像URLや投稿URLはすべてhttpsに置換されます。

URL的には(s)が付くだけですが、やっぱりこういう修正は必要なんですね。プラグインで自動化してくれるのはありがたい。

その他設定

【独自SSL】導入の流れ・設定手順 – さくらのサポート情報

サーバー証明書やら何やらについてはWebの世界の常識的な感じで設定手順が語られているので、本職がWeb屋さんじゃない人間にとってはかなり???な感じだったのですが、なんとか上手く行ったようです。

久しぶりにFFFTPを使った…

置けと言われたので言われるがまま置きました。

PressSyncは問題なく動作するっぽい

この投稿はPressSyncからですが問題なく各種操作が行えています。ま、アプリがプロトコルを意識するような作りじゃないですし「wordpress.com」は現状SSLでしか使えてなかったので、セルフホストのWordPressブログでも問題は無いとは思ってたんですが。

まとめ

自信が無かったので1年契約にしたんですが3年とかにしとけばよかったかな?とか思ったり。
証明書の有効期限が切れる都度また何か設定し直さないと駄目だと思われるので^^;

via PressSync

PressSync(Pro,Free)Version 1.7.2の修正内容

基本的にはiOS10向けにビルドし直したものになりますが、以下の機能が改善されています。

投稿オプションの現在地付与機能の復活


iOS8か9の頃からちゃんと動作しなくなっていたのですが、この機能の利用者がおるとも思えず長らく放置していましたが、今回のバージョンで復活します。

メディアの画像をアルバムに保存可能に


この機能もiOS8か9あたりから死んでいた機能でした。今回のバージョンで復活します。

iOSのバージョンが上がるにつれ、マニフェストをキッチリ記さないアプリにはその機能を使わせない、という方向になっており(良い事だと思いますが)、今回のリリースはそれに関わる修正でした。

以上

via PressSync

PressSync Pro値下げ

¥600→¥380に値下げしました。

当初¥400で販売していたのですが、円安が進んで¥600になっていました。

日本円でだいたいこれくらいの値段売りたい、という想いからズレが大きくなってしまっていたので、当初の金額に近づけてみました。

AppStoreの値段設定を変更すると全世界の値段設定も変更になるので、円相場などに影響されて値段を微調整するべきではないとは思うのですが、有料版を購入してくれている割合は、やはり国内が多いという事で、まあいいかー、という軽い気持ちでサクッと金額変更してみました。

恒久的にこの値段に変えたいなぁとは思っているのですが、お試しで2016年1月末まで¥380という値段設定にしています。

via PressSync

PressSync(Pro,Free)Version 1.6.8リリース予告

iOS9対応

アプリ利用者の方々には殆ど関係の無い修正なのですが、iOS9対応を行わないと申請出来なかった箇所について修正を行っています。

この修正により若干動きが変わる点はiPadのみで、ハードウェアキーボード接続の時とアクションシートを呼び出した時になります。

マルチタスキング系には対応しておりません。

またOSの最低動作環境をiOS9以上としました

セルフホスト型WordPress4.4環境にて投稿日時のタイムゾーンがズレる不具合を修正

これはWordPressの不具合なのですが、Automaticが直してくれるとはとうてい思えませんのでアプリ側で対応しました。
コントリビュートバンザイ。

カスタム入力支援のスニペット呼び出しが行えなくなりました

申し訳ありません。この件は処理が複雑すぎてOSのバージョン毎に対応を微妙に変える事が難しくなりましたので、機能削除させていただきました。

本日iTunes Connectに申請しましたが、現在クリスマス休暇により審査業務がストップしているため、リリース日は来月以降になると思われます。

以上

via PressSync

PressSync(Pro,Free)Version 1.6.7の修正内容

今朝、PressSync Version1.6.7を申請しました。(1.6.6は間違って上げてしまった為、欠番になりました)一週間後くらいにはリリースされるかと思います。

修正内容

まれに「PressSyncが起動しなくなる」というユーザー様からご報告を受けます。おそらくPressSyncのデータベースファイルが破損して二度と起動しなくなる…という事態に陥っています…

今回の修正内容は、そもそもデータベースファイルが破損させなくする修正(自信無し)と、5回以上アプリ起動に失敗した場合、データベースファイルを初期化して起動する処理を追加しました。

後者の措置は、ユーザー様がアプリの再インストールをしないと復旧出来ない…という最悪の事態を回避したい最後の手段なのですが、前者の措置が上手く効いてくれれば、そもそもこのケースには入らない…と期待しております。

ご不便をおかけしますが、よろしくお願いいたします。

via PressSync

PressSyncでペーストボードの文字列をカスタム入力支援でペーストするには

PressSyncのカスタム入力支援機能について使い方補足 | Captain’s Log, Supplemental

上記ページにペーストボードの設定方法を追記しました。

それよりも実例を挙げた方がわかりやすいと思いますので以下にサンプルを提示します。

カスタムhref

上記リンクをクリックするとカスタム入力支援が自動的にインストールされます。

文字列を選択した上でこのカスタム入力支援を呼び出すと…

選択範囲がテキスト部に設定され、hrefにはペーストボード内の文字列が自動的に設定されるという入力支援です。(スニペットは.hになっています。ご利用環境に応じて適宜変更して下さい。)

単純にペーストボードの内容を出力したい場合は以下のカスタム入力支援をご利用ください。(スニペットは.pになっています。ご利用環境に応じて適宜変更して下さい。)
ペーストボードショートカット

via PressSync

PressSyncで本文入力時のフォントサイズを指定する方法

PressSyncは色んな設定項目があって、殆どの方はデフォルト設定で使われてるのかな?と勝手に思っております。

そのデフォルト値は、私が良かれと思って勝手に定めた値なので、人によっては合わない可能性があります。

例えば投稿画面の本文入力域ですが、デフォルトは18ptでiPhone5だとこんな感じに。

最小の8ptに変更すると以下のようになります。

フォントサイズを小さくすると一度に大量の文字を表示する事ができますが、目に優しく無いのと精密なタップ操作が必要になったりと弊害もあります。是非ご自分に合ったフォントサイズを見つけてみてください。

設定は以下より行います。

以上

via PressSync

PressSync(Pro,Free)Version 1.6.4の修正内容

本日PressSyncの新バージョンをリリースしました。久しぶりの更新ですが修正点は一点のみです。

摩訶不思議なスクロール位置を示す不具合の修正

言葉では表現し辛いのですが、従来バージョンでは大量の文字を含むエントリーを下へ(もしくは上へ)スクロールした際に、スクロールバーの大きさがスクロール中に変動するという現象が出ていました。

また、それによる問題だと思うのですが、任意の箇所をタップしてカーソルを合わせようとしても、全く意図しない箇所にカーソルが移動するというイライラ現象もありました。

今回のバージョンは、それらの不具合が修正されています。

この不具合はiOS7時点から発生しており、iOS7時点では暫定の対処コードを入れていたのですがiOS8でそれもふさがれてしまい、テキスト入力系アプリとしては致命傷とも言える不具合を長らく放置していた状況でした…特にPressSyncの場合、既に書きあがった投稿を一部修正するという使われ方が多いので尚更。

今回、本質的な対処コードが見つかり、私自身このアプリの利用者であるので、今回のアップデートは非常に嬉しいです。利用者の皆様方には長らくご迷惑をおかけしました。

以上

via PressSync

PressSyncで画像貼り付け時に任意のclassを設定する方法

私はHTMLとかCSSの事についてあまり詳しく無いので、この機能を使った事が無く、個人的にはあまり重要な機能では無いのですが、好き嫌いでアプリ機能の紹介の取捨選択をしては不味かろうという事で一応ご紹介。

設定方法

アカウント設定->メディアデフォルト値->classより設定を行います。

初期値は以下のようにカンマ区切りで指定されています。

None,alignnone size-full,alignnone size-large,alignnone size-medium,alignnone size-thumbnail

この設定が何処に有効になるかというと、画像タグ編集画面(作った本人も正式名がわからない)のclassを設定する箇所になります。

カンマ区切りで指定したclassが選択可能になります。

画像を貼り付けた瞬間に任意のクラス属性を付与するには

カンマ区切りでclassを指定するわけですが、1件目に指定された項目がデフォルトのclassとして適用されます。

デフォルトで設定されている内容は1件目が「None」なのでclass設定されないようになっています。

もし、「alignnone size-full」をデフォルトとしたい場合、設定内容は以下のようになります。

alignnone size-full,alignnone size-large,alignnone size-medium,alignnone size-thumbnail

画像に指定するClassは一個しかないよって人なら以下のようなシンプルな設定になります。またclass属性とsize属性(表示サイズ)が競合する事もあるかと思いますので以下のようにsizeを使用しなくする事も可能です。

ちなみに…

画像タグ編集画面の呼び出し方ですが、PressSyncの投稿画面にてimgタグの箇所にカーソルを移動すると右上にサムネイル画像が表示されます。

ここをクリックすると画像タグ編集画面を開く事が可能で、更にその画面からオリジナルの画像を確認といった事が可能です。

一度貼り付けたimgタグでも後からGUIを使って細かい設定が可能になっています。

まとめ

もともとのPressSync(HatenaSync)の設計思想は、1から10までモバイルで執筆するのでは無く、デスクトップなどで書いた続きをモバイルで書いたり、校正するという事を第一優先に考えています。(アプリ名SuffixのSyncはサーバーと同期するアプリだという意味が込められています)

なので今回ご紹介したような後から微調整を行うような機能が、このアプリにはまだ隠れているかもしれません…初回リリース時からかなり経ってるので私も忘れてる機能とかがあるかも^^;

via PressSync