13

iOS 5以下のバージョンのiPhone/iPadのシリアルポートを正常に開くことができました。

open("/dev/tty.iap", O_RDWR | O_NOCTTY | O_ASYNC))

しかし、iOS 5 で「操作は許可されていません」というエラーが表示されました。

(アクセサリとiPhoneの通信にはシリアルプログラミングを使用しました)

これについて考えている人はいますか?

ありがとう。

4

3 に答える 3

2

それも私にはうまくいかないので、AppleがiOS5以降でシリアルアクセスをブロックしたと思います。Stefan Esser (Twitter の @i0n1c) は、セキュリティ カンファレンスでこれについて話しました。スライドを待っているので、シリアルに何が起こったのかがわかります

于 2012-03-10T22:20:07.020 に答える
0

同じエラーが発生し、Xcode が自動的に配置する場所ではなく、Cydia アプリが移動するディレクトリにアプリを配置することで解決できました (このヒントは、この関連/同一の投稿の 2 番目のリンクにあります)。

于 2012-05-21T19:42:00.380 に答える
0

これが機能するかどうかはわかりませんが、私が読んだところによると、アプリがサンドボックスにある間は通信のために iPhone のシリアル ポートにアクセスできません。サンドボックスとは、Xcode で [実行] をクリックしてアプリを iDevice に転送すると、アプリがサンドボックス環境に存在することを意味します。この環境では、アプリ/dev/tty.iapがドック コネクタ内のシリアル ポートなどにアクセスできなくなります。私が読んだ 1 つの解決策は、アプリをサンドボックス環境から取り出す必要が/Applications/ある場所へのリンクであるアプリをコピーし、アクセスできるよう にすることです。私が開発しているアプリと関係があります。/var/stash/Applications.XXXXXX//dev/tty.iap

于 2012-07-19T23:01:40.547 に答える