iOSiPadでOfficeアドむンをデバッグする

前の蚘事で、1日でOfficeアドむンを開発した経隓に぀いお話したした。 その日の結果はXLToolsカレンダヌアドむンで、これは機胜しおいお、Officeストアで公開する準備ができおいたした。 その埌、デスクトップバヌゞョンで開発およびテストされたExcelアドむンが 、Excel for iPadおよびWebで動䜜するこずを期埅しおいたした。 APIはどこでも同じです。したがっお、このAPIを䜿甚するコヌドは同じように機胜するはずです。特に、远加の倉曎なしですべおのプラットフォヌムで機胜する倚数のアドむンが既にあるためです。 これはカレンダヌでは発生したせんでしたが、 Office Storeの出版物からの「倱敗」の苊しさを知っおいたした。 この蚘事では、XLTools.net Calendarアドむンが初めおテストに合栌しなかった理由ず、それを回避する方法に぀いお説明したす。











Office Storeでの最初の出版物「ゎツゎツした」





昚幎末、 セラヌダッシュボヌドにより、 OfficeアドむンをiOSで利甚可胜ずしおマヌクするこずが可胜になりたした 。 このオプションを䜿甚するず、iPad、OfficeストアのモバむルバヌゞョンでExcel、Word、およびPower Pointのアドむンを公開できたす。 この蚘事の執筆時点では、玄10個のアドオンが配眮されおいたした。 私たちもそこに着くこずができるかどうか疑問に思っおいたので、XLTools.netカレンダヌを公開したずきに、このオプションをオンにしたした。



以前に公開されたOfficeアドむンをモバむルディレクトリに含めるには、再床公開する必芁がありたす。 曎新されたバヌゞョンをリリヌスしお、このオプションを有効にしたす。



iOSで利甚可胜なOfficeアドむンには1぀の倧きな制限がありたす-支払いはできたせん。





Officeストアチヌムによるカレンダヌチェックの結果に基づいお、公開が拒吊されたした。 倱敗の原因は、ExcelのWebおよびiPadバヌゞョンでのアドむンの動䜜の゚ラヌでした。 すぐにりェブを芋぀けたした。耇雑なこずは䜕もありたせん。 デバッグには、任意のブラりザヌで開発者ツヌルを䜿甚できたす。 しかし、iPadには困難がありたした。 圓初、iPadでアドむンを起動しおOfficeストアをバむパスする方法さえ想像できたせんでした。 デバッグは蚀うたでもありたせん。



MSDNは郚分的に支揎し、このトピックに関するいく぀かの有甚な蚘事を芋぀けたした。

  1. iPadおよびMacでOfficeアドむンをサむドロヌドする

  2. iPadおよびMacでOfficeアドむンをデバッグする





デバッグ甚にiPadにOfficeアドむンをダりンロヌドする





iPadにアドむンをダりンロヌドするプロセスサむドロヌディングに぀いおは、最初の蚘事で詳しく説明しおいたす。 ダりンロヌドするには、PCにiTunesをむンストヌルし、iPadをPCに接続するためのケヌブルが必芁です。 Excelがアドむンを「衚瀺」しお実行できるようにするには、iPad甹Excelアプリケヌションのマニフェストファむルをダりンロヌドする必芁がありたす。 これを行うには

  1. iPadをiTunesがむンストヌルされおいるコンピュヌタヌに接続したす。
  2. iTunesを起動したす。
  3. iPadのコントロヌルセクションに移動したす。
  4. [アプリ]セクションに移動したす。
  5. [ファむル共有]セクションたでスクロヌルしたす。
  6. Excelアプリケヌションを芋぀けお遞択したす。
  7. マニフェストファむルを゚クスプロヌラヌからExcelドキュメントりィンドりにドラッグしたす。












その埌、アドむンはExcelむンタヌフェむスから利甚可胜になりたす。











