iOS 開発に関する質問 (2)
11. デバイスをデバッグできません。「リモート プログラムの起動エラー: プロセス 6405 のタスクを取得できませんでした。」
アドホック プロファイルはデバッグをサポートしていません。開発プロファイルに変更します。
12. OTA をダウンロードできず、「アプリケーションをダウンロードできません」というメッセージが表示される
.plist ファイル内のバンドル識別子が正しく書かれていない (または中国語の文字が含まれている)。例:
<key>bundle-identifier</key> <string>com.xxx.--APN--</string>
com.xxx.—APN— は次のとおりです。含まれている中国語 (「--」) を英語に変更する必要があります。
または署名証明書が無効です。 Orgnizer で署名証明書を検出してください。
12. ASIHTTPRequest に EXEC_BAD がよく出現します
ASIHTTPRequest を使用して非同期リクエストを行うと、プログラムがクラッシュすることがよくあります。特にリクエストの処理中 (完了ではない) にビューを切り替えた場合。これは非同期リクエストであるため、リクエスト オブジェクトはいつでもデリゲート (ViewController) を呼び出すことができ、この時点で ViewController が解放されている可能性があります。なぜなら、UIKitは現在表示されていないViewControllerを随時解放してくれるからです。 ViewControllerを切り替えると、隠れていたViewControllerがいつでも解放されます。リクエストが ViewController のデリゲート メソッドをコールバックし、その ViewController がたまたま UIKit によって解放された場合、EXEC_BAD が発生します。公式ドキュメントにも記載されています: リクエストはデリゲートを保持しないため、リクエストの実行中にデリゲートの割り当てが解除される可能性がある場合は、ほとんどの状況でリクエストのデリゲート プロパティをクリアすることが重要です。割り当てが解除されようとしている場合、リクエストのステータスを気にしなくなったので、リクエストをキャンセルすることもできます
したがって、非同期プログラミングに ASIHTTPRequest を使用する場合は、リクエストのデリゲート属性を自分でクリアする必要があります。 delegate(ViewController) の dealloc メソッドでは、次のことを行う必要があります:
[request clearDelegatesAndCancel]; [request release];
もちろん、request を一時変数にすることはできませんが、保持されるメンバー オブジェクト (または属性) にする必要があります。そうでない場合は、dealloc メソッドで clearDelegatesAndCancel を実行できません。
13. -[UIActionSheet showInView:] でのアサーション失敗
メインスレッドでアクションシートを開く:
[selfperformSelectorOnMainThread:@selector(showActionSheet) withObject:nilwaitUntilDone:NO];
showActionSheet メソッド:
-(void) showActionSheet { sheet = [[UIActionSheet alloc] initWithTitle:@"This is my ActionSheet!" delegate:self cancelButtonTitle:@"OK"destructiveButtonTitle:@"Delete Message!" otherButtonTitles:@"Option1", @"Option 2", @"Option 3", nil]; [sheet showInView:self.view]; }
14. RegexKitLite コンパイルエラー
コンパイル時に次のエラーが表示されます:
"_uregex_find", referenced from: _rkl_search in RegexKitLite.o ……
在Build Settgins的Other Linke Flag中加入
-licucore
15、Archive时遇到“ResourceRules.plist:cannot read resources”错误
在build settings中找到Code Signing Resource Rules Path,填入$(SDKROOT)/ResourceRules.plist
16、使用ZombieEnable解决EXEC_BAD_EXCESS错误
这个错误是向一个release对象发送消息导致的。可以通过开启ZombieEnable参数来查找真正的问题。
Edit Scheme,选择Run …Debug,打开Arguments组,在Environment Variables中添加一个参数:
运行程序,当出现EXEC_BAD_EXCESS错误时,控制台中会输出具体出错的信息,比如:
*** -[ITSMTicketCell release]: message sent to deallocated instance0x897e920
直接指明了是由于某个对象在被释放之后,你发送了一条消息给它。
17、 关于Xcode4无法调试2代代老设备的问题
升级到Xcode4以后,你会发现许多程序无法在2代设备(有些3代设备,比如iTouch 3实际上仍然是2代的硬件)上运行了,并且Xcode4仅仅“Running…”就直接“Finished…”了,无论是Xcode控制台还是设备日志中,都没有任何提示。
注意:2代和3代的区别在于cpu架构。2代设备使用ARMv6架构cpu,3代设备使用ARMv7架构cpu。 iPhone 2G/3G,iPod 1G/2G属于ARMv6架构(2代),iPhone3GS/4, iPod 3G,iPad属于ARMv7架构(3代)。
stackoverflow上有关于这个的帖子,其中shapecatcher的答案是最准确的:
http://stackoverflow.com/questions/6378228/switching-from-xcode3-to-xcode4-cant-load-programs-onto-older-ipod-touch
1、打开Target的Build Settings,找到Architectures选项,将其从“$(ARCHS_STANDARD_32_BIT)”修改为“armv6$(ARCHS_STANDARD_32_BIT)”。注意大小写是敏感的。“$(ARCHS_STANDARD_32_BIT)”是一个变量,实际上等同于armv7。
2、Base SDK不需要改变,仍然是Lastest iOS。
3、打开Target的info,找到Required device capabilities,将下面的armv7删除。这个选项是Xcode4自己添加在工程中的默认设置,如果不去掉它,第1步-第2步的工作是无法生效的。
18、“Avalid provisioning profile for this device was not found.”
在你的开发证书中增加该设备的UDID。
19、将设备添加到 portal
连接设备,打开Orgnizer。在设备列表中选中设备,点击右边窗口左下角的“Add to Portal”按钮。或者在设备列的设备上右击,选择“AddDevice to Provisioning Portal”。
20、renew profile
打开Orgnizer,在LIBRARY中选择Provisioning Profiles。在右边窗口选择要renew的profile,点击右下角的“Refresh”按钮。输入Portal的密码,profile将被renew。
21、renew签名证书及设备激活文档
从portal移除过期的签名证书
重新制作开发证书和发布证书
删除开发和部署所用的激活文档(provisioningprofiles)
使用新的证书重新制作用于开发和部署的Provisioningprofiles
从钥匙串中删除老的证书
在XcodeOrganizer中安装新的provisioning profiles
完成
以上就是iOS 开发百问(2)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









