You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: iOS/APIExample-Audio/AGENTS.md
+5-24Lines changed: 5 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,31 +18,12 @@ static let AppId: String = "YOUR_APP_ID"
18
18
staticlet Certificate: String?=nil// leave nil if App Certificate is not enabled
19
19
```
20
20
21
-
## How to Add a New Case
21
+
## Skills
22
22
23
-
See `ARCHITECTURE.md` for the full registration mechanism. The required steps are:
24
-
25
-
1. Create an example folder under `APIExample-Audio/Examples/Basic/` or `APIExample-Audio/Examples/Advanced/`:
26
-
-`<ExampleName>.swift` containing both `<ExampleName>Entry` and `<ExampleName>Main` classes
27
-
-`Base.lproj/<ExampleName>.storyboard` with two scenes: Entry and Main
28
-
29
-
2. Add a `MenuItem` to the `menus` array in `APIExample-Audio/ViewController.swift`:
30
-
```swift
31
-
MenuItem(name: "My New Case".localized, storyboard: "MyNewCase", controller: "MyNewCase")
32
-
```
33
-
34
-
3. Build and run — the case appears in the list.
35
-
36
-
## Architecture Red Lines
37
-
38
-
- Do NOT call `enableVideo()`, `setupLocalVideo()`, `setupRemoteVideo()`, or any camera-related APIs — `AgoraAudio_iOS` has no video module and will crash at runtime.
39
-
- Do NOT add video, screen sharing, or beauty cases — use `APIExample/` instead.
40
-
- Do NOT use SwiftUI — this project is UIKit + Storyboards only.
41
-
- Do NOT introduce Objective-C files — this project is Swift only.
42
-
- Each case must create and destroy its own `AgoraRtcEngineKit` instance.
43
-
- Always call `agoraKit.leaveChannel()` before `AgoraRtcEngineKit.destroy()` when the screen is dismissed.
44
-
-`AgoraRtcEngineDelegate` callbacks may arrive on a background thread — dispatch UI updates to the main thread.
45
-
- Always request microphone permission before calling `joinChannel()`. Audio cases only need `RECORD_AUDIO`.
0 commit comments