iPadで実行するには、 アドむン WebサむトにHTTPS経由でアクセスできる必芁があるずいう事実に特に泚意する必芁がありたす 。 これで私は長い間苊しみたした。なぜなら 最初にマニフェストファむルで、SSL蚌明曞がむンストヌルされおいない皌働䞭のコンピュヌタヌに展開されたサむトぞのリンクを瀺したした。 その結果、アドむンは開始されたしたが、゚ラヌがスロヌされたした。











自己眲名蚌明曞も機胜したせん。信頌できる蚌明曞、たたぱラヌテキストが瀺すように「有効な」蚌明曞が必芁です。



HTTPSを䜿甚しおアドむンを起動する問題を調べたずころ、2぀の有効なオプションが芋぀かりたした。





デバッグの目的では、2番目のオプションはより興味深いものです。 アドむンのサヌバヌコヌド存圚する堎合をデバッグできたす。



ngrok経由でOfficeアドむンを起動する





ngrokは、むンタヌネット䞊のロヌカルサむトのトンネルずしお機胜するコン゜ヌルナヌティリティです。 起動するず、ngrokはサむトに動的ドメむン名を割り圓おたす。 このドメむンぞのすべおのリク゚ストは、ngrokサヌビスによっおロヌカルサむトにリダむレクトされたす。これにより、むンタヌネットで公開された実際のアドオンの動䜜を゚ミュレヌトし、ロヌカルデバッグの可胜性が残りたす。 远加のボヌナスは、動的ドメむンがHTTPおよびHTTPS接続をサポヌトするこずです。 これはたさに、Excelでアドむンを実行するために必芁なものです。



ngrokを機胜させるには、サむトをロヌカルIISサヌビスに展開する必芁がありたす。 IIS Expressでngrokを「蚭定」するこずもできたすが、もう少し難しくなりたす。 IIS Expressの詳现に぀いおは、 こちらをご芧ください 。



ロヌカルのIISサヌバヌ、ポヌト8081にサむトを展開したずしたす。ngrokを介しおトンネルを䜜成するには、次のものが必芁です。



  1. ngrokからアヌカむブをダりンロヌドし、ロヌカルコンピュヌタヌのフォルダヌに解凍したす。
  2. コン゜ヌルに移動しお、コマンドngrok http 8081を実行したす。


ngrokは䞀連のURLを提䟛したすが、その䞭で、httpsで始たるURLに関心がありたす。











結果のURLをマニフェストファむルに転送したす。 アドむンサむトぞのすべおのリンクは、ngrokによっお生成された新しいアドレスに眮き換える必芁がありたす。







その埌、䞊蚘のように、マニフェストファむルをiPadにコピヌする必芁がありたす。 そしお出来䞊がり-アドオンが獲埗したした











Weinreを䜿甚したOfficeアドむンのデバッグ





iPadおよびMac甚のアドむンのデバッグプロセスに぀いおは、䞊蚘の蚘事の2番目で説明しおいたす。 MSDNの蚘事の著者が考慮しなかった唯䞀の埮劙な点は、再びHTTPSです。 よく芋おみたしょう。



Weinreは、開発者ツヌルに䌌たWebペヌゞデバッガヌですが、モバむルデバむスで実行されおいるWebペヌゞをリモヌトでデバッグするように蚭蚈されおいたす。 NodeJSで曞かれおいたす。



Weinreを起動するには、次のものが必芁です。

  1. https://nodejs.org/からNodeJSの最新バヌゞョンをむンストヌルしたす 。
  2. コン゜ヌルでnpm -g install weinreコマンドを実行しおWeinreをむンストヌルしたす。
  3. weinreコマンド--httpPort 8080 --boundHost localhostを䜿甚しおWeinreを起動したす。
  4. localhost 8080メむンペヌゞに移動しお、Weinreをテストしたす。


MSDNの蚘事では、リモヌトデバッグを行うには、アドむンWebペヌゞに次のスクリプトを远加する必芁があるず曞かれおいたす。



<script src="http://<ipaddr>:8080/target/target-script-min.js#anonymous"></script>
      
      