毎年恒例の WWDC が終了し、間違いなく iOS18 がみんなの注目の的になっています。現在、多くのiPhoneユーザーがiOS18へのアップグレードを急いでいますが、さまざまなシステムバグが人々を不快にさせています。一部のブロガーは、「バグが非常に多い」ため、iOS18にアップグレードする場合は注意する必要があると述べています。このブロガーは、iPhoneがメインマシンの場合、最初のバージョンには多くのバグがあるため、iOS18にアップグレードしないことをお勧めすると述べています。また、現在発生しているいくつかのシステム バグについてもまとめました。 1. アイコン スタイルの切り替えが停止し、アイコンが表示されない場合があります。 2. 懐中電灯の幅のアニメーションが失われることがよくあります。 4. WeChat メッセージのプッシュに遅延が発生します。 10 秒。時々電話ができなくなり、画面が真っ暗になります。

手がかりを提出してくれたネチズンの Ji yingkesi、xxx_x、フライド トマト、テレンス、スパイシー チキン ドラムスティックに感謝します。 7 月 27 日のニュースによると、Apple は本日、開発者向けに iOS/iPadOS 18 Beta 4 アップデートを再リリースしました。内部バージョン番号は 22A5316j から 22A5316k にアップグレードされました。現時点では、2 つの Beta 4 バージョン アップデートの違いは不明です。登録された開発者は、「設定」アプリを開いて「ソフトウェア アップデート」セクションに入り、「ベータ アップデート」オプションをクリックして、iOS18/iPadOS18 開発者ベータ設定を切り替えてベータ バージョンを選択できます。ベータ版をダウンロードしてインストールするには、開発者アカウントに関連付けられた Apple ID が必要です。 iO 7 月 24 日の報道

7月31日のニュースによると、Appleは昨日(7月30日)プレスリリースを発行し、Swiftプログラミング言語で準同型暗号化を可能にする新しいオープンソースSwiftパッケージ(swift-homomorphic-encryption)のリリースを発表した。注: 準同型暗号 (HE) とは、暗号文の準同型演算特性を満たす暗号アルゴリズムを指します。つまり、データを準同型暗号化した後、暗号文に対して特定の計算を実行し、得られた暗号文の計算結果を同時に処理します。状態復号後の平文は、平文データに対して同じ計算を直接実行することと同等であり、データの「不可視性」が実現されます。準同型暗号技術は、基になる暗号化されていないデータを運用プロセスに漏らすことなく、暗号化データを計算できます。

