2016-04-03 8 views
0

私は余裕をもってゆっくりとスウィフトを学びましたが、まだまだ道のりはまだまだあります。私はインタラクティブなiPadの本の簡単なデモをまとめることを任されました。わずか数ページの写真とテキストがあり、ボタンを押すと起動するQuicktimeムービーがいくつかあります。私はここでも私の頭より少し上ですが、私はこれらの課題で学ぶのが好きです。iPadシミュレータで映画を再生していますが、実際のiPadで再生していません

オンラインで見つかったデモやコードを使用してこれまでのことをまとめました(もう一度、これはアイデアがどのように使用できるかを示すためのデモだけです。このフォームで公開されます)。私はそれを持っているので、本のページをめくるようなページ間をスワイプすることができます。そして、シミュレータ上で、ボタンが押されたときに映画が開くようにしました。

ただし、実際のiPadに送信すると、映画は再生されません。私は、空白のQuicktime画面に、クロスアウトされた再生ボタンを表示します。

私のコードでは、ムービーファイルのURLはハードドライブ上のムービーへのパスです。これは私がこれを行う方法を理解するために使用したデモで示された方法であり、xcodeがアプリケーションをコンパイルするときに修正されると仮定していて、アプリケーションにローカルに表示されます。多分私はこれに間違っていた?

ここはプロジェクトのスケルトンです。ムービーファイルを再生するコードはjockeyproject/Swipe Navigation Xcode 7/ViewController0.swiftにあります。

このURLに問題がありますか、他の問題がありますか?どうすれば修正できますか?

https://github.com/fewdiodave/jockeyproject.git

答えて

0

アプリ内でファイルをパッケージ化するには、Xcodeプロジェクトに必要なファイルをドラッグする必要があり、現在のNSBundleを介してアクセス。

バンドルの内容へのアクセスについては、this Appleドキュメントに記載されています。あなたが原因のiOSサンドボックス性質のために、この

NSBundle.mainBundle().pathForResource("Video", ofType: "mp4") 
+0

のようなバンドルリソースにアクセスするスウィフトで

は、あなただけのパスに置くことができない、あなたはあなたの現在のサンドボックス( 'NSBundleへのパスを取得する必要があります')、このパスを基準にするよりも、あなたのビデオを参照することができます。 – Leandros

+0

ああ、私はここで私の頭の上に少しかもしれません。私はこの部分がもう少し簡単だろうと思った。 私は基本的にあなたと(リンクされたドキュメント)が言っていることの背後にある概念を理解しています。ファイルはプロジェクトにドラッグされ、NSBundleを使用してURLにプログラムでアクセスする必要があります。 Objective-Cでは、これは(私はそう思う)と考えています。 NSString myVideoFilePath = [[NSBundle mainBundle] pathForResource:@ "myvideofile" ofType:@ "mp4"]; これは基本的に正しいですか?だからスウィフトで同じことを達成する方法を理解する必要がありますか? –

+0

@DavidSchneiderはい、正確です。 – Leandros

関連する問題