2

アプリからprezi.comプレゼンテーションを開こうとしています。

NSURL *url = [ [ NSURL alloc ] initWithString: @"prezi://open?oid=ftv9hvziwqi2" ];
[[UIApplication sharedApplication] openURL:url];

このコードはアプリを開きますが、プレゼンテーションは開きません。iPadでこのリンクにアクセスすると、プレゼンテーションを開くためのリンクが記載されたページが表示されます。

http://prezi.com/ftv9hvziwqi2/coca-cola-companya/

しかし、preziアプリでプレゼンテーションを開くための正しいURLを見つけることができます。そして、preziサイトでもこれからドキュメントを見つけることができません。

4

2 に答える 2

2

preziアプリには公的にアクセス可能なURLスキーム(prezi:// url)がないようです:

http://community.prezi.com/prezi/topics/does_ipad_prezi_viewer_have_a_url_scheme_so_other_apps_can_launch_it_and_open_a_specific_prezi_via

Webリンクの構造を見ると(実際にプレゼンテーションが正しく開かれます)、最後に「&details = XYZ =」フィールドがあります。ここで、XYZは数百のランダムな文字です。

その完全なURLを入れてみることができますが、それはおそらくユーザーアカウントやアクセスした時間に基づくナンスであるため、脆弱な解決策になると思います。

最善の方法は、おそらく上記のリンク先のコミュニティボードに別のリクエストを出すことです。

于 2012-05-08T10:16:18.777 に答える
2

私もこれに興味があったので少し調べてみました。

iPadでハイパーリンク(http://prezi.com/ftv9hvziwqi2/coca-cola-companya/)にアクセスすると、Preziアプリでプレゼンテーションを開くために必要なリンクが表示されます。

これだよ:-

prezi://open?oid=ftv9hvziwqi2&details=eyJzaXplIjogMTIzMTE2MywgInRva2VuIjogIiIsICJ0aHVtYl91cmwiOiAiaHR0cDovLzA0MDEuc3RhdGljLnByZXppLmNvbS9wcmV2aWV3LzgvOS83L2M3M2U3NTU5YTE3ZjdkMjgyMjc1NGIwOWVkNmY2ZDJhNjNkZmFfMV92OTkucG5nIiwgImF1dGhvciI6ICJBbm5pZSBOYW0iLCAidGl0bGUiOiAiQ29jYSBDb2xhIENvbXBhbnkuQSIsICJsYXN0bW9kIjogIjA4IEFwcmlsIDIwMTIiLCAib2lkIjogImZ0djlodnppd3FpMiIsICJkZXNjIjogIkludGVybmF0aW9uYWwgbWFuYWdlbWVudCBwbGFuIn0=

'details'と呼ばれる2番目のパラメーターがあります。これはbase64でエンコードされています。デコードすると、詳細は次のようになります。-

{"size": 1231163, "token": "", "thumb_url": "http://0401.static.prezi.com/preview/8/9/7/c73e7559a17f7d2822754b09ed6f6d2a63dfa_1_v99.png", "author": "Annie Nam", "title": "Coca Cola Company.A", "lastmod": "08 April 2012", "oid": "ftv9hvziwqi2", "desc": "International management plan"}

この「details」パラメーターが必要だと思うので、独自のbase64エンコードを作成してみてください。幸運を!

編集:はるかに簡単な可能性は、ユーザーをサファリに誘導することです。そうすれば、彼らはまだPreziアプリを開くことができ、あなたは自分で奇妙な詳細を作成する必要はありません。

NSURL *url = [ [ NSURL alloc ] initWithString: @"http://prezi.com/ftv9hvziwqi2/coca-cola-companya/" ];
[[UIApplication sharedApplication] openURL:url];
于 2012-05-08T09:56:05.857 に答える