Posts

Post marked as solved
6 Replies
1.6k Views
Hi! Here comes another question related to the KMLViewer MapKit example: My KML file contains 11 annotations in the form of MKPointAnnotation. Each of them contain a text, which can be found in '_title', in the Xcode debugger. But it is not displayed on the map (MKMapView). Can any one help me figure out why? Thank you! The KMLViewer can be found here: https://github.com/ooper-shlab/KMLViewer-Swift It can be imported directly in Xcode.
Posted
by HenrikRo.
Last updated
.
Post marked as solved
14 Replies
2.2k Views
My question yesterday - https://developer.apple.com/forums/thread/680107 - was probably to complex for anyone to want to try to answer, I am sorry! So now I will break it up, and start with a smaller question: I am trying to show 10 simple lines on a map with Map Kit. The lines have been loaded into a list called 'overlays' by a module called KMLviewer, or more exactly KMLparser, inside KMLviewer - from https://github.com/ooper-shlab/KMLViewer-Swift . As you can see from my debugging log below, 'overlays' is a list of elements of the type 'MKOverlay', although in reality they are all MKPolyline(s). So how do I access the 2 geographic points that make up each line? MKPolyline inherits from MKMultiPoint, which has a function: func points() - UnsafeMutablePointerMKMapPoint "Returns an array of map points associated with the shape. " But as you can see from my debugging below, I can't seem to access that function, now that the MKPolyline is "inside" an MKOverlay. So how do I access the points?: (lldb) po overlays ▿ 10 elements     - 0 : MKPolyline: 0x60000368bc60     - 1 : MKPolyline: 0x60000368bcd0     - 2 : MKPolyline: 0x60000368bd40     - 3 : MKPolyline: 0x60000368bdb0     - 4 : MKPolyline: 0x60000368be20     - 5 : MKPolyline: 0x60000368be90     - 6 : MKPolyline: 0x60000368bf00     - 7 : MKPolyline: 0x60000368bf70     - 8 : MKPolyline: 0x600003690000     - 9 : MKPolyline: 0x600003690070 (lldb) po overlays[0] MKPolyline: 0x60000368bc60 (lldb) po overlays[0].coordinate ▿ CLLocationCoordinate2D     - latitude : 64.47726683920816     - longitude : -21.420572185955933 (lldb) po overlays[0].points() error: EXPR:3:13: error: value of type 'MKOverlay' has no member 'points' overlays[0].points() ~~~ ^~ (lldb)
Posted
by HenrikRo.
Last updated
.
Post marked as solved
3 Replies
1.1k Views
Hi! Years ago Apple created an MKMapView demo called KMLViewer. It includes a KMLParser that reads a KML file and converts the data to Map Kit classes. Originally it was in Obj. C, but someone translated it to Swift, and put it here: https://github.com/ooper-shlab/KMLViewer-Swift I imported it directly into Xcode and made it read a KML file I have created. It correctly finds 10 overlays in the form of MKPolyline and 11 annotations in the form of MKPointAnnotation, but they are not shown/displayed correctly. The biggest problem is that the lines are totally missing. And when I look at the overlays I can't seem to find the 2 geographic points/positions/locations that describes each line. I am not sure how to make Xcode print out the content of the MKPolyline(s) instances in a way I can include here as text, and it seems you can't attach a screenshot here either, but I have managed to put the screenshot here: transformation.dk/deling/screenshot-overlays-MKPolyline-2021-05-13.png So you can see the content as I found it. It seems to correctly indicate that the MKPolyline consists of 2 geographic points, but I haven't been able to find the points themselves... On the annotations I was able to find the point, in the Xcode debugger, in this way: (lldb) po annotations[0].coordinate I hope someone can help me understand what is going on, and how to find the relevant debugging/tracking information in Xcode. I am a bit surprised that I had to specifically write ".coordinate" in "po annotations[0].coordinate" in order to find the geographic point of the annotation! I am aware that the problem might also be the MKPolylineRenderer class or the mapView:rendererForOverlay: method, so I have included the references to those in KMLviewer below: swift override func createOverlayPathRenderer(_ shape: MKShape) - MKOverlayPathRenderer? { let polyLine = MKPolylineRenderer(polyline: shape as! MKPolyline) return polyLine } (EDIT: PS: The following code was display incorrectly in the preview...:) swift func rendererForOverlay(_ overlay: MKOverlay) - MKOverlayRenderer? { // Find the KMLPlacemark object that owns this overlay and get // the view from it. for placemark in _placemarks { if placemark.overlay === overlay { return placemark.overlayPathRenderer } } return nil }
Posted
by HenrikRo.
Last updated
.
Post marked as solved
3 Replies
1.1k Views
Hi I am an absolute beginner in Swift. A friend helped me setup a test app that displays a map using Map Kit. This is the part that creates the actually map: class KMLViewerViewController: UIViewController, MKMapViewDelegate { let map = MKMapView() // etc. ... } I tried to set mapType to hybridFlyover in different ways, like this for instance: let map = MKMapView(.mapType = .hybridFlyover ) But everything returns an error... Can any one help me, please? Where can I find an explanation of swift syntax?
Posted
by HenrikRo.
Last updated
.
Post not yet marked as solved
0 Replies
833 Views
Hi! In App Store Connect - here - https://appstoreconnect.apple.com/apps/1563922454/appstore/ios/version/inflight - I am supposed to drag previews and screenshots in, in the form of image files I presume. But that is not possible. At least not here in Firefox 87.0 (64-bit), when dragging from Finder. And when I press "Save" even the following text disappears: " Drag up to 3 app previews and 10 screenshots here. We’ll use these for all iPhone display sizes and localizations you select. " So how am I supposed to enter the image files? EDIT: After updating and restarting Firefox, now ver. 88.0, it suddenly works!
Posted
by HenrikRo.
Last updated
.
Post marked as solved
4 Replies
2.8k Views
Following a 2 years old video about Xcode, I created app icons and launch images using fanstudio.co.uk/appicon. I then copied the app icons into this folder: my project / Resources / Images.xcassets / AppIcon-1 And the launch images into this folder: my project / Resources / Images.xcassets / LaunchImage Then I was able to choose the app icons in Xcode: Project Navigator - Targets - General - App Icons Source. But I can't choose the launch images. There is nothing to choose from under "Launch Screen File:", and the "Launch Images Source:" option (shown in the video) is not there. So how do I get my launch images into my Xcode project? PS: Apple does not allow me to write the URL for the youtube video here, but it's called "iOS App in Python with Kivy - Part 15: App Icon and Launch Screen"...
Posted
by HenrikRo.
Last updated
.
Post not yet marked as solved
3 Replies
1.1k Views
Hi! My Python-Kivy app works on iOS now! Both on the Xcode iPhone 7 simulator AND on a physical iPhone 7. But when I deploy it on the physical iPhone 7 I get 85 annoying warnings of this form: ld: warning: building for iOS, but linking in .tbd file (filename.tbd) built for iOS Simulator What can I do about that? Thank you. Henrik
Posted
by HenrikRo.
Last updated
.
Post marked as solved
13 Replies
2.5k Views
Hi! I tested my app on an iPhone 8 simulator in Xcode without problems, but when I tried to run it on a physical iPhone 5s I get an error saying that I can't write a file. Why? Where do I change that?: PermissionError: [Errno 1] Operation not permitted: 'geo-esp-train.cfg' 2021-02-28 23:09:59.085006+0100 geo-esp-training[457:91293] Application quit abnormally! 2021-02-28 23:09:59.294003+0100 geo-esp-training[457:91293] Leaving
Posted
by HenrikRo.
Last updated
.
Post marked as solved
3 Replies
2.1k Views
Hi! I am new to Xcode and iOS apps, but I managed to build and test my app in the iPhone 8 simulator. I am using my Apple ID as 'developer team'. And I have approved that on my iPhone. When I deploy my app on my iPhone 5s (running iOS 12.5.1) it builds without problems, but when I try to run it by pressing the icon, the debug log shows this error: Got dlopen error on Foundation: dlopen(/System/Library/Frameworks/Foundation.framework/Versions/Current/Foundation, 1): image not found Got fallback dlopen error on Foundation: dlopen(/Groups/System/Library/Frameworks/Foundation.framework/Versions/Current/Foundation, 1): image not found 2021-02-28 23:09:59.023510+0100 geo-esp-training[457:91731] XPC connection interrupted Can any one please tell me what's the problem? I can add that I am using a MacBook Pro (Mid 2012) running MacOS Catalina 10.15.7 and Xcode Version 12.4. The app is actually a Python app using the Kivy interface framework. Thank you! Henrik R. This is the whole log output from Xcode: 2021-02-28 23:09:53.270436+0100 geo-esp-training[457:91714] [DYMTLInitPlatform] platform initialization successful 2021-02-28 23:09:53.757600+0100 geo-esp-training[457:91293] [framework] CUIThemeStore: No theme registered with id=0 2021-02-28 23:09:54.007960+0100 geo-esp-training[457:91293] Available orientation: KIVY_ORIENTATION=LandscapeLeft LandscapeRight Portrait PortraitUpsideDown 2021-02-28 23:09:54.008907+0100 geo-esp-training[457:91293] Initializing python 2021-02-28 23:09:54.536792+0100 geo-esp-training[457:91293] Running main.py: /var/containers/Bundle/Application/2C4A20A0-A9AA-4AC7-B8A7-1A6322B17DD9/geo-esp-training.app/YourApp/main.pyc [INFO ] [Kivy ] v2.1.0.dev0 [INFO ] [Kivy ] Installed at "/var/containers/Bundle/Application/2C4A20A0-A9AA-4AC7-B8A7-1A6322B17DD9/geo-esp-training.app/lib/python3.8/site-packages/kivy/__init__.py" [INFO ] [Python ] v3.8.2 (default, Feb 26 2021, 22:00:00) [Clang 12.0.0 (clang-1200.0.32.29)] [INFO ] [Python ] Interpreter at "/var/containers/Bundle/Application/2C4A20A0-A9AA-4AC7-B8A7-1A6322B17DD9/geo-esp-training.app/geo-esp-training" [INFO ] [Factory ] 186 symbols loaded [INFO ] [Image ] Providers: img_imageio, img_tex (img_dds, img_sdl2, img_ffpyplayer, img_pil ignored) [INFO ] [Text ] Provider: sdl2 [INFO ] [Video ] Provider: null(['video_ffmpeg', 'video_ffpyplayer'] ignored) Got dlopen error on Foundation: dlopen(/System/Library/Frameworks/Foundation.framework/Versions/Current/Foundation, 1): image not found Got fallback dlopen error on Foundation: dlopen(/Groups/System/Library/Frameworks/Foundation.framework/Versions/Current/Foundation, 1): image not found 2021-02-28 23:09:59.023510+0100 geo-esp-training[457:91731] XPC connection interrupted [WARNING] [Factory ] Ignored class "ScalableLabel" re-declaration. Current - module: None, cls: class 'sharebox_ubuntu.ScalableLabel', baseclass: None, filename: None. Ignored - module: None, cls: None, baseclass: Label, filename: /private/var/containers/Bundle/Application/2C4A20A0-A9AA-4AC7-B8A7-1A6322B17DD9/geo-esp-training.app/YourApp/MyTabbedPanel.kv. Traceback (most recent call last): File "/Users/henrik/geo-esp-training-ios/YourApp/main.py", line 252, in module File "/Users/henrik/geo-esp-training-ios/YourApp/main.py", line 180, in __init__ PermissionError: [Errno 1] Operation not permitted: 'geo-esp-train.cfg' 2021-02-28 23:09:59.085006+0100 geo-esp-training[457:91293] Application quit abnormally! 2021-02-28 23:09:59.294003+0100 geo-esp-training[457:91293] Leaving
Posted
by HenrikRo.
Last updated
.