0

私はiPhone6シミュレーターを使用していますが、次のコードのいずれかを使用してファイル(htmlの拡張子pdf)を取得しようとしています。

 NSString *file = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@.pdf", documentName] ofType:nil];

また

NSString *file2 = [[NSBundle mainBundle] pathForResource:documentName ofType:@"pdf"];

のファイルがResourcesフォルダーにあることを確認し、ファイルを追加しません。プログラムでWebからダウンロードし、このパス(/ Users / myMac / Library / Application Support / iPhone Simulator / 6.9 / Applications)に表示します。 /E60F22DD-7301-48EF-AB25-B9D42FA6AD49/myApp.app)ファイルは表示されますが、コードには表示されません

しかし、このコードは時々私にnullを与え、他の時には私にファイルを与えます。

なぜこれが起こるのか、そしてこれを防ぎ、それを常に私にファイルにする方法。私が使用することを検討してください

if(file != nil)

そして、file == nilの場合は、何らかの方法でファイルを開こうとします。

前もって感謝します。

4

2 に答える 2

5

ファイルがプロジェクトのターゲットに追加されていることを確認してください。ターゲットを選択してから、[ビルドフェーズ]->[バンドルリソースのコピー]を選択します。ファイルがそこにあるはずです。

プロジェクトをクリーンアップして最初から構築する価値がある場合があります。追加されたファイルが、クリーンアップが実行されるまでシミュレーター/デバイスにコピーされない場合があります。

于 2012-10-27T17:57:00.380 に答える
0

a)Webから何かをダウンロードすると、コンテンツはアプリケーションのドキュメントディレクトリに移動します。

b)他のアプリケーションはアプリケーションのドキュメントディレクトリと対話できません。

c)バンドルパス、つまりアプリケーションのグループとファイルのセクションは読み取り専用です。

d)アプリケーションのドキュメントディレクトリへのアクセスを許可しない限り、誰もアプリケーションのPDFを盗むことはできません。

お役に立てれば

于 2013-01-16T10:18:33.847 に答える