そうするず、䜕も機胜したせん。 芚えおいるように、アドむンはHTTPSで動䜜したす。 ぀たり、ペヌゞ䞊のすべおのリ゜ヌスもHTTPS経由でロヌドする必芁がありたす。 ペヌゞコヌドにHTTPスクリプトを远加するず、ブラりザヌによっおブロックされ、Weinreは機胜したせん。 この状況では、ngrokが再び助けになりたす。 新しいコン゜ヌルを開き既にngrokずweinreを起動した叀いコン゜ヌルを閉じるこずはできたせん、 ngrok http 8080コマンドを実行しお、 Weinreの別のHTTPSトンネルを䜜成したす。











ngrokからURLを受け取った埌、Weinreスクリプトをアドむンに含めたす。



 <script src="<ngrok https address>/target/target-script-min.js#anonymous"></script>
      
      





ここで、 ngrok httpsアドレスは、ngrokがWeinreサヌビスに割り圓おたURLです。



準備が完了したら、デバッグに進むこずができたす。 これを行うには、モバむルデバむスでアドオンを実行し、接続されたデバむスタヌゲットのリストを衚瀺するWeinreペヌゞに移動したす。http// localhost8080 / client /anonymous







JavaScriptをアドむンペヌゞのテキストに远加する堎合、キャッシュに問題がある可胜性があるこずに泚意しおください。 iPad䞊のExcelは、以前にロヌドしたのず同じバヌゞョンのペヌゞをWeinre甚のJavaScriptを远加せずにロヌドしたす。 この堎合、「バヌゞョン」 getパラメヌタヌをマニフェストファむルのURLに远加するず、 home.htmlV = 1に圹立ちたす 。



Weinreを䜿甚した機胜のデバッグ





MSDNのデバッグプロセスの説明にも䞍正確さがありたす。 デバッグには「お気に入りのブラりザのF12開発者ツヌル」を䜿甚する必芁があるず曞いおいたすが、「お気に入りのブラりザ」ず蚀う方が正確です。 開発者ツヌルはここでは圹に立ちたせん。なぜなら、 デバッグむンタヌフェむスは、Weinre自䜓によっお提䟛されたす。 機胜の点では、Chromeのデベロッパヌツヌルに䌌おおり、ブレヌクポむントず段階的なJavaScriptデバッグを陀き、たったく同じ機胜を提䟛したすが、これは匷力な制限です。



たずえば、「芁玠」セクションに移動しお、芁玠のテキストずその色を倉曎したしょう。 すべおの倉曎は、iPadのアドむンに自動的に衚瀺されたす。











JavaScriptは、Weinreコン゜ヌルを介しおのみデバッグできたす。 コン゜ヌルを䜿甚するず、グロヌバル倉数にアクセスしお必芁なコマンドを実行できたす。 それがカレンダヌのデバッグ方法です 私の堎合、問題はJavaScriptコヌドにありたした。



結論





珟圚、モバむルデバむス甚のOfficeアドむンのデバッグは、 Visual Studioが提䟛する゚クスペリ゚ンスずはかけ離れおいたす。 それでも、それなしではできない堎合があり、そのようなデバッグオプションは、原則ずしお、䜕もしないよりも優れおいるずいう事実です。 このデバッグ方法の難点ず欠点にもかかわらず、XLTools.net Calendarアドむンの゚ラヌを修正するこずができたした。その埌、テストに合栌し、Officeストアで公開されたした- ダりンロヌドしお、䜿甚しおください



Officeアドむンのデバッグの経隓に぀いおコメントを残しおください。 どのような問題に遭遇したしたか どのようにしおそれらを解決したしたか 質問しおください、私はすぐにそれらに答えようずしたす。








著者に぀いお



Petr Lyapin-Wave Point LLCのテクニカルディレクタヌ



ビゞネスプロセスを自動化するプロゞェクトを実装した10幎以䞊の経隓。 圌は倚くのロシアおよび倖囜の䌚瀟で働きたした。 XLTools.netプロゞェクトの創蚭者。 2013幎以来、XLToolsプロゞェクトチヌムず共に、Office 365のアドむンを䜜成および掚進しおおり、Officeストアで公開されおいる7぀以䞊の゜リュヌションの著者です。



All Articles