Friday, November 7, 2025

How to deploy a ipa file from a terminal

  •  brew install ios-deploy
  • ios-deploy --bundle /path/to/your/app.ipa




How to Trust the Developer Certificate on iPhone

1. Install the App

  • Use Xcode, Apple Configurator, or another tool to install the .ipa on your iPhone.

2. Open Settings on iPhone

  • Go to Settings → General → VPN & Device Management (or Profiles & Device Management on older iOS versions).

3. Find the Developer Profile

  • Under Enterprise App, you’ll see the developer name or organization that signed the app.

4. Trust the Developer

  • Tap the developer name.
  • Tap Trust “[Developer Name]”.
  • Confirm by tapping Trust again.

Now the app should launch without the “Untrusted Enterprise Developer” warning.

Thursday, November 6, 2025

How can I see logs of a connected phone

  • brew install libimobiledevice
  • idevicesyslog | grep NetworkLog

Tuesday, November 4, 2025

How to enable local Ai assistant with Xcode 26

Install ollama

brew install ollama

Start/Stop ollama as a service

brew services start ollama1

Download a model

ollama pull qwen3:32b

ollama pull qwen2.5-coder:7b


Note the default port it is hosted on

Port: 11434




Wednesday, September 3, 2025

HOW TO: Integrating GraphQL into a SwiftUI App with Apollo iOS

Integrating GraphQL into a SwiftUI App

GraphQL makes it easier to fetch only the data your app needs, and Apollo iOS provides the tools to generate strongly-typed Swift code from your GraphQL schema. Here’s a step-by-step guide to setting up GraphQL in a SwiftUI project.


1. Project Setup

  • Create a GraphQL/ folder in your Xcode project.

  • This folder will hold:

    • schema.graphqls

    • Queries.graphql (and Mutations/Subscriptions if needed)

    • Generated files (API.swift)


2. Install Apollo iOS

  1. In Xcode, go to File → Add Packages…

  2. Add the package:

    https://github.com/apollographql/apollo-ios
  3. Select Apollo and ApolloCodegenLib.


3. Download the Schema

Use the Apollo CLI to download your schema from the GraphQL endpoint:

apollo schema:download --endpoint=https://yourapi/graphql schema.graphqls

4. Define Queries

Create a Queries.graphql file in your GraphQL/ folder. Add operations (queries, mutations, subscriptions):

query GetUser { user { id name } }

5. Code Generation

Add a Build Phase Script in Xcode:

apollo codegen generate \ GraphQL/Queries.graphql \ --schema GraphQL/schema.graphqls \ --output-directory GraphQL/

This generates API.swift with strongly-typed models.


6. Create Apollo Client

Create a Network.swift file for a shared client:

import Apollo class Network { static let shared = Network() private(set) lazy var apollo = ApolloClient(url: URL(string: "https://yourapi/graphql")!) }

7. Build ViewModels

Each feature should have its own ViewModel. Example:

import Foundation class UserViewModel: ObservableObject { @Published var user: GetUserQuery.Data.User? @Published var isLoading = false @Published var errorMessage: String? func loadUser() { isLoading = true Network.shared.apollo.fetch(query: GetUserQuery()) { [weak self] result in DispatchQueue.main.async { self?.isLoading = false switch result { case .success(let graphQLResult): self?.user = graphQLResult.data?.user case .failure(let error): self?.errorMessage = error.localizedDescription } } } } }

8. Connect to SwiftUI Views

Use the ViewModel in your SwiftUI view:

import SwiftUI struct UserView: View { @StateObject private var viewModel = UserViewModel() var body: some View { VStack { if let user = viewModel.user { Text(user.name) } else if viewModel.isLoading { ProgressView() } else if let error = viewModel.errorMessage { Text("Error: \(error)") } } .onAppear { viewModel.loadUser() } } }

9. Mutations (Optional)

You can perform mutations using Apollo:

Network.shared.apollo.perform(mutation: UpdateUserMutation(id: "123", name: "New Name")) { result in // handle response }

10. Async/Await (Optional)

Apollo iOS also supports async/await for cleaner code:

Task { do { let result = try await Network.shared.apollo.fetchAsync(query: GetUserQuery()) self.user = result.data?.user } catch { self.errorMessage = error.localizedDescription } }

Monday, August 25, 2025

How to enable Apple Intelligence Ai Assistance in Xcode 26

  • Install ollama
    • brew install --cask ollama
  • Get a coding model
    • # pick ONE to start
      • ollama pull codellama:7b-instruct
    • # or
      • ollama pull mistral:7b-instruct
    • # or
      • ollama pull phi3:3.8b-mini-instruct
  • Validate that llm is running locally
    • curl http://127.0.0.1:11434/v1/models
      • you should see something like "codellama:7b-instruct"
  • Add this to Xcode
    • Xcode ▸ Settings… ▸ Intelligence
    • add Model Provider 


Monday, February 24, 2025

How to watch USB traffic using Wireshark

 

macOS

Capturing USB traffic on macOS is possible since Wireshark 2.4.0, libpcap 1.9.0, and macOS High Sierra, using the XHC20 interface.

In order to capture on that interface, you will first have to run the command

ifconfig XHC20 up

as root, for example by running

sudo ifconfig XHC20 up

https://wiki.wireshark.org/CaptureSetup/USB

Thursday, February 6, 2025

How to convert a MOV file to a MP4 from a Mac terminal

 

download using python 

brew install yt-dlp ffmpeg

update .bash_profile with this function (remember to source)

convert_to_mp4() {
    if [ -z "$1" ]; then
        echo "Usage: convert_to_mp4 <input_file>"
        return 1
    fi

    input_file="$1"
    output_file="${input_file%.*}.mp4"

    ffmpeg -i "$input_file" -vcodec h264 -acodec aac "$output_file"
    echo "Converted: $input_file -> $output_file"
}

How to save YouTube to mp3

download using python 

brew install yt-dlp ffmpeg

command

yt-dlp -x --audio-format mp3 -o "%(title)s.%(ext)s" "YOUTUBE_URL"

save it to .bash_profile as a function (remember to source)


ytmp3() {
    yt-dlp -x --audio-format mp3 --audio-quality 0K -o "%(title)s.%(ext)s" "$1"
}