質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Code::Blocks

Code::Blocksはフリーのオープンソースのクロスプラットフォームの統合開発環境 (IDE) です。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

1回答

5929閲覧

ほぼ作り初めのアプリ、Thread 1: EXC_BAD_ACCESS (code=EXC_I386_GPFLT)に関して

murosan

総合スコア9

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Code::Blocks

Code::Blocksはフリーのオープンソースのクロスプラットフォームの統合開発環境 (IDE) です。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2020/03/22 20:43

XcodeにてGoogleMapSDKを使用しマップを使用したアプリを作成しているのですが実行した瞬間にブレークします。
エラー: Thread 1: EXC_BAD_ACCESS (code=EXC_I386_GPFLT)

まだほとんど何もできておりません。

Googleの公式ドキュメント通りに進んだのでなぜエラーを吐くのかが分からずに困っております。

AppDelegateswift

1mport UIKit 2import GoogleMaps 3 4@UIApplicationMain 5class AppDelegate: UIResponder, UIApplicationDelegate { **左のここでエラーが発生** 6 7 8 9 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 10 // Override point for customization after application launch. 11 GMSServices.provideAPIKey("自分のAPIキーを使用しました。") 12 return true 13 } 14 15 // MARK: UISceneSession Lifecycle 16 17 func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { 18 // Called when a new scene session is being created. 19 // Use this method to select a configuration to create the new scene with. 20 return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) 21 } 22 23 func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) { 24 // Called when the user discards a scene session. 25 // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. 26 // Use this method to release any resources that were specific to the discarded scenes, as they will not return. 27 } 28 29 30} 31 32

ViewControllerswift

1import UIKit 2import GoogleMaps 3 4class ViewController: UIViewController { 5 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) 10 let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera) 11 view = mapView 12 13 // Creates a marker in the center of the map. 14 let marker = GMSMarker() 15 marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20) 16 marker.title = "Sydney" 17 marker.snippet = "Australia" 18 marker.map = mapView 19 } 20 21} 22

申し訳ございませんがどなたか教えていただけないでしょうか。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Google の Maps SDK for iOS 公式ドキュメント には、そのコードは viewDidLoad ではなく loadView メソッドに書くようにと書いてありますね。

swift

1class ViewController: UIViewController { 2 3 override func loadView() { // ← viewDidLoad を loadView に変更 4 // super.viewDidLoad() や super.loadView() はたぶん不要 5 6 let camera = ... 7 let mapView = ... 8 view = mapView 9 10 // 以下略

でも、view = mapView ってどうなんだろう…。


やっぱり viewDidLoad に戻して、mapView を view に addSubview するのがいいと思います。

swift

1class ViewController: UIViewController { 2 3 override func viewDidLoad() { // ← viewDidLoad に戻す 4 super.viewDidLoad() // ← これも必要 5 6 let camera = ... 7 let mapView = GMSMapView.map(withFrame: view.frame, camera: camera) // この行と、 8 view.addSubview(mapView) // この行を変更 9 10 // 以下略

投稿2020/03/22 21:43

編集2020/03/23 08:10
hoshi-takanori

総合スコア7901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

murosan

2020/03/23 07:58

ご丁寧にありがとうございます。メソッドをloadViewに変更し、実行したのですがやはりエラーが発生してしまいます。 // view = mapView この部分をコメントアウトするとマップは表示されませんがエラーは消えました。 非常に恐縮なのですが、いくら調べても解決できないためどのようにすればマップが表示できるか教えていただけませんでしょうか??
hoshi-takanori

2020/03/23 08:10

回答に追記しましたが、試してないので、動かなかったらごめんなさい。
murosan

2020/03/23 08:14

動きました!!わざわざご回答いただいて本当にありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問