更新: Saunders Tech は、EU 外の iPad に Fortnite と Epic Games Store をインストールする方法を説明するチュートリアルを YouTube チャンネルにアップロードしました (ビデオは下に埋め込まれています)。ただし、このプロセスには iO の特定のベータ版が必要なだけではありません。

6月1日のニュースによると、テクノロジーメディアAppleInsiderは本日ブログ投稿を公開し、AppleがiOS18システムの「Freeform」アプリケーション拡張機能の「Scenes」の新しいナビゲーション機能を開始し、オブジェクトの位置合わせの新しいオプションを追加すると述べた。 「Wubianji」アプリの紹介 まず、「Wubianji」アプリについて簡単に紹介します。このアプリは 2022 年にリリースされ、現在 iOS、iPadOS、macOS15、visionOS バージョンがリリースされています。 Apple の公式紹介文は次のとおりです。「Boundless Notes」は、インスピレーションを現実にするための優れたツールです。ほぼすべてのファイル タイプをサポートする柔軟なキャンバスで、プロジェクトをスケッチしたり、ムードボードをデザインしたり、ブレインストーミングを開始したりできます。 iCloud を使えば、すべてのボードを

[アップグレード チュートリアルに直接アクセスするには、ここをクリックしてください] 5 月 8 日のニュースによると、Apple は本日、iOS17.5RC アップデート (内部バージョン番号: 21F79) を iPhone ユーザーにプッシュしました。このアップデートは最後のリリースから 70 日後です。 iOS/iPadOS/watchOS/macOS 開発版とパブリックベータ版をアップグレードするにはどうすればよいですか? iOS/iPadOS17 開発者プレビュー版およびパブリック ベータ版をアップグレードするには、友人が共有したエクスペリエンスを参照できます: エクスペリエンス 投稿 1||エクスペリエンス 投稿 2||エクスペリエンス 投稿 3||エクスペリエンス 投稿 4。 iOS/iPadOS 16.4 Developer Preview Beta 1 からは、Apple Developer Program に登録する必要があります。登録後、システムの [設定] [ソフトウェア アップデート] を開き、アップグレード オプションを表示します。 iPhone または IP アドレスに注意してください。

ネチズンのおかげでスパイシーチキンレッグバーガー、ソフトメディアの新しい友達2092483、手書きの過去、DingHao、Xiaoxing_14、Wowotou Eat Big Kou、Feiying Q、ソフトメディアの新しい友達2168428、Slades、Aaron212、ハッピーリトルハリネズミ、リトルアール、小さな手がかり魚を食べるミルクキャット! [アップグレード チュートリアルに直接アクセスするには、ここをクリックしてください] 7 月 24 日のニュースによると、Apple は本日、iOS/iPadOS18 開発者プレビュー バージョン Beta4 アップデート (内部バージョン番号: 22A5316j) を iPhone および iPad ユーザーにプッシュしました。このアップデートは 15 日後です。最後のリリース。 Carplay 壁紙 Apple が CarPlay に壁紙を追加し、ライトモードとダークモードをカバーしています。その壁紙スタイルは iPhone に似ています。

実用的な共有... Apple が新しい iOS バージョンを発表し続ける中、多くの iPhone ユーザーはシステムをアップグレードするかどうかの選択に直面しています。最新のiOS17.5Beta3のリリースは、特にiPhone12ユーザーにとって、既存のiOS16を放棄して新しいベータ版を試すべきかどうか、議論する価値のある問題となっています。この記事では、実際の経験に基づいて、iPhone 12 を iOS 17.5 Beta 3 にアップグレードすることの長所と短所を分析し、大多数の Apple ファンに参考にしていただきます。まず第一に、ベータ版は通常、一定のリスクを負う開発者または早期採用者によって使用されることを明確にする必要があります。これは、正式版と比較して、ベータ版には以下の内容が含まれる可能性があることを意味します。
