Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/AEPSampleApp/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ export default function App() {
// For functional components, use useEffect with an empty dependency array.
// For class components, call initializeWithAppId inside componentDidMount.
MobileCore.setLogLevel(LogLevel.DEBUG);
MobileCore.initializeWithAppId("YOUR-APP-ID")
MobileCore.initializeWithAppId("3149c49c3910/473386a6e5b0/launch-6099493a8c97-development")
.then(() => {
console.log("AEP SDK Initialized");
})
Expand Down
4 changes: 2 additions & 2 deletions apps/AEPSampleApp/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,9 @@ android {
buildToolsVersion rootProject.ext.buildToolsVersion
compileSdk rootProject.ext.compileSdkVersion

namespace "com.aepsampleapp"
namespace "com.adobe.marketing.mobile.messagingsample"
defaultConfig {
applicationId "com.aepsampleapp"
applicationId "com.adobe.marketing.mobile.messagingsample"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
OF ANY KIND, either express or implied. See the License for the specific language
governing permissions and limitations under the License.
*/
package com.aepsampleapp
package com.adobe.marketing.mobile.messagingsample

import com.facebook.react.ReactActivity
import com.facebook.react.ReactActivityDelegate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
OF ANY KIND, either express or implied. See the License for the specific language
governing permissions and limitations under the License.
*/
package com.aepsampleapp
package com.adobe.marketing.mobile.messagingsample

import android.app.Application
import com.facebook.react.PackageList
Expand Down
2 changes: 1 addition & 1 deletion apps/AEPSampleApp/android/settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ pluginManagement {
}
plugins { id("com.facebook.react.settings") }

def nodeExecutable = System.getenv("HOME") + "/.nvm/versions/node/v22.13.0/bin/node"
def nodeExecutable = System.getenv("NODE_BINARY") ?: "node"
def cliScript = file("../node_modules/@react-native-community/cli/build/bin.js").absolutePath

extensions.configure(com.facebook.react.ReactSettingsExtension) { ex ->
Expand Down
2 changes: 1 addition & 1 deletion apps/AEPSampleApp/extensions/MessagingView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import {Messaging} from '@adobe/react-native-aepmessaging';
import styles from '../styles/styles';
import {NavigationProps} from '../types/props';

const SURFACES = ['surface1', 'surface2'];
const SURFACES = ['android-cc'];

const messagingExtensionVersion = async () => {
const version = await Messaging.extensionVersion();
Expand Down
127 changes: 69 additions & 58 deletions apps/AEPSampleApp/ios/AEPSampleApp.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

56 changes: 47 additions & 9 deletions apps/AEPSampleApp/ios/Podfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
ENV['RCT_NEW_ARCH_ENABLED'] = '1'

# Resolve react_native_pods.rb with node to allow for hoisting
require Pod::Executable.execute_command('node', ['-p',
'require.resolve(
Expand All @@ -8,9 +10,11 @@ require Pod::Executable.execute_command('node', ['-p',
platform :ios, min_ios_version_supported
prepare_react_native_project!

# Required for AEP SDK with New Architecture - use static frameworks
# This prevents C++ module import errors during the build process
use_frameworks! :linkage => :static
linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
use_frameworks! :linkage => linkage.to_sym
end

target 'aepsampleapp' do
config = use_native_modules!
Expand All @@ -33,13 +37,47 @@ target 'aepsampleapp' do
:mac_catalyst_enabled => false,
:ccache_enabled => true
)

installer.pods_project.targets.each do |t|
if t.name.start_with?("AEP")
t.build_configurations.each do |bc|
bc.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -no-verify-emitted-module-interface'
# AEP pods: Swift settings (static framework / Objective-C interop)
installer.pods_project.targets.each do |target|
if target.name.start_with?('AEP')
target.build_configurations.each do |bc|
bc.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -no-verify-emitted-module-interface'
bc.build_settings['SWIFT_STRICT_CONCURRENCY'] = 'minimal'
bc.build_settings['SWIFT_SUPPRESS_WARNINGS'] = 'YES'
bc.build_settings['SWIFT_EMIT_MODULE_INTERFACE'] = 'NO'
end
end
end
# Fix glog build issue in RN 0.78+: tell CocoaPods not to treat glog as a module
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if target.name == 'glog'
config.build_settings['DEFINES_MODULE'] = 'NO'
end
end
end
# Turbo Module (Objective-C): Clang modules for RCTAEPOptimize; allow non-modular includes for codegen/glog
installer.pods_project.targets.each do |target|
if target.name == 'RCTAEPOptimize'
target.build_configurations.each do |bc|
bc.build_settings['CLANG_ENABLE_MODULES'] = 'YES'
bc.build_settings['CLANG_ENABLE_OBJC_ARC'] = 'YES'
bc.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
end
end
end
# Force link static library so Turbo Module is not stripped (same pattern as AepTurboCore)
installer.aggregate_targets.each do |aggregate_target|
if aggregate_target.name == 'Pods-aepsampleapp'
aggregate_target.user_project.native_targets.each do |native_target|
if native_target.name == 'aepsampleapp'
native_target.build_configurations.each do |bc|
bc.build_settings['OTHER_LDFLAGS'] ||= ['$(inherited)']
bc.build_settings['OTHER_LDFLAGS'] << '-force_load $(PODS_CONFIGURATION_BUILD_DIR)/RCTAEPOptimize/libRCTAEPOptimize.a'
end
end
end
end
end
end
end
end
Loading